mirror of
				https://github.com/elyby/accounts.git
				synced 2025-05-31 14:11:46 +05:30 
			
		
		
		
	Rework tests structure. Upgrade codeception to 2.5.3. Merge params configuration into app configuration.
This commit is contained in:
		
							
								
								
									
										67
									
								
								api/tests/functional/_steps/SessionServerSteps.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										67
									
								
								api/tests/functional/_steps/SessionServerSteps.php
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,67 @@ | ||||
| <?php | ||||
| namespace api\tests\functional\_steps; | ||||
|  | ||||
| use common\rbac\Permissions as P; | ||||
| use Faker\Provider\Uuid; | ||||
| use api\tests\_pages\SessionServerRoute; | ||||
| use api\tests\FunctionalTester; | ||||
|  | ||||
| class SessionServerSteps extends FunctionalTester { | ||||
|  | ||||
|     public function amJoined($byLegacy = false) { | ||||
|         $oauthSteps = new OauthSteps($this->scenario); | ||||
|         $accessToken = $oauthSteps->getAccessToken([P::MINECRAFT_SERVER_SESSION]); | ||||
|         $route = new SessionServerRoute($this); | ||||
|         $serverId = Uuid::uuid(); | ||||
|         $username = 'Admin'; | ||||
|  | ||||
|         if ($byLegacy) { | ||||
|             $route->joinLegacy([ | ||||
|                 'sessionId' => 'token:' . $accessToken . ':' . 'df936908-b2e1-544d-96f8-2977ec213022', | ||||
|                 'user' => $username, | ||||
|                 'serverId' => $serverId, | ||||
|             ]); | ||||
|  | ||||
|             $this->canSeeResponseEquals('OK'); | ||||
|         } else { | ||||
|             $route->join([ | ||||
|                 'accessToken' => $accessToken, | ||||
|                 'selectedProfile' => 'df936908-b2e1-544d-96f8-2977ec213022', | ||||
|                 'serverId' => $serverId, | ||||
|             ]); | ||||
|  | ||||
|             $this->canSeeResponseContainsJson(['id' => 'OK']); | ||||
|         } | ||||
|  | ||||
|         return [$username, $serverId]; | ||||
|     } | ||||
|  | ||||
|     public function canSeeValidTexturesResponse($expectedUsername, $expectedUuid) { | ||||
|         $this->seeResponseIsJson(); | ||||
|         $this->canSeeResponseContainsJson([ | ||||
|             'name' => $expectedUsername, | ||||
|             'id' => $expectedUuid, | ||||
|             'ely' => true, | ||||
|             'properties' => [ | ||||
|                 [ | ||||
|                     'name' => 'textures', | ||||
|                     'signature' => 'Cg==', | ||||
|                 ], | ||||
|             ], | ||||
|         ]); | ||||
|         $this->canSeeResponseJsonMatchesJsonPath('$.properties[0].value'); | ||||
|         $value = json_decode($this->grabResponse(), true)['properties'][0]['value']; | ||||
|         $decoded = json_decode(base64_decode($value), true); | ||||
|         $this->assertArrayHasKey('timestamp', $decoded); | ||||
|         $this->assertArrayHasKey('textures', $decoded); | ||||
|         $this->assertEquals($expectedUuid, $decoded['profileId']); | ||||
|         $this->assertEquals($expectedUsername, $decoded['profileName']); | ||||
|         $this->assertTrue($decoded['ely']); | ||||
|         $textures = $decoded['textures']; | ||||
|         $this->assertArrayHasKey('SKIN', $textures); | ||||
|         $skinTextures = $textures['SKIN']; | ||||
|         $this->assertArrayHasKey('url', $skinTextures); | ||||
|         $this->assertArrayHasKey('hash', $skinTextures); | ||||
|     } | ||||
|  | ||||
| } | ||||
		Reference in New Issue
	
	Block a user