- Fixed the tests for eZTextFileUser.
[tinyz:tinyz.git] / tests / tests / lib / ezutils / eztextfileuser_test.php
1 <?php
2
3 class eZTextFileUserTest extends ezpDatabaseTestCase
4 {
5     public $username = 'foobar';
6     public $password = 'foobar';
7     public $firstname = 'Foo';
8     public $lastname = 'Bar';
9
10     public function __construct()
11     {
12         parent::__construct();
13         $this->setName( "eZTextFileUser Unit Tests" );
14     }
15
16     public function setUp()
17     {
18         parent::setUp();
19
20         ezpINIHelper::setINISetting( 'site.ini', 'UserSettings', 'LoginHandler[]', textfile );
21
22         ezpINIHelper::setINISetting( 'textfile.ini', 'TextFileSettings', 'TextFileEnabled', 'true' );
23
24         // the textfile.csv file contains a new line at the end, which causes issue #16322
25         ezpINIHelper::setINISetting( 'textfile.ini', 'TextFileSettings', 'FileName', 'textfile.csv' );
26         ezpINIHelper::setINISetting( 'textfile.ini', 'TextFileSettings', 'FilePath', dirname( __FILE__ ) . DIRECTORY_SEPARATOR . 'data' );
27         ezpINIHelper::setINISetting( 'textfile.ini', 'TextFileSettings', 'FileFieldSeparator', ',' );
28         ezpINIHelper::setINISetting( 'textfile.ini', 'TextFileSettings', 'DefaultUserGroupType', 'id' );
29         ezpINIHelper::setINISetting( 'textfile.ini', 'TextFileSettings', 'DefaultUserGroup', '13' );
30         ezpINIHelper::setINISetting( 'textfile.ini', 'TextFileSettings', 'LoginAttribute', '1' );
31         ezpINIHelper::setINISetting( 'textfile.ini', 'TextFileSettings', 'PasswordAttribute', '3' );
32         ezpINIHelper::setINISetting( 'textfile.ini', 'TextFileSettings', 'FirstNameAttribute', '4' );
33         ezpINIHelper::setINISetting( 'textfile.ini', 'TextFileSettings', 'LastNameAttribute', '5' );
34         ezpINIHelper::setINISetting( 'textfile.ini', 'TextFileSettings', 'EmailAttribute', '2' );
35     }
36
37     public function tearDown()
38     {
39         parent::tearDown();
40
41         ezpINIHelper::restoreINISettings();
42     }
43
44     /**
45      * Test for issue #16322: eZTextFileUser makes user names with newline (with patch)
46      */
47     public function testLoginCorrect()
48     {
49         $userClass = eZUserLoginHandler::instance( 'textfile' );
50         $user = $userClass->loginUser( $this->username, $this->password );
51
52         // the username and password were accepted
53         $this->assertEquals( true, $user instanceof eZUser );
54
55         // check that the name doesn't contain new line at the end
56         $userObject = eZContentObject::fetch( $user->ContentObjectID );
57         $this->assertEquals( $this->firstname . ' ' . $this->lastname, $userObject->Name );
58     }
59
60     /**
61      * Test for issue #16322: eZTextFileUser makes user names with newline (with patch)
62      */
63     public function testLoginWrongPassword()
64     {
65         $userClass = eZUserLoginHandler::instance( 'textfile' );
66         $user = $userClass->loginUser( $this->username, 'wrong password' );
67
68         // the username and password were not accepted
69         $this->assertEquals( false, $user instanceof eZUser );
70     }
71
72     /**
73      * Test for issue #16322: eZTextFileUser makes user names with newline (with patch)
74      */
75     public function testLoginWrongUsername()
76     {
77         $userClass = eZUserLoginHandler::instance( 'textfile' );
78         $user = $userClass->loginUser( 'wrong username', 'wrong password' );
79
80         // the username and password were not accepted
81         $this->assertEquals( false, $user instanceof eZUser );
82     }
83 }
84
85 ?>