class = new OAuth2StorageUserCredential(); //insere access token $this->class->setAccessToken($this->accessToken, $this->client_id, $this->user_id, time(), 'all', $this->refreshToken); //insere refresh token $this->class->setRefreshToken($this->refreshToken, $this->client_id, $this->user_id, time(), 'all'); } //finaliza classe public function tearDown() { $this->class->unsetRefreshToken($this->refreshToken); $this->class->unsetAccessToken($this->accessToken); } /* * verifica credenciais do usuario * credenciais devem estar no LDAP */ //(login correto) public function testCheckUserCredentials() { $res = $this->class->checkUserCredentials(1, $this->username, $this->password); $check = (!empty($res))? true : false; $this->assertTrue($check); } //login errado public function testCheckUserCredentialsFalse() { $this->assertFalse($this->class->checkUserCredentials(1, 'blablabla', 'nonono')); } /* * Verifica se as credencias do client são válidas * as credencias devem estar no banco de dados para o funcionamento do test */ //login correto public function testCheckClientCredentials() { $this->assertTrue($this->class->checkClientCredentials($this->client_id, $this->client_secret)); } //login errado public function testCheckClientCredentialsFalse() { $this->assertFalse($this->class->checkClientCredentials(1, '1')); } //caso não passe o client_secret public function testCheckClientCredentialsWithoutClientSecret() { $this->assertFalse($this->class->checkClientCredentials(1, null)); } /*busca detalhes do cliente * de acordo com a rfc apenas retona a uri de retorno cadastrada (registed redirect uri) */ //sucesso (o retorno sera uma string) public function testGetClientDetails() { $res = $this->class->getClientDetails($this->client_id); $this->assertTrue(is_string($res)); } //falha (o retorno eh falso) public function testGetClientDetailsFalse() { $res = $this->class->getClientDetails(-1); $this->assertFalse($res); } /* * Busca as informações de um token de acesso (AccessToken) * */ //sucesso retorna um array com as chaves 'token', 'client', 'user', 'expires', 'scope' public function testGetAccessToken() { $res = $this->class->getAccessToken($this->accessToken); if ( isset($res['refresh_token']) && $res['client_id'] && $res['user_id'] && $res['expires'] && $res['scope']) { $res = true; } else { $res = false; } $this->assertTrue($res); } //falha token não existe public function testGetAccessTokenFalse() { $this->assertFalse($this->class->getAccessToken(-1)); } /* * Busca as informações de um token de refresh (RefreshToken) * */ //sucesso retorna um array com as chaves 'token', 'client', 'user', 'expires', 'scope' public function testGetRefreshToken() { $res = $this->class->getRefreshToken($this->refreshToken); if ( isset($res['refresh_token']) && $res['client_id'] && $res['user_id'] && $res['expires'] && $res['scope']) { $res = true; } else { $res = false; } $this->assertTrue($res); } //falha token não existe public function testGetRefreshTokenFalse() { $this->assertFalse($this->class->getRefreshToken(-1)); } /* * Verifica se client pode autenticar via password */ //deve retornar true public function testcheckRestrictedGrantType() { $this->assertTrue($this->class->checkRestrictedGrantType($this->client_id, $this->grant_type)); } } ?>