test_smb.php

来自「视频监控网络部分的协议ddns,的模块的实现代码,请大家大胆指正.」· PHP 代码 · 共 181 行

PHP
181
字号
<?phprequire_once 'System.php';require_once 'PHPUnit.php';require_once 'File/Passwd/Smb.php';function hash_nt($txt){    return strToUpper(bin2hex($GLOBALS['msc']->ntPasswordHash($txt)));}function hash_lm($txt){    return strToUpper(bin2hex($GLOBALS['msc']->lmPasswordHash($txt)));}$GLOBALS['tmpfile'] = System::mktemp();$GLOBALS['msc']     = &new Crypt_CHAP_MSv1();$GLOBALS['user']    = array(    'mike' => array(        'userid' => 501,        'nthash' => hash_nt('123'),        'lmhash' => hash_lm('123'),        'flags'  => '[U           ]',        'lct'    => 'LCT-3FA7AE9B',        'comment'=> 'Michael Wallner'    ));/** * TestCase for File_Passwd_SmbTest class * Generated by PHPEdit.XUnit Plugin *  */class File_Passwd_SmbTest extends PHPUnit_TestCase{    var $pw;        /**     * Constructor     * @param string $name The name of the test.     * @access protected     */    function File_Passwd_SmbTest($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->pw = &new File_Passwd_Smb();    }        /**     * Called after the test functions are executed this function is defined in PHPUnit_TestCase and overwritten here     * @access protected     */    function tearDown(){        $this->pw = null;        unset($this->pw);    }        /**     * Regression test for File_Passwd_Smb.File_Passwd_Smb method     * @access public     */    function testFile_Passwd_Smb(){        $this->assertTrue(is_a($this->pw, 'File_Passwd_Smb'));    }        /**     * Regression test for File_Passwd_Smb.staticAuth method     * @access public     */    function teststaticAuth(){        $rs = File_Passwd_Smb::staticAuth('passwd.smb.txt', 'mike', 123);        $this->assertTrue($rs);        $this->assertTrue(!PEAR::isError($rs));    }        /**     * Regression test for File_Passwd_Smb.parse method     * @access public     */    function testparse(){        $this->pw->setFile('passwd.smb.txt');        $rs = $this->pw->load();        $this->assertTrue($rs);        $this->assertTrue(!PEAR::isError($rs));        $u = asort($GLOBALS['user']);        $s = asort($this->pw->listUser());        $this->assertEquals($u, $s);    }        /**     * Regression test for File_Passwd_Smb.addUser method     * @access public     */    function testaddUser(){        $rs = $this->pw->addUser('mike2', 123, array('userid' => 502));        $this->assertTrue($rs);        $this->assertTrue(!PEAR::isError($rs));    }        /**     * Regression test for File_Passwd_Smb.modUser method     * @access public     */    function testmodUser(){        $this->pw->addUser('mike3', 123, array('userid' => 503));        $rs = $this->pw->modUser('mike3', array('userid' => 599));        $this->assertTrue($rs);        $this->assertTrue(!PEAR::isError($rs));    }        /**     * Regression test for File_Passwd_Smb.changePasswd method     * @access public     */    function testchangePasswd(){        $abc = 'E0FBA38268D0EC66EF1CB452D5885E53';        $abc = hash_nt('abc');        $this->pw->addUser('mike4', 123, array('userid' => 504));        $rs = $this->pw->changePasswd('mike4', 'abc');        $this->assertTrue($rs);        $this->assertTrue(!PEAR::isError($rs));        $this->assertEquals($abc, $this->pw->_users['mike4']['nthash']);    }        /**     * Regression test for File_Passwd_Smb.verifyEncryptedPasswd method     * @access public     */    function testverifyEncryptedPasswd(){        $this->pw->addUser('mike5', 'abc', array('userid' => 505));        $pass = hash_nt('abc');        $rs = $this->pw->verifyEncryptedPasswd('mike5', $pass);        $this->assertTrue($rs);        $this->assertTrue(!PEAR::isError($rs));    }        /**     * Regression test for File_Passwd_Smb.verifyPasswd method     * @access public     */    function testverifyPasswd(){        $this->pw->addUser('mike6', 'abc', array('userid' => 506));        $rs = $this->pw->verifyPasswd('mike6', 'abc');        $this->assertTrue($rs);        $this->assertTrue(!PEAR::isError($rs));    }        /**     * Regression test for File_Passwd_Smb.save method     * @access public     */    function testsave(){        $this->pw->setFile($GLOBALS['tmpfile']);        $this->pw->addUser('mike', 123, array('userid' => 501, 'comment' => 'Michael Wallner'));        $_lct = $this->pw->_users['mike']['lct'];        $rs = $this->pw->save();        $this->assertTrue($rs);        $this->assertTrue(!PEAR::isError($rs));        list($line) = file($GLOBALS['tmpfile']);        $test = explode(':', trim(array_shift(file($GLOBALS['tmpfile']))));        $array= array(            'mike',            '501',            hash_lm(123),            hash_nt(123),            '[U           ]',            $_lct,            'Michael Wallner'        );        $this->assertEquals($array, $test);    }    }?>

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?