Blame | Letzte Änderung | Log anzeigen | RSS feed
<?phprequire_once 'System.php';require_once 'PHPUnit.php';require_once 'File/Passwd/Custom.php';$GLOBALS['tmpfile'] = System::mktemp();$GLOBALS['map'] = array('extra1', 'extra2', 'extra3');$GLOBALS['users'] = array('mike' => array('pass' => 'mikespass',),'pete' => array('pass' => 'petespass',),'mary' => array('pass' => 'maryspass',));/*** TestCase for File_Passwd_CustomTest class* Generated by PHPEdit.XUnit Plugin**/class File_Passwd_CustomTest extends PHPUnit_TestCase{var $pwd;/*** Constructor* @param string $name The name of the test.* @access protected*/function File_Passwd_CustomTest($name){$this->PHPUnit_TestCase($name);}/*** Called before the test functions will be executed this function is defined in PHPUnit_TestCase and overwritten here* @access protected*/function setUp(){$this->pwd = &new File_Passwd_Custom();}/*** Called after the test functions are executed this function is defined in PHPUnit_TestCase and overwritten here* @access protected*/function tearDown(){$this->pwd = null;}/*** Regression test for File_Passwd_Custom.setDelim method* @access public*/function testsetDelim(){$this->pwd->setDelim('abc');$this->assertEquals('a', $this->pwd->getDelim());}/*** Regression test for File_Passwd_Custom.getDelim method* @access public*/function testgetDelim(){$this->pwd->setDelim('%');$this->assertEquals('%', $this->pwd->getDelim());}/*** Regression test for File_Passwd_Custom.setEncFunc method* @access public*/function testsetEncFunc(){$this->assertTrue(PEAR::isError($this->pwd->setEncFunc('nonexistant')));$this->assertFalse(PEAR::isError($this->pwd->setEncFunc('md5')));}/*** Regression test for File_Passwd_Custom.getEncFunc method* @access public*/function testgetEncFunc(){$this->pwd->setEncFunc(array('File_Passwd', 'crypt_plain'));$this->assertEquals('File_Passwd::crypt_plain', $this->pwd->getEncFunc());}/*** Regression test for File_Passwd_Custom.useMap method* @access public*/function testuseMap(){$this->pwd->useMap(false);$this->assertFalse($this->pwd->useMap());$this->pwd->useMap(true);$this->assertTrue($this->pwd->useMap());}/*** Regression test for File_Passwd_Custom.setMap method* @access public*/function testsetMap(){$this->pwd->setMap($GLOBALS['map']);$this->assertEquals($GLOBALS['map'], $this->pwd->getMap());}/*** Regression test for File_Passwd_Custom.getMap method* @access public*/function testgetMap(){$this->pwd->setMap(array('prop'));$this->assertEquals(array('prop'), $this->pwd->getMap());}/*** Regression test for File_Passwd_Custom.save method* @access public*/function testsave(){$this->pwd->setFile($GLOBALS['tmpfile']);$this->pwd->setDelim('|');$this->pwd->setEncFunc(array('File_Passwd', 'crypt_plain'));foreach ($GLOBALS['users'] as $user => $pass_r) {$this->pwd->addUser($user, $pass_r['pass']);}$this->assertFalse(PEAR::isError($this->pwd->save()));$this->assertEquals(file('passwd.custom.txt'), file($GLOBALS['tmpfile']));}/*** Regression test for File_Passwd_Custom.parse method* @access public*/function testparse(){$this->pwd->useMap(true);$this->pwd->setFile('passwd.custom.txt');$this->pwd->setDelim('|');$this->pwd->load();$this->assertEquals($GLOBALS['users'], $this->pwd->_users);}/*** Regression test for File_Passwd_Custom.addUser method* @access public*/function testaddUser(){$this->pwd->useMap(true);$this->pwd->setEncFunc('md5');$this->pwd->addUser('testadd', 'pass');$this->assertTrue($this->pwd->userExists('testadd'));$this->assertEquals(md5('pass'), $this->pwd->_users['testadd']['pass']);}/*** Regression test for File_Passwd_Custom.modUser method* @access public*/function testmodUser(){$this->pwd->useMap(true);$this->pwd->setEncFunc('md5');$this->pwd->addUser('testmod', 'pass');$this->assertFalse(PEAR::isError($this->pwd->modUser('testmod', array('pass' => 'newpass'))));$this->assertEquals('newpass', $this->pwd->_users['testmod']['pass']);}/*** Regression test for File_Passwd_Custom.changePasswd method* @access public*/function testchangePasswd(){$this->pwd->useMap(true);$this->pwd->setEncFunc('md5');$this->pwd->addUser('changepass', 'pass');$this->assertFalse(PEAR::isError($this->pwd->changePasswd('changepass', 'newpass')));$this->assertEquals(md5('newpass'), $this->pwd->_users['changepass']['pass']);}/*** Regression test for File_Passwd_Custom.verifyPasswd method* @access public*/function testverifyPasswd(){$this->pwd->addUser('testverify', 'password');$rs = $this->pwd->verifyPasswd('testverify', 'password');$this->assertFalse(PEAR::isError($rs));$this->assertTrue($rs);}function teststaticAuth(){$this->assertTrue(true === File_Passwd::staticAuth('Custom', 'passwd.custom.txt', 'mike', 'mikespass', array(array('File_Passwd', 'crypt_plain'), '|')));$this->assertTrue(false === File_Passwd::staticAuth('Custom', 'passwd.custom.txt', 'mike', 'abc', array(array('File_Passwd', 'crypt_plain'), '|')));$this->assertTrue(PEAR::isError(File_Passwd::staticAuth('Custom', 'passwd.custom.txt', 'mike', 'mikespass')));}}?>