lithium\tests\cases\net\http\AuthTest::testDigestHeader PHP Method

testDigestHeader() public method

public testDigestHeader ( )
    public function testDigestHeader()
    {
        $username = 'gwoo';
        $password = 'li3';
        $nc = '00000001';
        $cnonce = md5(time());
        $user = md5("gwoo:app:li3");
        $nonce = "4bca0fbca7bd0:{$nc}:{$cnonce}:auth";
        $req = md5("GET:/http_auth");
        $hash = md5("{$user}:{$nonce}:{$req}");
        $data = array('realm' => 'app', 'method' => 'GET', 'uri' => '/http_auth', 'qop' => 'auth', 'nonce' => '4bca0fbca7bd0', 'opaque' => 'd3fb67a7aa4d887ec4bf83040a820a46');
        $data = Auth::encode($username, $password, $data);
        $header = Auth::header($data);
        $this->assertPattern('/Digest/', $header);
        preg_match('/response="(.*?)"/', $header, $matches);
        list($match, $response) = $matches;
        $expected = $hash;
        $result = $response;
        $this->assertEqual($expected, $result);
    }