Skip to content

Commit ccf3309

Browse files
Functional tests added - first pass
1 parent b60bfc5 commit ccf3309

File tree

4 files changed

+108
-19
lines changed

4 files changed

+108
-19
lines changed

app/config/config_test.yml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,3 +14,8 @@ web_profiler:
1414

1515
swiftmailer:
1616
disable_delivery: true
17+
18+
security:
19+
firewalls:
20+
main:
21+
http_basic: ~

src/ApiBundle/Controller/ApiExceptionController.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ public function showAction(Request $request, $exception, DebugLoggerInterface $l
4949
$currentContent = $this->getAndCleanOutputBuffering($request->headers->get('X-Php-Ob-Level', -1));
5050
$code = $this->getStatusCode($exception);
5151

52-
$errMessageArray = split('#showme#', $exception->getMessage());
52+
$errMessageArray = explode('#showme#', $exception->getMessage());
5353
$errorMessage = $errMessageArray[0];
5454
$showMessage = count($errMessageArray) > 1 ? $errMessageArray[1] : '';
5555

Lines changed: 102 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,102 @@
1+
<?php
2+
3+
namespace Tests\ApiBundle\Controller;
4+
5+
use ApiBundle\Entity\User;
6+
use Symfony\Bundle\FrameworkBundle\Test\WebTestCase;
7+
use Symfony\Component\HttpFoundation\Response;
8+
9+
/**
10+
* Functional test for the controllers defined inside BlogController.
11+
*
12+
* Execute the application tests using this command (requires PHPUnit to be installed):
13+
*
14+
* $ cd /var/www/html/authOauth/
15+
* $ phpunit -c app
16+
*/
17+
class UserControllerTest extends WebTestCase
18+
{
19+
public function testRegularUsersCannotAccessToTheBackend()
20+
{
21+
$client = static::createClient([], [
22+
'PHP_AUTH_USER' => 'aUser',
23+
'PHP_AUTH_PW' => 'test1test1',
24+
]);
25+
26+
$url = $client->getContainer()->get('router')->generate('admin_user_index');
27+
$client->request('GET', $url);
28+
// echo $client->getResponse()->getContent();die;
29+
30+
$this->assertEquals(Response::HTTP_FORBIDDEN, $client->getResponse()->getStatusCode());
31+
}
32+
33+
public function testAdministratorUsersCanAccessToTheBackend()
34+
{
35+
$client = static::createClient([], [
36+
'PHP_AUTH_USER' => 'admin',
37+
'PHP_AUTH_PW' => 'admin',
38+
]);
39+
40+
$url = $client->getContainer()->get('router')->generate('admin_user_index');
41+
$client->request('GET', $url);
42+
43+
$this->assertEquals(Response::HTTP_OK, $client->getResponse()->getStatusCode());
44+
}
45+
46+
public function testNormalUsersCannotAccessAdminLink()
47+
{
48+
$client = static::createClient([], [
49+
'PHP_AUTH_USER' => 'aUser',
50+
'PHP_AUTH_PW' => 'test1test1',
51+
]);
52+
53+
$url = $client->getContainer()->get('router')->generate('user_index');
54+
$crawler = $client->request('GET', $url);
55+
56+
$this->assertCount(
57+
0,
58+
$crawler->filterXPath("//a[contains(.,'Admin')]"),
59+
'The Backend->Admin does not exist for normal user.'
60+
);
61+
}
62+
63+
public function testAdminUsersCanAccessAdminLink()
64+
{
65+
$client = static::createClient([], [
66+
'PHP_AUTH_USER' => 'admin',
67+
'PHP_AUTH_PW' => 'admin',
68+
]);
69+
70+
$url = $client->getContainer()->get('router')->generate('admin_user_index');
71+
$crawler = $client->request('GET', $url);
72+
73+
$this->assertCount(
74+
1,
75+
$crawler->filterXPath("//a[contains(.,'Admin')]"),
76+
'The Backend->Admin does exist for admin user.'
77+
);
78+
}
79+
80+
public function testUserManagementList()
81+
{
82+
$client = static::createClient([], [
83+
'PHP_AUTH_USER' => 'admin',
84+
'PHP_AUTH_PW' => 'admin',
85+
]);
86+
87+
$url = $client->getContainer()->get('router')->generate('admin_user_index');
88+
$crawler = $client->request('GET', $url);
89+
90+
$link = $crawler->selectLink('Admin')->link();
91+
$client->click($link);
92+
93+
$link = $crawler->selectLink('User Management')->link();
94+
$client->click($link);
95+
96+
$this->assertCount(
97+
2,
98+
$crawler->filter('div#main table tbody tr'),
99+
'The Backend->Admin->User Management page displays all the available users.'
100+
);
101+
}
102+
}

src/AppBundle/Tests/Controller/DefaultControllerTest.php

Lines changed: 0 additions & 18 deletions
This file was deleted.

0 commit comments

Comments
 (0)