diff options
author | Jérémy Benoist <j0k3r@users.noreply.github.com> | 2017-10-23 11:09:17 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-10-23 11:09:17 +0200 |
commit | 1953a872932a63792293b4aec087880265ba89f7 (patch) | |
tree | fd16599e737fcdaf193c933ef3ec4a4ee248b117 /tests/Wallabag/UserBundle | |
parent | d83d25dadec2c38460a32d96f5d2903426fec9d3 (diff) | |
parent | 702f2d67d60ca963492b90dad74cb5f8dcc84e51 (diff) | |
download | wallabag-1953a872932a63792293b4aec087880265ba89f7.tar.gz wallabag-1953a872932a63792293b4aec087880265ba89f7.tar.zst wallabag-1953a872932a63792293b4aec087880265ba89f7.zip |
Merge pull request #3011 from wallabag/2.3
wallabag 2.3.0
Diffstat (limited to 'tests/Wallabag/UserBundle')
4 files changed, 101 insertions, 17 deletions
diff --git a/tests/Wallabag/UserBundle/Controller/ManageControllerTest.php b/tests/Wallabag/UserBundle/Controller/ManageControllerTest.php index 4faddfc4..adc2cf09 100644 --- a/tests/Wallabag/UserBundle/Controller/ManageControllerTest.php +++ b/tests/Wallabag/UserBundle/Controller/ManageControllerTest.php | |||
@@ -10,9 +10,9 @@ class ManageControllerTest extends WallabagCoreTestCase | |||
10 | { | 10 | { |
11 | $client = $this->getClient(); | 11 | $client = $this->getClient(); |
12 | 12 | ||
13 | $client->request('GET', '/users/'); | 13 | $client->request('GET', '/users/list'); |
14 | 14 | ||
15 | $this->assertEquals(302, $client->getResponse()->getStatusCode()); | 15 | $this->assertSame(302, $client->getResponse()->getStatusCode()); |
16 | $this->assertContains('login', $client->getResponse()->headers->get('location')); | 16 | $this->assertContains('login', $client->getResponse()->headers->get('location')); |
17 | } | 17 | } |
18 | 18 | ||
@@ -22,21 +22,21 @@ class ManageControllerTest extends WallabagCoreTestCase | |||
22 | $client = $this->getClient(); | 22 | $client = $this->getClient(); |
23 | 23 | ||
24 | // Create a new user in the database | 24 | // Create a new user in the database |
25 | $crawler = $client->request('GET', '/users/'); | 25 | $crawler = $client->request('GET', '/users/list'); |
26 | $this->assertEquals(200, $client->getResponse()->getStatusCode(), 'Unexpected HTTP status code for GET /users/'); | 26 | $this->assertSame(200, $client->getResponse()->getStatusCode(), 'Unexpected HTTP status code for GET /users/'); |
27 | $crawler = $client->click($crawler->selectLink('user.list.create_new_one')->link()); | 27 | $crawler = $client->click($crawler->selectLink('user.list.create_new_one')->link()); |
28 | 28 | ||
29 | // Fill in the form and submit it | 29 | // Fill in the form and submit it |
30 | $form = $crawler->selectButton('user.form.save')->form(array( | 30 | $form = $crawler->selectButton('user.form.save')->form([ |
31 | 'new_user[username]' => 'test_user', | 31 | 'new_user[username]' => 'test_user', |
32 | 'new_user[email]' => 'test@test.io', | 32 | 'new_user[email]' => 'test@test.io', |
33 | 'new_user[plainPassword][first]' => 'test', | 33 | 'new_user[plainPassword][first]' => 'testtest', |
34 | 'new_user[plainPassword][second]' => 'test', | 34 | 'new_user[plainPassword][second]' => 'testtest', |
35 | )); | 35 | ]); |
36 | 36 | ||
37 | $client->submit($form); | 37 | $client->submit($form); |
38 | $client->followRedirect(); | 38 | $client->followRedirect(); |
39 | $crawler = $client->request('GET', '/users/'); | 39 | $crawler = $client->request('GET', '/users/list'); |
40 | 40 | ||
41 | // Check data in the show view | 41 | // Check data in the show view |
42 | $this->assertGreaterThan(0, $crawler->filter('td:contains("test_user")')->count(), 'Missing element td:contains("test_user")'); | 42 | $this->assertGreaterThan(0, $crawler->filter('td:contains("test_user")')->count(), 'Missing element td:contains("test_user")'); |
@@ -44,12 +44,12 @@ class ManageControllerTest extends WallabagCoreTestCase | |||
44 | // Edit the user | 44 | // Edit the user |
45 | $crawler = $client->click($crawler->selectLink('user.list.edit_action')->last()->link()); | 45 | $crawler = $client->click($crawler->selectLink('user.list.edit_action')->last()->link()); |
46 | 46 | ||
47 | $form = $crawler->selectButton('user.form.save')->form(array( | 47 | $form = $crawler->selectButton('user.form.save')->form([ |
48 | 'user[name]' => 'Foo User', | 48 | 'user[name]' => 'Foo User', |
49 | 'user[username]' => 'test_user', | 49 | 'user[username]' => 'test_user', |
50 | 'user[email]' => 'test@test.io', | 50 | 'user[email]' => 'test@test.io', |
51 | 'user[enabled]' => true, | 51 | 'user[enabled]' => true, |
52 | )); | 52 | ]); |
53 | 53 | ||
54 | $client->submit($form); | 54 | $client->submit($form); |
55 | $crawler = $client->followRedirect(); | 55 | $crawler = $client->followRedirect(); |
@@ -57,7 +57,7 @@ class ManageControllerTest extends WallabagCoreTestCase | |||
57 | // Check the element contains an attribute with value equals "Foo User" | 57 | // Check the element contains an attribute with value equals "Foo User" |
58 | $this->assertGreaterThan(0, $crawler->filter('[value="Foo User"]')->count(), 'Missing element [value="Foo User"]'); | 58 | $this->assertGreaterThan(0, $crawler->filter('[value="Foo User"]')->count(), 'Missing element [value="Foo User"]'); |
59 | 59 | ||
60 | $crawler = $client->request('GET', '/users/'); | 60 | $crawler = $client->request('GET', '/users/list'); |
61 | $crawler = $client->click($crawler->selectLink('user.list.edit_action')->last()->link()); | 61 | $crawler = $client->click($crawler->selectLink('user.list.edit_action')->last()->link()); |
62 | 62 | ||
63 | // Delete the user | 63 | // Delete the user |
@@ -73,9 +73,27 @@ class ManageControllerTest extends WallabagCoreTestCase | |||
73 | $this->logInAs('admin'); | 73 | $this->logInAs('admin'); |
74 | $client = $this->getClient(); | 74 | $client = $this->getClient(); |
75 | 75 | ||
76 | $crawler = $client->request('GET', '/users/'.$this->getLoggedInUserId().'/edit'); | 76 | $crawler = $client->request('GET', '/users/' . $this->getLoggedInUserId() . '/edit'); |
77 | $disabled = $crawler->selectButton('user.form.delete')->extract('disabled'); | 77 | $disabled = $crawler->selectButton('user.form.delete')->extract('disabled'); |
78 | 78 | ||
79 | $this->assertEquals('disabled', $disabled[0]); | 79 | $this->assertSame('disabled', $disabled[0]); |
80 | } | ||
81 | |||
82 | public function testUserSearch() | ||
83 | { | ||
84 | $this->logInAs('admin'); | ||
85 | $client = $this->getClient(); | ||
86 | |||
87 | // Search on unread list | ||
88 | $crawler = $client->request('GET', '/users/list'); | ||
89 | |||
90 | $form = $crawler->filter('form[name=search_users]')->form(); | ||
91 | $data = [ | ||
92 | 'search_user[term]' => 'admin', | ||
93 | ]; | ||
94 | |||
95 | $crawler = $client->submit($form, $data); | ||
96 | |||
97 | $this->assertCount(2, $crawler->filter('tr')); // 1 result + table header | ||
80 | } | 98 | } |
81 | } | 99 | } |
diff --git a/tests/Wallabag/UserBundle/EventListener/AuthenticationFailureListenerTest.php b/tests/Wallabag/UserBundle/EventListener/AuthenticationFailureListenerTest.php new file mode 100644 index 00000000..9e33cdca --- /dev/null +++ b/tests/Wallabag/UserBundle/EventListener/AuthenticationFailureListenerTest.php | |||
@@ -0,0 +1,66 @@ | |||
1 | <?php | ||
2 | |||
3 | namespace Tests\Wallabag\UserBundle\EventListener; | ||
4 | |||
5 | use Monolog\Handler\TestHandler; | ||
6 | use Monolog\Logger; | ||
7 | use Symfony\Component\EventDispatcher\EventDispatcher; | ||
8 | use Symfony\Component\HttpFoundation\Request; | ||
9 | use Symfony\Component\HttpFoundation\RequestStack; | ||
10 | use Symfony\Component\Security\Core\AuthenticationEvents; | ||
11 | use Symfony\Component\Security\Core\Event\AuthenticationFailureEvent; | ||
12 | use Wallabag\UserBundle\EventListener\AuthenticationFailureListener; | ||
13 | |||
14 | class AuthenticationFailureListenerTest extends \PHPUnit_Framework_TestCase | ||
15 | { | ||
16 | private $requestStack; | ||
17 | private $logHandler; | ||
18 | private $listener; | ||
19 | private $dispatcher; | ||
20 | |||
21 | protected function setUp() | ||
22 | { | ||
23 | $request = Request::create('/'); | ||
24 | $request->request->set('_username', 'admin'); | ||
25 | |||
26 | $this->requestStack = new RequestStack(); | ||
27 | $this->requestStack->push($request); | ||
28 | |||
29 | $this->logHandler = new TestHandler(); | ||
30 | $logger = new Logger('test', [$this->logHandler]); | ||
31 | |||
32 | $this->listener = new AuthenticationFailureListener( | ||
33 | $this->requestStack, | ||
34 | $logger | ||
35 | ); | ||
36 | |||
37 | $this->dispatcher = new EventDispatcher(); | ||
38 | $this->dispatcher->addSubscriber($this->listener); | ||
39 | } | ||
40 | |||
41 | public function testOnAuthenticationFailure() | ||
42 | { | ||
43 | $token = $this->getMockBuilder('Symfony\Component\Security\Core\Authentication\Token\TokenInterface') | ||
44 | ->disableOriginalConstructor() | ||
45 | ->getMock(); | ||
46 | |||
47 | $exception = $this->getMockBuilder('Symfony\Component\Security\Core\Exception\AuthenticationException') | ||
48 | ->disableOriginalConstructor() | ||
49 | ->getMock(); | ||
50 | |||
51 | $event = new AuthenticationFailureEvent( | ||
52 | $token, | ||
53 | $exception | ||
54 | ); | ||
55 | |||
56 | $this->dispatcher->dispatch( | ||
57 | AuthenticationEvents::AUTHENTICATION_FAILURE, | ||
58 | $event | ||
59 | ); | ||
60 | |||
61 | $records = $this->logHandler->getRecords(); | ||
62 | |||
63 | $this->assertCount(1, $records); | ||
64 | $this->assertSame('Authentication failure for user "admin", from IP "127.0.0.1", with UA: "Symfony/3.X".', $records[0]['message']); | ||
65 | } | ||
66 | } | ||
diff --git a/tests/Wallabag/UserBundle/EventListener/CreateConfigListenerTest.php b/tests/Wallabag/UserBundle/EventListener/CreateConfigListenerTest.php index 01796ded..e5a145b8 100644 --- a/tests/Wallabag/UserBundle/EventListener/CreateConfigListenerTest.php +++ b/tests/Wallabag/UserBundle/EventListener/CreateConfigListenerTest.php | |||
@@ -8,8 +8,8 @@ use Symfony\Component\EventDispatcher\EventDispatcher; | |||
8 | use Symfony\Component\HttpFoundation\Request; | 8 | use Symfony\Component\HttpFoundation\Request; |
9 | use Symfony\Component\HttpFoundation\Response; | 9 | use Symfony\Component\HttpFoundation\Response; |
10 | use Wallabag\CoreBundle\Entity\Config; | 10 | use Wallabag\CoreBundle\Entity\Config; |
11 | use Wallabag\UserBundle\EventListener\CreateConfigListener; | ||
12 | use Wallabag\UserBundle\Entity\User; | 11 | use Wallabag\UserBundle\Entity\User; |
12 | use Wallabag\UserBundle\EventListener\CreateConfigListener; | ||
13 | 13 | ||
14 | class CreateConfigListenerTest extends \PHPUnit_Framework_TestCase | 14 | class CreateConfigListenerTest extends \PHPUnit_Framework_TestCase |
15 | { | 15 | { |
diff --git a/tests/Wallabag/UserBundle/Mailer/AuthCodeMailerTest.php b/tests/Wallabag/UserBundle/Mailer/AuthCodeMailerTest.php index 21412da6..7381ccf1 100644 --- a/tests/Wallabag/UserBundle/Mailer/AuthCodeMailerTest.php +++ b/tests/Wallabag/UserBundle/Mailer/AuthCodeMailerTest.php | |||
@@ -68,8 +68,8 @@ TWIG; | |||
68 | 68 | ||
69 | $msg = $this->spool->getMessages()[0]; | 69 | $msg = $this->spool->getMessages()[0]; |
70 | $this->assertArrayHasKey('test@wallabag.io', $msg->getTo()); | 70 | $this->assertArrayHasKey('test@wallabag.io', $msg->getTo()); |
71 | $this->assertEquals(['nobody@test.io' => 'wallabag test'], $msg->getFrom()); | 71 | $this->assertSame(['nobody@test.io' => 'wallabag test'], $msg->getFrom()); |
72 | $this->assertEquals('subject', $msg->getSubject()); | 72 | $this->assertSame('subject', $msg->getSubject()); |
73 | $this->assertContains('text body http://0.0.0.0/support', $msg->toString()); | 73 | $this->assertContains('text body http://0.0.0.0/support', $msg->toString()); |
74 | $this->assertContains('html body 666666', $msg->toString()); | 74 | $this->assertContains('html body 666666', $msg->toString()); |
75 | } | 75 | } |