/** * Test if authentication with good token records usage. */ public function testAuthenticationRecordsTokenUsage() { $test_token = '123'; $user_repository = new UserRepository([new AuthenticatedUser(1, '*****@*****.**', 'Ilija Studen', '123')]); $token_repository = new TokenRepository([$test_token => new Token($test_token, '*****@*****.**')]); $this->assertSame(0, $token_repository->getUsageById($test_token)); $results = (new TokenBearerAdapter($user_repository, $token_repository))->initialize($this->request->withHeader('Authorization', "Bearer {$test_token}")); $this->assertInstanceOf(TransportInterface::class, $results); $this->assertInstanceOf(AuthenticatedUser::class, $results->getAuthenticatedUser()); $this->assertInstanceOf(Token::class, $results->getAuthenticatedWith()); $this->assertSame(1, $token_repository->getUsageById($test_token)); }
/** * Test if we can terminate a token. */ public function testTerminateToken() { $test_token = '123'; $token = new Token($test_token, 123); $user_repository = new UserRepository([new AuthenticatedUser(1, '*****@*****.**', 'Ilija Studen', '123')]); $token_repository = new TokenRepository([$test_token => new Token($test_token, '*****@*****.**')]); $token_bearer_adapter = new TokenBearerAdapter($user_repository, $token_repository); $this->assertInstanceOf(Token::class, $token_repository->getById($test_token)); $termination_transport = $token_bearer_adapter->terminate($token); $this->assertInstanceOf(TransportInterface::class, $termination_transport); $this->assertNull($token_repository->getById($test_token)); }