findAll(); $this->assertTrue(count($clients) > 0); $client = $clients[0]; if(!$client instanceof Client) return; $client->enablePasswordless(); $client->setOtpLifetime(60 * 3); $client->setOtpLength(6); EntityManager::persist($client); $values = [ OAuth2Protocol::OAuth2Protocol_ClientId => $client->getClientId(), OAuth2Protocol::OAuth2Protocol_ResponseType => OAuth2Protocol::OAuth2Protocol_ResponseType_OTP, OAuth2Protocol::OAuth2PasswordlessConnection => OAuth2Protocol::OAuth2PasswordlessConnectionEmail, OAuth2Protocol::OAuth2PasswordlessSend => OAuth2Protocol::OAuth2PasswordlessSendCode, OAuth2Protocol::OAuth2PasswordlessEmail => "test@test.com", OAuth2Protocol::OAuth2Protocol_Scope => "test_scope", OAuth2Protocol::OAuth2Protocol_Nonce => "123456" ]; $request = OAuth2AuthorizationRequestFactory::getInstance()->build ( new OAuth2Message($values) ); $this->assertTrue($request->isValid()); $otp = OTPFactory::buildFromRequest($request, App::make(IdentifierGenerator::class), $client); EntityManager::persist($client); EntityManager::flush(); $this->assertTrue($client->getOTPGrantsByEmailNotRedeemed("test@test.com")->count() > 0); $this->assertTrue(strlen($otp->getValue()) == $client->getOtpLength()); } public function testCreateFromPayloadNoClient(){ $payload = [ OAuth2Protocol::OAuth2Protocol_ResponseType => OAuth2Protocol::OAuth2Protocol_ResponseType_OTP, OAuth2Protocol::OAuth2PasswordlessConnection => OAuth2Protocol::OAuth2PasswordlessConnectionEmail, OAuth2Protocol::OAuth2PasswordlessSend => OAuth2Protocol::OAuth2PasswordlessSendCode, OAuth2Protocol::OAuth2PasswordlessEmail => "test@test.com", OAuth2Protocol::OAuth2Protocol_Scope => "test_scope" ]; $otp = OTPFactory::buildFromPayload($payload, App::make(IdentifierGenerator::class)); EntityManager::persist($otp); EntityManager::flush(); $this->assertTrue($otp->getId() > 0); } }