X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=src%2FWallabag%2FCoreBundle%2FTests%2FController%2FSecurityControllerTest.php;h=2910fa4f739a27ab1347b577de28ffc518935b8c;hb=733b2cf19b5d5a93617f24b2447b9a30ba22d303;hp=b9f5d835589676beb6890612a2e39d6ee93e1a06;hpb=3d3ed955f11006a408c6596eb9151a0afb28e721;p=github%2Fwallabag%2Fwallabag.git diff --git a/src/Wallabag/CoreBundle/Tests/Controller/SecurityControllerTest.php b/src/Wallabag/CoreBundle/Tests/Controller/SecurityControllerTest.php index b9f5d835..2910fa4f 100644 --- a/src/Wallabag/CoreBundle/Tests/Controller/SecurityControllerTest.php +++ b/src/Wallabag/CoreBundle/Tests/Controller/SecurityControllerTest.php @@ -12,53 +12,61 @@ class SecurityControllerTest extends WallabagCoreTestCase $client = $this->getClient(); $client->followRedirects(); - $client->request('GET', '/config'); - $this->assertContains('RSS', $client->getResponse()->getContent()); + $crawler = $client->request('GET', '/config'); + $this->assertContains('config.form_rss.description', $crawler->filter('body')->extract(['_text'])[0]); } public function testLoginWith2Factor() { $client = $this->getClient(); - if ($client->getContainer()->getParameter('twofactor_auth')) { - $client->followRedirects(); - - $em = $client->getContainer()->get('doctrine.orm.entity_manager'); - $user = $em - ->getRepository('WallabagUserBundle:User') - ->findOneByUsername('admin'); - $user->setTwoFactorAuthentication(true); - $em->persist($user); - $em->flush(); - - $this->logInAs('admin'); - $client->request('GET', '/config'); - $this->assertContains('trusted computer', $client->getResponse()->getContent()); - - // restore user - $user = $em - ->getRepository('WallabagUserBundle:User') - ->findOneByUsername('admin'); - $user->setTwoFactorAuthentication(false); - $em->persist($user); - $em->flush(); + if (!$client->getContainer()->getParameter('twofactor_auth')) { + $this->markTestSkipped('twofactor_auth is not enabled.'); + + return; } + + $client->followRedirects(); + + $em = $client->getContainer()->get('doctrine.orm.entity_manager'); + $user = $em + ->getRepository('WallabagUserBundle:User') + ->findOneByUsername('admin'); + $user->setTwoFactorAuthentication(true); + $em->persist($user); + $em->flush(); + + $this->logInAs('admin'); + $crawler = $client->request('GET', '/config'); + $this->assertContains('scheb_two_factor.trusted', $crawler->filter('body')->extract(['_text'])[0]); + + // restore user + $user = $em + ->getRepository('WallabagUserBundle:User') + ->findOneByUsername('admin'); + $user->setTwoFactorAuthentication(false); + $em->persist($user); + $em->flush(); } public function testTrustedComputer() { $client = $this->getClient(); - if ($client->getContainer()->getParameter('twofactor_auth')) { - $em = $client->getContainer()->get('doctrine.orm.entity_manager'); - $user = $em - ->getRepository('WallabagUserBundle:User') - ->findOneByUsername('admin'); + if (!$client->getContainer()->getParameter('twofactor_auth')) { + $this->markTestSkipped('twofactor_auth is not enabled.'); - $date = new \DateTime(); - $user->addTrustedComputer('ABCDEF', $date->add(new \DateInterval('P1M'))); - $this->assertTrue($user->isTrustedComputer('ABCDEF')); - $this->assertFalse($user->isTrustedComputer('FEDCBA')); + return; } + + $em = $client->getContainer()->get('doctrine.orm.entity_manager'); + $user = $em + ->getRepository('WallabagUserBundle:User') + ->findOneByUsername('admin'); + + $date = new \DateTime(); + $user->addTrustedComputer('ABCDEF', $date->add(new \DateInterval('P1M'))); + $this->assertTrue($user->isTrustedComputer('ABCDEF')); + $this->assertFalse($user->isTrustedComputer('FEDCBA')); } }