xref: /plugin/farmer/_test/getUserLine.test.php (revision 98917f3be1b07eac0614bdd5298653993976a082)
1<?php
2
3
4/**
5 * Tests for the validation functionality of the farmer plugin
6 *
7 * @group plugin_farmer
8 * @group plugins
9 */
10class getUserLine_plugin_farmer_test extends DokuWikiTest {
11
12    protected $pluginsEnabled = array('farmer',);
13    private $usersfile;
14
15    public function setUp() {
16        parent::setUp();
17        $this->usersfile = DOKU_CONF . 'users.auth.php';
18        copy($this->usersfile, $this->usersfile . "org");
19        unlink($this->usersfile);
20    }
21
22    public function tearDown() {
23        parent::tearDown();
24        unlink($this->usersfile);
25        copy($this->usersfile . "org", $this->usersfile);
26        unlink($this->usersfile . "org");
27    }
28
29
30    public function test_getUserLine_oneUser () {
31        /** @var helper_plugin_farmer $helper */
32        $helper = plugin_load('helper', 'farmer');
33        $usersfileData = "# users.auth.php
34# <?php exit()?>
35# Don't modify the lines above
36#
37# Userfile
38#
39# Format:
40#
41# user:MD5password:Real Name:email:groups,comma,seperated
42#
43# testuser : testpass
44testuser:179ad45c6ce2cb97cf1029e212046e81:Arthur Dent:arthur@example.com:\n";
45        file_put_contents($this->usersfile,$usersfileData);
46
47        $expected_result = 'testuser:179ad45c6ce2cb97cf1029e212046e81:Arthur Dent:arthur@example.com:' . "\n";
48        $actual_result = $helper->getUserLine('testuser');
49
50        $this->assertSame($expected_result, $actual_result);
51    }
52
53    public function test_getUserLine_manyUser () {
54        /** @var helper_plugin_farmer $helper */
55        $helper = plugin_load('helper', 'farmer');
56        $usersfileData = "# users.auth.php
57# <?php exit()?>
58# Don't modify the lines above
59#
60# Userfile
61#
62# Format:
63#
64# user:MD5password:Real Name:email:groups,comma,seperated
65#
66# testuser : testpass
671testuser:179ad45c6ce43897cf1029e212046e81:Arthur Dent:brthur@example.com:admin
68testuser:179ad45c6ce2cb97cf1029e212046e81:Arthur Dent:arthur@example.com:
692testuser:179ad45c6ce2cb97cf10214712046e81:Arthur inDent:crthur@example.com:admin\n";
70        file_put_contents($this->usersfile,$usersfileData);
71
72        $expected_result = 'testuser:179ad45c6ce2cb97cf1029e212046e81:Arthur Dent:arthur@example.com:' . "\n";
73        $actual_result = $helper->getUserLine('testuser');
74
75        $this->assertSame($expected_result, $actual_result);
76    }
77}
78