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