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