public function testLoginLinkSuccess() { $client =
$this->
createClient(['test_case' => 'LoginLink', 'root_config' => 'config.yml', 'debug' => true
]);
// we need an active request that is under the firewall to use the linker
$request = Request::
create('/get-login-link'
);
self::
getContainer()->
get(RequestStack::
class)->
push($request);
/** @var LoginLinkHandlerInterface $loginLinkHandler */
$loginLinkHandler = self::
getContainer()->
get(LoginLinkHandlerInterface::
class);
$user =
new InMemoryUser('weaverryan', 'foo'
);
$loginLink =
$loginLinkHandler->
createLoginLink($user);
$this->
assertStringContainsString('user=weaverryan',
$loginLink);
$this->
assertStringContainsString('hash=',
$loginLink);
$this->
assertStringContainsString('expires=',
$loginLink);
$client->
request('GET',
$loginLink->
getUrl());
$response =
$client->
getResponse();
$this->
assertSame(200,
$response->
getStatusCode());
$this->
assertSame(['message' => 'Welcome weaverryan!'
],
json_decode($response->
getContent(), true
));
$client->
request('GET',
$loginLink->
getUrl());
$response =
$client->
getResponse();