芝麻web文件管理V1.00
编辑当前文件:/home/strato/chroot/opt/RZphp5/includes/test/File_Passwd/tests/test_unix.php
array( 'pass' => 'wxLaOdcajuKoI', 'uid' => '500', 'gid' => '501', 'gecos' => 'having # in gecos', 'home' => '/nonexistent', 'shell' => '/bin/false', ), 'mike' => array( 'pass' => 'q4M4mpfilkNnU', 'uid' => '501', 'gid' => '502', 'gecos' => 'User1', 'home' => '/home/mike', 'shell' => '/bin/bash' ), 'pete' => array( 'pass' => 'dS80VTLQHZ6VM', 'uid' => '502', 'gid' => '503', 'gecos' => 'User2', 'home' => '/home/pete', 'shell' => '/bin/sh' ), 'mary' => array( 'pass' => 'jHSiqFjaEiKPM', 'uid' => '503', 'gid' => '504', 'gecos' => 'User3', 'home' => '/home/mary', 'shell' => '/bin/ksh' ), ); /** * TestCase for File_Passwd_UnixTest class * Generated by PHPEdit.XUnit Plugin * */ class File_Passwd_UnixTest extends PHPUnit_TestCase{ var $pwd; /** * Constructor * @param string $name The name of the test. * @access protected */ function File_Passwd_UnixTest($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_Unix(); } /** * 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_Unix.File_Passwd_Unix method * @access public */ function testFile_Passwd_Unix(){ $this->assertTrue(is_a($this->pwd, 'File_Passwd_Unix')); } /** * Regression test for File_Passwd_Unix.save method * @access public */ function testsave(){ $this->pwd->setFile($GLOBALS['tmpfile']); $this->pwd->_users = $GLOBALS['users']; $e = $this->pwd->save(); if (PEAR::isError($e)) { echo $e->getMessage(); } $this->assertTrue(!PEAR::isError($e)); $t = file($GLOBALS['tmpfile']); $u = file('passwd.unix.txt'); $this->assertEquals($t,$u); } /** * Regression test for File_Passwd_Unix.parse method * @access public */ function testparse(){ $this->pwd->setFile('passwd.unix.txt'); $this->assertTrue($this->pwd->load()); $this->assertEquals($this->pwd->_users, $GLOBALS['users']); } /** * Regression test for File_Passwd_Unix.setMode method * @access public */ function testsetMode(){ $this->assertTrue($this->pwd->setMode('md5')); $this->assertTrue($this->pwd->getMode() === 'md5'); $this->assertTrue(PEAR::isError($this->pwd->setMode('no'))); $this->assertTrue($this->pwd->setMode('des')); $this->assertTrue($this->pwd->getMode() === 'des'); } /** * Regression test for File_Passwd_Unix.listModes method * @access public */ function testlistModes(){ $this->assertTrue($this->pwd->listModes() == array('des' => 'des', 'md5' => 'md5')); } /** * Regression test for File_Passwd_Unix.getMode method * @access public */ function testgetMode(){ $this->assertTrue($this->pwd->setMode('md5')); $this->assertTrue($this->pwd->getMode() === 'md5'); $this->assertTrue(PEAR::isError($this->pwd->setMode('no'))); $this->assertTrue($this->pwd->setMode('des')); $this->assertTrue($this->pwd->getMode() === 'des'); } /** * Regression test for File_Passwd_Unix.useMap method * @access public */ function testuseMap(){ $this->assertTrue($this->pwd->useMap()); $this->assertTrue($this->pwd->useMap(false)); $this->assertFalse($this->pwd->useMap()); $this->assertTrue($this->pwd->useMap(true)); } /** * Regression test for File_Passwd_Unix.setMap method * @access public */ function testsetMap(){ $array = array('uid','gid','gecos','home','shell'); $new = array('none'); $this->assertTrue($this->pwd->setMap($new)); $this->assertTrue($this->pwd->getMap() == $new); $this->assertTrue($this->pwd->setMap($array)); $this->assertTrue($this->pwd->getMap() == $array); } /** * Regression test for File_Passwd_Unix.getMap method * @access public */ function testgetMap(){ $array = array('uid','gid','gecos','home','shell'); $this->assertTrue($array == $this->pwd->getMap()); } /** * Regression test for File_Passwd_Unix.isShadowed method * @access public */ function testisShadowed(){ $this->assertFalse($this->pwd->isShadowed()); } /** * Regression test for File_Passwd_Unix.addUser method * @access public */ function testaddUser(){ $this->assertTrue($this->pwd->addUser('add', 'pass')); $user = $this->pwd->listUser('add'); $array = array( 'pass' => $this->pwd->_genPass('pass', $user['pass']), 'uid' =>'', 'gid' =>'', 'gecos' =>'', 'home' =>'', 'shell' =>'' ); $this->assertTrue($array == $user); } /** * Regression test for File_Passwd_Unix.modUser method * @access public */ function testmodUser(){ $this->assertTrue($this->pwd->addUser('mod', 'pass', array('uid' => 555))); $this->assertTrue($this->pwd->modUser('mod', array('uid' => 600))); $user = $this->pwd->listUser('mod'); $this->assertTrue(600 == $user['uid']); } /** * Regression test for File_Passwd_Unix.changePasswd method * @access public */ function testchangePasswd(){ $this->pwd->addUser('change', 'pass'); $this->assertTrue($this->pwd->changePasswd('change', 'new')); $this->assertTrue($this->pwd->verifyPasswd('change', 'new')); } /** * Regression test for File_Passwd_Unix.verifyPasswd method * @access public */ function testverifyPasswd(){ $this->pwd->addUser('verify', 'pass'); $this->assertTrue($this->pwd->verifyPasswd('verify', 'pass')); $this->assertFalse($this->pwd->verifyPasswd('verify', 'other')); } /** * Regression test for File_Passwd_Unix._genPass method * @access public */ function test_genPass(){ $this->pwd->setMode('des'); $this->assertTrue('12wGUVd8lAOJY' === $this->pwd->_genPass('12','12')); $this->pwd->setMode('md5'); $this->assertTrue('$1$45678901$8Dc8D8vusJXlDQUC7akws/' === $this->pwd->_genPass('12', '$1$456789012')); } function teststaticAuth(){ $this->assertTrue(true === File_Passwd::staticAuth('Unix', 'passwd.unix.txt', 'mike', 123, 'des')); $this->assertTrue(false === File_Passwd::staticAuth('Unix', 'passwd.unix.txt', 'mike', 'abc', 'des')); $this->assertFalse((File_Passwd::staticAuth('Unix', 'passwd.unix.txt', 'nonexist', 'asd', 'des'))); } } ?>