mirror of
https://codeberg.org/demostf/api.git
synced 2026-06-03 09:54:17 +02:00
Add php-cs-fixer
This commit is contained in:
parent
e00e6ece5f
commit
309ae17036
54 changed files with 4900 additions and 4106 deletions
|
|
@ -13,187 +13,187 @@ use Demostf\API\Providers\UserProvider;
|
|||
use Demostf\API\Test\TestCase;
|
||||
|
||||
class DemoProviderTest extends TestCase {
|
||||
/** @var DemoProvider */
|
||||
private $provider;
|
||||
/** @var DemoProvider */
|
||||
private $provider;
|
||||
|
||||
/** @var UserProvider */
|
||||
private $userProvider;
|
||||
/** @var UserProvider */
|
||||
private $userProvider;
|
||||
|
||||
/** @var PlayerProvider */
|
||||
private $playerProvider;
|
||||
/** @var PlayerProvider */
|
||||
private $playerProvider;
|
||||
|
||||
/** @var KillProvider */
|
||||
private $killProvider;
|
||||
/** @var KillProvider */
|
||||
private $killProvider;
|
||||
|
||||
public function setUp() {
|
||||
parent::setUp();
|
||||
public function setUp() {
|
||||
parent::setUp();
|
||||
|
||||
$this->provider = new DemoProvider($this->getDatabaseConnection());
|
||||
$this->userProvider = new UserProvider($this->getDatabaseConnection(), $this->getRandomGenerator());
|
||||
$this->playerProvider = new PlayerProvider($this->getDatabaseConnection());
|
||||
$this->killProvider = new KillProvider($this->getDatabaseConnection());
|
||||
}
|
||||
$this->provider = new DemoProvider($this->getDatabaseConnection());
|
||||
$this->userProvider = new UserProvider($this->getDatabaseConnection(), $this->getRandomGenerator());
|
||||
$this->playerProvider = new PlayerProvider($this->getDatabaseConnection());
|
||||
$this->killProvider = new KillProvider($this->getDatabaseConnection());
|
||||
}
|
||||
|
||||
public function testGetNonExisting() {
|
||||
$this->assertNull($this->provider->get(1));
|
||||
}
|
||||
public function testGetNonExisting() {
|
||||
$this->assertNull($this->provider->get(1));
|
||||
}
|
||||
|
||||
public function testStoreRetrieve() {
|
||||
$uploaderSteamId = $this->getSteamId('12345', 'test');
|
||||
$this->userProvider->store($uploaderSteamId);
|
||||
public function testStoreRetrieve() {
|
||||
$uploaderSteamId = $this->getSteamId('12345', 'test');
|
||||
$this->userProvider->store($uploaderSteamId);
|
||||
|
||||
$uploader = $this->userProvider->get($uploaderSteamId->getSteamId64());
|
||||
$uploader = $this->userProvider->get($uploaderSteamId->getSteamId64());
|
||||
|
||||
$demo = new Demo(
|
||||
0,
|
||||
'http://example.com',
|
||||
'name',
|
||||
'server',
|
||||
12,
|
||||
'nick',
|
||||
'map',
|
||||
new \DateTime(),
|
||||
'RED',
|
||||
'BLUE',
|
||||
1,
|
||||
2,
|
||||
18,
|
||||
$uploader->getId(),
|
||||
'hash',
|
||||
'dummy',
|
||||
'path'
|
||||
);
|
||||
$demo->setUploaderUser($uploader);
|
||||
$demo = new Demo(
|
||||
0,
|
||||
'http://example.com',
|
||||
'name',
|
||||
'server',
|
||||
12,
|
||||
'nick',
|
||||
'map',
|
||||
new \DateTime(),
|
||||
'RED',
|
||||
'BLUE',
|
||||
1,
|
||||
2,
|
||||
18,
|
||||
$uploader->getId(),
|
||||
'hash',
|
||||
'dummy',
|
||||
'path'
|
||||
);
|
||||
$demo->setUploaderUser($uploader);
|
||||
|
||||
$id = $this->provider->storeDemo($demo, 'dummy', 'path');
|
||||
$id = $this->provider->storeDemo($demo, 'dummy', 'path');
|
||||
|
||||
$retrieved = $this->provider->get($id);
|
||||
$this->assertInstanceOf(Demo::class, $retrieved);
|
||||
$retrieved = $this->provider->get($id);
|
||||
$this->assertInstanceOf(Demo::class, $retrieved);
|
||||
|
||||
$storedData = $demo->jsonSerialize();
|
||||
$storedData['id'] = $id;
|
||||
$storedData = $demo->jsonSerialize();
|
||||
$storedData['id'] = $id;
|
||||
|
||||
$this->assertEquals($storedData, $retrieved->jsonSerialize());
|
||||
$this->assertEquals($storedData, $retrieved->jsonSerialize());
|
||||
|
||||
$this->assertEquals($id, $this->provider->demoIdByHash('hash'));
|
||||
}
|
||||
$this->assertEquals($id, $this->provider->demoIdByHash('hash'));
|
||||
}
|
||||
|
||||
public function testRetrieveWithPlayers() {
|
||||
$uploaderSteamId = $this->getSteamId('12345', 'test');
|
||||
$this->userProvider->store($uploaderSteamId);
|
||||
public function testRetrieveWithPlayers() {
|
||||
$uploaderSteamId = $this->getSteamId('12345', 'test');
|
||||
$this->userProvider->store($uploaderSteamId);
|
||||
|
||||
$steamId1 = $this->getSteamId('1', 'u1');
|
||||
$steamId2 = $this->getSteamId('2', 'u2');
|
||||
$steamId3 = $this->getSteamId('3', 'u3');
|
||||
$steamId4 = $this->getSteamId('4', 'u4');
|
||||
$steamId1 = $this->getSteamId('1', 'u1');
|
||||
$steamId2 = $this->getSteamId('2', 'u2');
|
||||
$steamId3 = $this->getSteamId('3', 'u3');
|
||||
$steamId4 = $this->getSteamId('4', 'u4');
|
||||
|
||||
$this->userProvider->store($steamId1);
|
||||
$this->userProvider->store($steamId2);
|
||||
$this->userProvider->store($steamId3);
|
||||
$this->userProvider->store($steamId4);
|
||||
$this->userProvider->store($steamId1);
|
||||
$this->userProvider->store($steamId2);
|
||||
$this->userProvider->store($steamId3);
|
||||
$this->userProvider->store($steamId4);
|
||||
|
||||
$user1 = $this->userProvider->get($steamId1->getSteamId64());
|
||||
$user2 = $this->userProvider->get($steamId2->getSteamId64());
|
||||
$user3 = $this->userProvider->get($steamId3->getSteamId64());
|
||||
$user4 = $this->userProvider->get($steamId4->getSteamId64());
|
||||
$user1 = $this->userProvider->get($steamId1->getSteamId64());
|
||||
$user2 = $this->userProvider->get($steamId2->getSteamId64());
|
||||
$user3 = $this->userProvider->get($steamId3->getSteamId64());
|
||||
$user4 = $this->userProvider->get($steamId4->getSteamId64());
|
||||
|
||||
$uploader = $this->userProvider->get($uploaderSteamId->getSteamId64());
|
||||
$uploader = $this->userProvider->get($uploaderSteamId->getSteamId64());
|
||||
|
||||
$demo = new Demo(
|
||||
0,
|
||||
'http://example.com',
|
||||
'name',
|
||||
'server',
|
||||
12,
|
||||
'nick',
|
||||
'map',
|
||||
new \DateTime(),
|
||||
'RED',
|
||||
'BLUE',
|
||||
1,
|
||||
2,
|
||||
18,
|
||||
$uploader->getId(),
|
||||
'hash',
|
||||
'backend',
|
||||
'path',
|
||||
'dummy',
|
||||
'path'
|
||||
);
|
||||
$demo = new Demo(
|
||||
0,
|
||||
'http://example.com',
|
||||
'name',
|
||||
'server',
|
||||
12,
|
||||
'nick',
|
||||
'map',
|
||||
new \DateTime(),
|
||||
'RED',
|
||||
'BLUE',
|
||||
1,
|
||||
2,
|
||||
18,
|
||||
$uploader->getId(),
|
||||
'hash',
|
||||
'backend',
|
||||
'path',
|
||||
'dummy',
|
||||
'path'
|
||||
);
|
||||
|
||||
$id = $this->provider->storeDemo($demo, 'dummy', 'path');
|
||||
$player1 = $this->addPlayer($id, 101, $user1->getId(), 'red', 'scout');
|
||||
$player2 = $this->addPlayer($id, 102, $user2->getId(), 'red', 'soldier');
|
||||
$player3 = $this->addPlayer($id, 103, $user3->getId(), 'blue', 'engineer');
|
||||
$player4 = $this->addPlayer($id, 104, $user4->getId(), 'blue', 'spy');
|
||||
$id = $this->provider->storeDemo($demo, 'dummy', 'path');
|
||||
$player1 = $this->addPlayer($id, 101, $user1->getId(), 'red', 'scout');
|
||||
$player2 = $this->addPlayer($id, 102, $user2->getId(), 'red', 'soldier');
|
||||
$player3 = $this->addPlayer($id, 103, $user3->getId(), 'blue', 'engineer');
|
||||
$player4 = $this->addPlayer($id, 104, $user4->getId(), 'blue', 'spy');
|
||||
|
||||
$this->addKill($id, $user1->getId(), 0, $user3->getId(), 'pan');
|
||||
$this->addKill($id, $user1->getId(), $user2->getId(), $user3->getId(), 'pan');
|
||||
$this->addKill($id, $user4->getId(), 0, $user1->getId(), 'pan');
|
||||
$this->addKill($id, $user1->getId(), 0, $user3->getId(), 'pan');
|
||||
$this->addKill($id, $user1->getId(), $user2->getId(), $user3->getId(), 'pan');
|
||||
$this->addKill($id, $user4->getId(), 0, $user1->getId(), 'pan');
|
||||
|
||||
$retrieved = $this->provider->get($id, true);
|
||||
$this->assertInstanceOf(Demo::class, $retrieved);
|
||||
$retrieved = $this->provider->get($id, true);
|
||||
$this->assertInstanceOf(Demo::class, $retrieved);
|
||||
|
||||
$players = $retrieved->getPlayers();
|
||||
$this->assertCount(4, $players);
|
||||
usort($players, function (DemoPlayer $a, DemoPlayer $b) {
|
||||
return $a->getUserId() - $b->getUserId();
|
||||
});
|
||||
$this->assertEquals([
|
||||
new DemoPlayer($player1, $user1->getId(), 'user_' . $user1->getId(), 'red', 'scout', '1', 'foo_medium.jpg', 2, 0, 1),
|
||||
new DemoPlayer($player2, $user2->getId(), 'user_' . $user2->getId(), 'red', 'soldier', '2', 'foo_medium.jpg', 0, 1, 0),
|
||||
new DemoPlayer($player3, $user3->getId(), 'user_' . $user3->getId(), 'blue', 'engineer', '3', 'foo_medium.jpg', 0, 0, 2),
|
||||
new DemoPlayer($player4, $user4->getId(), 'user_' . $user4->getId(), 'blue', 'spy', '4', 'foo_medium.jpg', 1, 0, 0),
|
||||
], $players);
|
||||
}
|
||||
$players = $retrieved->getPlayers();
|
||||
$this->assertCount(4, $players);
|
||||
usort($players, function (DemoPlayer $a, DemoPlayer $b) {
|
||||
return $a->getUserId() - $b->getUserId();
|
||||
});
|
||||
$this->assertEquals([
|
||||
new DemoPlayer($player1, $user1->getId(), 'user_' . $user1->getId(), 'red', 'scout', '1', 'foo_medium.jpg', 2, 0, 1),
|
||||
new DemoPlayer($player2, $user2->getId(), 'user_' . $user2->getId(), 'red', 'soldier', '2', 'foo_medium.jpg', 0, 1, 0),
|
||||
new DemoPlayer($player3, $user3->getId(), 'user_' . $user3->getId(), 'blue', 'engineer', '3', 'foo_medium.jpg', 0, 0, 2),
|
||||
new DemoPlayer($player4, $user4->getId(), 'user_' . $user4->getId(), 'blue', 'spy', '4', 'foo_medium.jpg', 1, 0, 0),
|
||||
], $players);
|
||||
}
|
||||
|
||||
private function addPlayer(int $demoId, int $demoUserId, int $userId, string $team, string $class): int {
|
||||
$player = new Player(0, $demoId, $demoUserId, $userId, 'user_' . $userId, $team, $class);
|
||||
return $this->playerProvider->store($player);
|
||||
}
|
||||
private function addPlayer(int $demoId, int $demoUserId, int $userId, string $team, string $class): int {
|
||||
$player = new Player(0, $demoId, $demoUserId, $userId, 'user_' . $userId, $team, $class);
|
||||
return $this->playerProvider->store($player);
|
||||
}
|
||||
|
||||
private function addKill(int $demoId, int $attackerId, int $assisterId, int $victimId, string $weapon): int {
|
||||
$kill = new Kill(0, $demoId, $attackerId, $assisterId, $victimId, $weapon);
|
||||
return $this->killProvider->store($kill);
|
||||
}
|
||||
private function addKill(int $demoId, int $attackerId, int $assisterId, int $victimId, string $weapon): int {
|
||||
$kill = new Kill(0, $demoId, $attackerId, $assisterId, $victimId, $weapon);
|
||||
return $this->killProvider->store($kill);
|
||||
}
|
||||
|
||||
public function testSetDemoUrl() {
|
||||
$uploaderSteamId = $this->getSteamId('12345', 'test');
|
||||
$this->userProvider->store($uploaderSteamId);
|
||||
public function testSetDemoUrl() {
|
||||
$uploaderSteamId = $this->getSteamId('12345', 'test');
|
||||
$this->userProvider->store($uploaderSteamId);
|
||||
|
||||
$uploader = $this->userProvider->get($uploaderSteamId->getSteamId64());
|
||||
$uploader = $this->userProvider->get($uploaderSteamId->getSteamId64());
|
||||
|
||||
$demo = new Demo(
|
||||
0,
|
||||
'http://example.com',
|
||||
'name',
|
||||
'server',
|
||||
12,
|
||||
'nick',
|
||||
'map',
|
||||
new \DateTime(),
|
||||
'RED',
|
||||
'BLUE',
|
||||
1,
|
||||
2,
|
||||
18,
|
||||
$uploader->getId(),
|
||||
'hash',
|
||||
'dummy',
|
||||
'path'
|
||||
);
|
||||
$demo = new Demo(
|
||||
0,
|
||||
'http://example.com',
|
||||
'name',
|
||||
'server',
|
||||
12,
|
||||
'nick',
|
||||
'map',
|
||||
new \DateTime(),
|
||||
'RED',
|
||||
'BLUE',
|
||||
1,
|
||||
2,
|
||||
18,
|
||||
$uploader->getId(),
|
||||
'hash',
|
||||
'dummy',
|
||||
'path'
|
||||
);
|
||||
|
||||
$id = $this->provider->storeDemo($demo, 'dummy', 'path');
|
||||
$id2 = $this->provider->storeDemo($demo, 'dummy', 'path');
|
||||
$id = $this->provider->storeDemo($demo, 'dummy', 'path');
|
||||
$id2 = $this->provider->storeDemo($demo, 'dummy', 'path');
|
||||
|
||||
$this->provider->setDemoUrl($id, 'foobackend', 'http://foo.example.com', 'bar');
|
||||
$this->provider->setDemoUrl($id, 'foobackend', 'http://foo.example.com', 'bar');
|
||||
|
||||
$storedDemo = $this->provider->get($id);
|
||||
$this->assertEquals('http://foo.example.com', $storedDemo->getUrl());
|
||||
$this->assertEquals('foobackend', $storedDemo->getBackend());
|
||||
$this->assertEquals('bar', $storedDemo->getPath());
|
||||
$storedDemo = $this->provider->get($id);
|
||||
$this->assertEquals('http://foo.example.com', $storedDemo->getUrl());
|
||||
$this->assertEquals('foobackend', $storedDemo->getBackend());
|
||||
$this->assertEquals('bar', $storedDemo->getPath());
|
||||
|
||||
$storedDemo2 = $this->provider->get($id2);
|
||||
$this->assertEquals('http://example.com', $storedDemo2->getUrl());
|
||||
}
|
||||
$storedDemo2 = $this->provider->get($id2);
|
||||
$this->assertEquals('http://example.com', $storedDemo2->getUrl());
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue