From 580cd62f0a4fac5dba37a8a152afaecd99e8c767 Mon Sep 17 00:00:00 2001 From: Cash Costello Date: Thu, 15 Dec 2011 20:07:48 -0500 Subject: removed old libraries - depends on openid_api now --- .../Tests/Auth/OpenID/Message.php | 1251 -------------------- 1 file changed, 1251 deletions(-) delete mode 100644 models/openid-php-openid-782224d/Tests/Auth/OpenID/Message.php (limited to 'models/openid-php-openid-782224d/Tests/Auth/OpenID/Message.php') diff --git a/models/openid-php-openid-782224d/Tests/Auth/OpenID/Message.php b/models/openid-php-openid-782224d/Tests/Auth/OpenID/Message.php deleted file mode 100644 index 0205fc45f..000000000 --- a/models/openid-php-openid-782224d/Tests/Auth/OpenID/Message.php +++ /dev/null @@ -1,1251 +0,0 @@ -assertEquals($this->msg->getArg($ns, $key), $expected); - if ($expected === null) { - $this->assertEquals( - $this->msg->getArg($ns, $key, $a_default), $a_default); - $result = $this->msg->getArg($ns, $key, Auth_OpenID_NO_DEFAULT); - $this->assertTrue(Auth_OpenID::isFailure($result)); - } else { - $this->assertEquals( - $this->msg->getArg($ns, $key, $a_default), $expected); - $this->assertEquals( - $this->msg->getArg($ns, $key, Auth_OpenID_NO_DEFAULT), - $expected); - } - } -} - -class Tests_Auth_OpenID_EmptyMessage extends MessageTest { - function setUp() - { - $this->msg = new Auth_OpenID_Message(); - } - - function test_toPostArgs() - { - $this->assertEquals($this->msg->toPostArgs(), array()); - } - - function test_toArgs() - { - $this->assertEquals($this->msg->toArgs(), array()); - } - - function test_toKVForm() - { - $this->assertEquals($this->msg->toKVForm(), ''); - } - - function test_toURLEncoded() - { - $this->assertEquals($this->msg->toURLEncoded(), ''); - } - - function test_toURL() - { - $base_url = 'http://base.url/'; - $this->assertEquals($this->msg->toURL($base_url), $base_url); - } - - function test_getOpenID() - { - $this->assertEquals($this->msg->getOpenIDNamespace(), null); - } - - function test_getKeyOpenID() - { - $key = $this->msg->getKey(Auth_OpenID_OPENID_NS, 'foo'); - $this->assertTrue(Auth_OpenID::isFailure($key)); - - $this->msg->setOpenIDNamespace(Auth_OpenID_OPENID1_NS, false); - $key = $this->msg->getKey(Auth_OpenID_OPENID_NS, 'foo'); - $this->assertEquals('openid.foo', $key); - } - - function test_getKeyBARE() - { - $this->assertEquals($this->msg->getKey(Auth_OpenID_BARE_NS, 'foo'), 'foo'); - } - - function test_getKeyNS1() - { - $this->assertEquals($this->msg->getKey(Auth_OpenID_OPENID1_NS, 'foo'), null); - } - - function test_getKeyNS2() - { - $this->assertEquals($this->msg->getKey(Auth_OpenID_OPENID2_NS, 'foo'), null); - } - - function test_getKeyNS3() - { - $this->assertEquals($this->msg->getKey('urn:nothing-significant', 'foo'), - null); - } - - function test_hasKey() - { - $this->assertEquals($this->msg->hasKey(Auth_OpenID_OPENID_NS, 'foo'), false); - } - - function test_hasKeyBARE() - { - $this->assertEquals($this->msg->hasKey(Auth_OpenID_BARE_NS, 'foo'), false); - } - - function test_hasKeyNS1() - { - $this->assertEquals($this->msg->hasKey(Auth_OpenID_OPENID1_NS, 'foo'), false); - } - - function test_hasKeyNS2() - { - $this->assertEquals($this->msg->hasKey(Auth_OpenID_OPENID2_NS, 'foo'), false); - } - - function test_hasKeyNS3() - { - $this->assertEquals($this->msg->hasKey('urn:nothing-significant', 'foo'), - false); - } - - function test_getArg() - { - $result = $this->msg->getArg(Auth_OpenID_OPENID_NS, 'foo'); - $this->assertTrue(Auth_OpenID::isFailure($result)); - } - - function test_getArgs() - { - $result = $this->msg->getArgs(Auth_OpenID_OPENID_NS); - $this->assertTrue(Auth_OpenID::isFailure($result)); - } - - function test_getArgsBARE() - { - $this->assertEquals($this->msg->getArgs(Auth_OpenID_BARE_NS), array()); - } - - function test_getArgsNS1() - { - $this->assertEquals($this->msg->getArgs(Auth_OpenID_OPENID1_NS), array()); - } - - function test_getArgsNS2() - { - $this->assertEquals($this->msg->getArgs(Auth_OpenID_OPENID2_NS), array()); - } - - function test_getArgsNS3() - { - $this->assertEquals($this->msg->getArgs('urn:nothing-significant'), array()); - } - - function test_updateArgs() - { - $result= $this->msg->updateArgs(Auth_OpenID_OPENID_NS, - array('does not' => 'matter')); - $this->assertTrue(Auth_OpenID::isFailure($result)); - } - - function _test_updateArgsNS($ns) - { - $update_args = array( - 'Camper van Beethoven' => 'David Lowery', - 'Magnolia Electric Co.' => 'Jason Molina'); - - $this->assertEquals($this->msg->getArgs($ns), array()); - $this->msg->updateArgs($ns, $update_args); - $this->assertEquals($this->msg->getArgs($ns), $update_args); - } - - function test_updateArgsBARE() - { - $this->_test_updateArgsNS(Auth_OpenID_BARE_NS); - } - - function test_updateArgsNS1() - { - $this->_test_updateArgsNS(Auth_OpenID_OPENID1_NS); - } - - function test_updateArgsNS2() - { - $this->_test_updateArgsNS(Auth_OpenID_OPENID2_NS); - } - - function test_updateArgsNS3() - { - $this->_test_updateArgsNS('urn:nothing-significant'); - } - - function test_setArg() - { - $result = $this->msg->setArg(Auth_OpenID_OPENID_NS, - 'does not', 'matter'); - $this->assertTrue(Auth_OpenID::isFailure($result)); - } - - function _test_setArgNS($ns) - { - $key = 'Camper van Beethoven'; - $value = 'David Lowery'; - $this->assertEquals($this->msg->getArg($ns, $key), null); - $this->msg->setArg($ns, $key, $value); - $this->assertEquals($this->msg->getArg($ns, $key), $value); - } - - function test_setArgBARE() - { - $this->_test_setArgNS(Auth_OpenID_BARE_NS); - } - - function test_setArgNS1() - { - $this->_test_setArgNS(Auth_OpenID_OPENID1_NS); - } - - function test_setArgNS2() - { - $this->_test_setArgNS(Auth_OpenID_OPENID2_NS); - } - - function test_setArgNS3() - { - $this->_test_setArgNS('urn:nothing-significant'); - } - - function test_delArg() - { - $result = $this->msg->delArg(Auth_OpenID_OPENID_NS, 'does not'); - $this->assertTrue(Auth_OpenID::isFailure($result)); - } - - function _test_delArgNS($ns) - { - $key = 'Camper van Beethoven'; - $this->assertEquals($this->msg->delArg($ns, $key), false); - } - - function test_delArgBARE() - { - $this->_test_delArgNS(Auth_OpenID_BARE_NS); - } - - function test_delArgNS1() - { - $this->_test_delArgNS(Auth_OpenID_OPENID1_NS); - } - - function test_delArgNS2() - { - $this->_test_delArgNS(Auth_OpenID_OPENID2_NS); - } - - function test_delArgNS3() - { - $this->_test_delArgNS('urn:nothing-significant'); - } - - function test_isOpenID1() - { - $this->assertFalse($this->msg->isOpenID1()); - } - - function test_isOpenID2() - { - $this->assertFalse($this->msg->isOpenID2()); - } - - function test_args() - { - $this->_argTest(Auth_OpenID_BARE_NS, 'foo'); - $this->_argTest(Auth_OpenID_OPENID1_NS, 'foo'); - $this->_argTest(Auth_OpenID_OPENID2_NS, 'foo'); - $this->_argTest('urn:nothing-significant', 'foo'); - } -} - -class Tests_Auth_OpenID_OpenID1Message extends MessageTest { - function setUp() - { - $this->msg = Auth_OpenID_Message::fromPostArgs(array('openid.mode' => 'error', - 'openid.error' => 'unit test')); - } - - function test_toPostArgs() - { - $this->assertEquals($this->msg->toPostArgs(), - array('openid.mode' => 'error', - 'openid.error' => 'unit test')); - } - - function test_toArgs() - { - $this->assertEquals($this->msg->toArgs(), - array('mode' => 'error', - 'error' => 'unit test')); - } - - function test_toKVForm() - { - $this->assertEquals($this->msg->toKVForm(), - "error:unit test\nmode:error\n"); - } - - function test_toURLEncoded() - { - $this->assertEquals($this->msg->toURLEncoded(), - 'openid.error=unit+test&openid.mode=error'); - } - - function test_toURL() - { - $base_url = 'http://base.url/'; - $actual = $this->msg->toURL($base_url); - $actual_base = substr($actual, 0, strlen($base_url)); - $this->assertEquals($actual_base, $base_url); - $this->assertEquals($actual[strlen($base_url)], '?'); - $query = substr($actual, strlen($base_url) + 1); - - $parsed = Auth_OpenID::parse_str($query); - - $this->assertEquals($parsed, array('openid.mode' => 'error', - 'openid.error' => 'unit test')); - } - - function test_getOpenID() - { - $this->assertEquals($this->msg->getOpenIDNamespace(), - Auth_OpenID_OPENID1_NS); - $this->assertTrue($this->msg->namespaces->isImplicit(Auth_OpenID_OPENID1_NS)); - } - - function test_getKeyOpenID() - { - $this->assertEquals($this->msg->getKey(Auth_OpenID_OPENID_NS, 'mode'), - 'openid.mode'); - } - - function test_getKeyBARE() - { - $this->assertEquals($this->msg->getKey(Auth_OpenID_BARE_NS, 'mode'), 'mode'); - } - - function test_getKeyNS1() - { - $this->assertEquals( - $this->msg->getKey(Auth_OpenID_OPENID1_NS, 'mode'), 'openid.mode'); - } - - function test_getKeyNS2() - { - $this->assertEquals($this->msg->getKey(Auth_OpenID_OPENID2_NS, 'mode'), null); - } - - function test_getKeyNS3() - { - $this->assertEquals( - $this->msg->getKey('urn:nothing-significant', 'mode'), null); - } - - function test_hasKey() - { - $this->assertEquals($this->msg->hasKey(Auth_OpenID_OPENID_NS, 'mode'), true); - } - - function test_hasKeyBARE() - { - $this->assertEquals($this->msg->hasKey(Auth_OpenID_BARE_NS, 'mode'), false); - } - - function test_hasKeyNS1() - { - $this->assertEquals($this->msg->hasKey(Auth_OpenID_OPENID1_NS, 'mode'), true); - } - - function test_hasKeyNS2() - { - $this->assertEquals( - $this->msg->hasKey(Auth_OpenID_OPENID2_NS, 'mode'), false); - } - - function test_hasKeyNS3() - { - $this->assertEquals( - $this->msg->hasKey('urn:nothing-significant', 'mode'), false); - } - - function test_getArgs() - { - $this->assertEquals($this->msg->getArgs(Auth_OpenID_OPENID_NS), - array('mode' => 'error', - 'error' => 'unit test')); - } - - function test_getArgsBARE() - { - $this->assertEquals($this->msg->getArgs(Auth_OpenID_BARE_NS), array()); - } - - function test_getArgsNS1() - { - $this->assertEquals($this->msg->getArgs(Auth_OpenID_OPENID1_NS), - array('mode' => 'error', - 'error' => 'unit test')); - } - - function test_getArgsNS2() - { - $this->assertEquals($this->msg->getArgs(Auth_OpenID_OPENID2_NS), array()); - } - - function test_getArgsNS3() - { - $this->assertEquals($this->msg->getArgs('urn:nothing-significant'), array()); - } - - function _test_updateArgsNS($ns, $before=null) - { - if ($before === null) { - $before = array(); - } - - $update_args = array( - 'Camper van Beethoven' => 'David Lowery', - 'Magnolia Electric Co.' => 'Jason Molina'); - - $this->assertEquals($this->msg->getArgs($ns), $before); - $this->msg->updateArgs($ns, $update_args); - $after = $before; - $after = array_merge($after, $update_args); - $this->assertEquals($this->msg->getArgs($ns), $after); - } - - function test_updateArgs() - { - $this->_test_updateArgsNS(Auth_OpenID_OPENID_NS, - array('mode' => 'error', 'error' => 'unit test')); - } - - function test_updateArgsBARE() - { - $this->_test_updateArgsNS(Auth_OpenID_BARE_NS); - } - - function test_updateArgsNS1() - { - $this->_test_updateArgsNS(Auth_OpenID_OPENID1_NS, - array('mode' => 'error', 'error' => 'unit test')); - } - - function test_updateArgsNS2() - { - $this->_test_updateArgsNS(Auth_OpenID_OPENID2_NS); - } - - function test_updateArgsNS3() - { - $this->_test_updateArgsNS('urn:nothing-significant'); - } - - function _test_setArgNS($ns) - { - $key = 'Camper van Beethoven'; - $value = 'David Lowery'; - $this->assertEquals($this->msg->getArg($ns, $key), null); - $this->msg->setArg($ns, $key, $value); - $this->assertEquals($this->msg->getArg($ns, $key), $value); - } - - function test_setArg() - { - $this->_test_setArgNS(Auth_OpenID_OPENID_NS); - } - - function test_setArgBARE() - { - $this->_test_setArgNS(Auth_OpenID_BARE_NS); - } - - function test_setArgNS1() - { - $this->_test_setArgNS(Auth_OpenID_OPENID1_NS); - } - - function test_setArgNS2() - { - $this->_test_setArgNS(Auth_OpenID_OPENID2_NS); - } - - function test_setArgNS3() - { - $this->_test_setArgNS('urn:nothing-significant'); - } - - function _test_delArgNS($ns) - { - $key = 'Camper van Beethoven'; - $value = 'David Lowery'; - - $this->assertEquals($this->msg->delArg($ns, $key), false); - $this->msg->setArg($ns, $key, $value); - $this->assertEquals($this->msg->getArg($ns, $key), $value); - $this->msg->delArg($ns, $key); - $this->assertEquals($this->msg->getArg($ns, $key), null); - } - - function test_delArg() - { - $this->_test_delArgNS(Auth_OpenID_OPENID_NS); - } - - function test_delArgBARE() - { - $this->_test_delArgNS(Auth_OpenID_BARE_NS); - } - - function test_delArgNS1() - { - $this->_test_delArgNS(Auth_OpenID_OPENID1_NS); - } - - function test_delArgNS2() - { - $this->_test_delArgNS(Auth_OpenID_OPENID2_NS); - } - - function test_delArgNS3() - { - $this->_test_delArgNS('urn:nothing-significant'); - } - - function test_isOpenID1() - { - $this->assertTrue($this->msg->isOpenID1()); - } - - function test_isOpenID2() - { - $this->assertFalse($this->msg->isOpenID2()); - } - - function test_args() - { - $this->_argTest(Auth_OpenID_BARE_NS, 'mode'); - $this->_argTest(Auth_OpenID_OPENID_NS, 'mode', 'error'); - $this->_argTest(Auth_OpenID_OPENID1_NS, 'mode', 'error'); - $this->_argTest(Auth_OpenID_OPENID2_NS, 'mode'); - $this->_argTest('urn:nothing-significant', 'mode'); - } -} - -class Tests_Auth_OpenID_OpenID1ExplicitMessage extends PHPUnit_Framework_TestCase { - function setUp() - { - $this->msg = Auth_OpenID_Message::fromPostArgs(array('openid.mode' => 'error', - 'openid.error' => 'unit test', - 'openid.ns' => Auth_OpenID_OPENID1_NS)); - } - - function test_isOpenID1() - { - $this->assertTrue($this->msg->isOpenID1()); - $this->assertFalse( - $this->msg->namespaces->isImplicit(Auth_OpenID_OPENID1_NS)); - } - - function test_isOpenID2() - { - $this->assertFalse($this->msg->isOpenID2()); - } - - function test_toPostArgs() - { - $this->assertEquals($this->msg->toPostArgs(), - array('openid.mode' => 'error', - 'openid.error' => 'unit test', - 'openid.ns' => Auth_OpenID_OPENID1_NS)); - } - - function test_toArgs() - { - $this->assertEquals($this->msg->toArgs(), - array('mode' => 'error', - 'error' => 'unit test', - 'ns' => Auth_OpenID_OPENID1_NS)); - } - - function test_toKVForm() - { - $this->assertEquals($this->msg->toKVForm(), - "error:unit test\nmode:error\nns:". - Auth_OpenID_OPENID1_NS."\n"); - } - - function test_toURLEncoded() - { - $this->assertEquals($this->msg->toURLEncoded(), - 'openid.error=unit+test&openid.mode=error&openid.ns=http%3A%2F%2Fopenid.net%2Fsignon%2F1.0'); - } - - function test_toURL() - { - $base_url = 'http://base.url/'; - $actual = $this->msg->toURL($base_url); - $actual_base = substr($actual, 0, strlen($base_url)); - $this->assertEquals($actual_base, $base_url); - $this->assertEquals($actual[strlen($base_url)], '?'); - $query = substr($actual, strlen($base_url) + 1); - - $parsed = Auth_OpenID::parse_str($query); - - $this->assertEquals($parsed, array('openid.mode' => 'error', - 'openid.error' => 'unit test', - 'openid.ns' => Auth_OpenID_OPENID1_NS)); - } -} - -class Tests_Auth_OpenID_OpenID2Message extends MessageTest { - function setUp() - { - $this->msg = Auth_OpenID_Message::fromPostArgs(array('openid.mode' => 'error', - 'openid.error' => 'unit test', - 'openid.ns' => Auth_OpenID_OPENID2_NS)); - $this->msg->setArg(Auth_OpenID_BARE_NS, "xey", "value"); - } - - function test_toPostArgs() - { - $this->assertEquals($this->msg->toPostArgs(), - array('openid.mode' => 'error', - 'openid.error' => 'unit test', - 'openid.ns' => Auth_OpenID_OPENID2_NS, - 'xey' => 'value')); - } - - function test_toArgs() - { - // This method can't tolerate BARE_NS. - $this->msg->delArg(Auth_OpenID_BARE_NS, "xey"); - $this->assertEquals($this->msg->toArgs(), - array('mode' => 'error', - 'error' => 'unit test', - 'ns' => Auth_OpenID_OPENID2_NS)); - } - - function test_toKVForm() - { - // Can't tolerate BARE_NS in kvform - $this->msg->delArg(Auth_OpenID_BARE_NS, "xey"); - $this->assertEquals($this->msg->toKVForm(), - sprintf("error:unit test\nmode:error\nns:%s\n", - Auth_OpenID_OPENID2_NS)); - } - - function _test_urlencoded($s) - { - $expected = 'openid.error=unit+test&openid.mode=error&' . - 'openid.ns=%s&xey=value'; - - $expected = sprintf($expected, urlencode(Auth_OpenID_OPENID2_NS)); - $this->assertEquals($s, $expected); - } - - function test_toURLEncoded() - { - $this->_test_urlencoded($this->msg->toURLEncoded()); - } - - function test_toURL() - { - $base_url = 'http://base.url/'; - $actual = $this->msg->toURL($base_url); - $actual_base = substr($actual, 0, strlen($base_url)); - - $this->assertEquals($actual_base, $base_url); - $this->assertEquals($actual[strlen($base_url)], '?'); - $query = substr($actual, strlen($base_url) + 1); - $this->_test_urlencoded($query); - } - - function test_getOpenID() - { - $this->assertEquals($this->msg->getOpenIDNamespace(), - Auth_OpenID_OPENID2_NS); - } - - function test_getKeyOpenID() - { - $this->assertEquals($this->msg->getKey(Auth_OpenID_OPENID_NS, 'mode'), - 'openid.mode'); - } - - function test_getKeyBARE() - { - $this->assertEquals($this->msg->getKey(Auth_OpenID_BARE_NS, 'mode'), 'mode'); - } - - function test_getKeyNS1() - { - $this->assertEquals( - $this->msg->getKey(Auth_OpenID_OPENID1_NS, 'mode'), null); - } - - function test_getKeyNS2() - { - $this->assertEquals( - $this->msg->getKey(Auth_OpenID_OPENID2_NS, 'mode'), 'openid.mode'); - } - - function test_getKeyNS3() - { - $this->assertEquals( - $this->msg->getKey('urn:nothing-significant', 'mode'), null); - } - - function test_hasKeyOpenID() - { - $this->assertEquals($this->msg->hasKey(Auth_OpenID_OPENID_NS, 'mode'), true); - } - - function test_hasKeyBARE() - { - $this->assertEquals($this->msg->hasKey(Auth_OpenID_BARE_NS, 'mode'), false); - } - - function test_hasKeyNS1() - { - $this->assertEquals( - $this->msg->hasKey(Auth_OpenID_OPENID1_NS, 'mode'), false); - } - - function test_hasKeyNS2() - { - $this->assertEquals( - $this->msg->hasKey(Auth_OpenID_OPENID2_NS, 'mode'), true); - } - - function test_hasKeyNS3() - { - $this->assertEquals( - $this->msg->hasKey('urn:nothing-significant', 'mode'), false); - } - - function test_getArgsOpenID() - { - $this->assertEquals($this->msg->getArgs(Auth_OpenID_OPENID_NS), - array('mode' => 'error', - 'error' => 'unit test')); - } - - function test_getArgsBARE() - { - $this->assertEquals($this->msg->getArgs(Auth_OpenID_BARE_NS), - array('xey' => 'value')); - } - - function test_getArgsNS1() - { - $this->assertEquals($this->msg->getArgs(Auth_OpenID_OPENID1_NS), array()); - } - - function test_getArgsNS2() - { - $this->assertEquals($this->msg->getArgs(Auth_OpenID_OPENID2_NS), - array('mode' => 'error', - 'error' => 'unit test')); - } - - function test_getArgsNS3() - { - $this->assertEquals($this->msg->getArgs('urn:nothing-significant'), array()); - } - - function _test_updateArgsNS($ns, $before=null) - { - if ($before === null) { - $before = array(); - } - - $update_args = array( - 'Camper van Beethoven' => 'David Lowery', - 'Magnolia Electric Co.' => 'Jason Molina'); - - $this->assertEquals($this->msg->getArgs($ns), $before); - $this->msg->updateArgs($ns, $update_args); - $after = $before; - $after = array_merge($after, $update_args); - $this->assertEquals($this->msg->getArgs($ns), $after); - } - - function test_updateArgsOpenID() - { - $this->_test_updateArgsNS(Auth_OpenID_OPENID_NS, - array('mode' => 'error', 'error' => 'unit test')); - } - - function test_updateArgsBARE() - { - $this->_test_updateArgsNS(Auth_OpenID_BARE_NS, - array('xey' => 'value')); - } - - function test_updateArgsNS1() - { - $this->_test_updateArgsNS(Auth_OpenID_OPENID1_NS); - } - - function test_updateArgsNS2() - { - $this->_test_updateArgsNS(Auth_OpenID_OPENID2_NS, - array('mode' => 'error', 'error' => 'unit test')); - } - - function test_updateArgsNS3() - { - $this->_test_updateArgsNS('urn:nothing-significant'); - } - - function _test_setArgNS($ns) - { - $key = 'Camper van Beethoven'; - $value = 'David Lowery'; - $this->assertEquals($this->msg->getArg($ns, $key), null); - $this->msg->setArg($ns, $key, $value); - $this->assertEquals($this->msg->getArg($ns, $key), $value); - } - - function test_setArgOpenID() - { - $this->_test_setArgNS(Auth_OpenID_OPENID_NS); - } - - function test_setArgBARE() - { - $this->_test_setArgNS(Auth_OpenID_BARE_NS); - } - - function test_setArgNS1() - { - $this->_test_setArgNS(Auth_OpenID_OPENID1_NS); - } - - function test_setArgNS2() - { - $this->_test_setArgNS(Auth_OpenID_OPENID2_NS); - } - - function test_setArgNS3() - { - $this->_test_setArgNS('urn:nothing-significant'); - } - - function test_badAlias() - { - // Make sure dotted aliases and OpenID protocol fields are not - // allowed as namespace aliases. - - global $Auth_OpenID_OPENID_PROTOCOL_FIELDS; - - $all = array_merge($Auth_OpenID_OPENID_PROTOCOL_FIELDS, array('dotted.alias')); - - foreach ($all as $f) { - $args = array(sprintf('openid.ns.%s', $f) => 'blah', - sprintf('openid.%s.foo', $f) => 'test'); - - // .fromPostArgs covers .fromPostArgs, .fromOpenIDArgs, - // ._fromOpenIDArgs, and .fromOpenIDArgs (since it calls - // .fromPostArgs). Python code raises AssertionError, but - // we usually return null for bad things in PHP. - $this->assertEquals($this->msg->fromPostArgs($args), null); - } - } - - function _test_delArgNS($ns) - { - $key = 'Camper van Beethoven'; - $value = 'David Lowery'; - - $this->assertEquals($this->msg->delArg($ns, $key), false); - $this->msg->setArg($ns, $key, $value); - $this->assertEquals($this->msg->getArg($ns, $key), $value); - $this->msg->delArg($ns, $key); - $this->assertEquals($this->msg->getArg($ns, $key), null); - } - - function test_delArgOpenID() - { - $this->_test_delArgNS(Auth_OpenID_OPENID_NS); - } - - function test_delArgBARE() - { - $this->_test_delArgNS(Auth_OpenID_BARE_NS); - } - - function test_delArgNS1() - { - $this->_test_delArgNS(Auth_OpenID_OPENID1_NS); - } - - function test_delArgNS2() - { - $this->_test_delArgNS(Auth_OpenID_OPENID2_NS); - } - - function test_delArgNS3() - { - $this->_test_delArgNS('urn:nothing-significant'); - } - - function test_overwriteExtensionArg() - { - $ns = 'urn:unittest_extension'; - $key = 'mykey'; - $value_1 = 'value_1'; - $value_2 = 'value_2'; - - $this->msg->setArg($ns, $key, $value_1); - $this->assertTrue($this->msg->getArg($ns, $key) == $value_1); - $this->msg->setArg($ns, $key, $value_2); - $this->assertTrue($this->msg->getArg($ns, $key) == $value_2); - } - - function test_argList() - { - $this->assertEquals($this->msg->fromPostArgs(array('arg' => array(1, 2, 3))), - null); - } - - function test_isOpenID1() - { - $this->assertFalse($this->msg->isOpenID1()); - } - - function test_isOpenID2() - { - $this->assertTrue($this->msg->isOpenID2()); - } - - function test_args() - { - $this->_argTest(Auth_OpenID_BARE_NS, 'mode'); - $this->_argTest(Auth_OpenID_OPENID_NS, 'mode', 'error'); - $this->_argTest(Auth_OpenID_OPENID1_NS, 'mode'); - $this->_argTest(Auth_OpenID_OPENID2_NS, 'mode', 'error'); - $this->_argTest('urn:nothing-significant', 'mode'); - } -} - -class Tests_Auth_OpenID_GeneralMessageTest extends PHPUnit_Framework_TestCase { - function setUp() - { - $this->postargs = array( - 'openid.ns' => Auth_OpenID_OPENID2_NS, - 'openid.mode' => 'checkid_setup', - 'openid.identity' => 'http://bogus.example.invalid:port/', - 'openid.assoc_handle' => 'FLUB', - 'openid.return_to' => 'Neverland'); - - $this->action_url = 'scheme://host:port/path?query'; - - $this->form_tag_attrs = array( - 'company' => 'janrain', - 'class' => 'fancyCSS'); - - $this->submit_text = 'GO!'; - - // Expected data regardless of input - - $this->required_form_attrs = array( - 'accept-charset' => 'UTF-8', - 'enctype' => 'application/x-www-form-urlencoded', - 'method' => 'post'); - } - - function _checkForm($html, $message_, $action_url, - $form_tag_attrs, $submit_text) - { - $parser = Auth_Yadis_getXMLParser(); - - // Parse HTML source - $this->assertTrue($parser->init($html, array())); - - // Get root element - $form = $parser->evalXPath('/form[1]'); - $this->assertTrue(count($form) == 1); - $form = $form[0]; - - // Check required form attributes - $form_attrs = $parser->attributes($form); - foreach ($this->required_form_attrs as $k => $v) { - $this->assertTrue($form_attrs[$k] == $v); - } - - // Check extra form attributes - foreach ($form_tag_attrs as $k => $v) { - // Skip attributes that already passed the required - // attribute check, since they should be ignored by the - // form generation code. - if (in_array($k, array_keys($this->required_form_attrs))) { - continue; - } - - $this->assertTrue($form_attrs[$k] == $v, - "Form attr $k is ".$form_attrs[$k]." (expected $v)"); - } - - // Check hidden fields against post args - $hiddens = array(); - $input_elements = $parser->evalXPath('input', $form); - foreach ($input_elements as $e) { - $attrs = $parser->attributes($e); - if (strtoupper($attrs['type']) == 'HIDDEN') { - $hiddens[] = $e; - } - } - - // For each post arg, make sure there is a hidden with that - // value. Make sure there are no other hiddens. - $postargs = $message_->toPostArgs(); - foreach ($postargs as $name => $value) { - $found = false; - - foreach ($hiddens as $e) { - $attrs = $parser->attributes($e); - if ($attrs['name'] == $name) { - $this->assertTrue($attrs['value'] == $value); - $found = true; - break; - } - } - - if (!$found) { - $this->fail("Post arg $name not found in form"); - } - } - - $keys = array_keys($postargs); - foreach ($hiddens as $e) { - $attrs = $parser->attributes($e); - $this->assertTrue(in_array($attrs['name'], $keys)); - } - - // Check action URL - $this->assertTrue($form_attrs['action'] == $action_url); - - // Check submit text - $submits = array(); - foreach ($input_elements as $e) { - $attrs = $parser->attributes($e); - if (strtoupper($attrs['type']) == 'SUBMIT') { - $submits[] = $e; - } - } - - $this->assertTrue(count($submits) == 1); - - $attrs = $parser->attributes($submits[0]); - $this->assertTrue($attrs['value'] == $submit_text); - } - - function test_toFormMarkup() - { - $m = Auth_OpenID_Message::fromPostArgs($this->postargs); - $html = $m->toFormMarkup($this->action_url, $this->form_tag_attrs, - $this->submit_text); - $this->_checkForm($html, $m, $this->action_url, - $this->form_tag_attrs, $this->submit_text); - } - - function test_overrideMethod() - { - // Be sure that caller cannot change form method to GET. - $m = Auth_OpenID_Message::fromPostArgs($this->postargs); - - $tag_attrs = $this->form_tag_attrs; - $tag_attrs['method'] = 'GET'; - - $html = $m->toFormMarkup($this->action_url, $this->form_tag_attrs, - $this->submit_text); - $this->_checkForm($html, $m, $this->action_url, - $this->form_tag_attrs, $this->submit_text); - } - - function test_overrideRequired() - { - // Be sure that caller CANNOT change the form charset for - // encoding type. - $m = Auth_OpenID_Message::fromPostArgs($this->postargs); - - $tag_attrs = $this->form_tag_attrs; - $tag_attrs['accept-charset'] = 'UCS4'; - $tag_attrs['enctype'] = 'invalid/x-broken'; - - $html = $m->toFormMarkup($this->action_url, $tag_attrs, - $this->submit_text); - $this->_checkForm($html, $m, $this->action_url, - $tag_attrs, $this->submit_text); - } - - function test_setOpenIDNamespace_invalid() - { - $m = new Auth_OpenID_Message(); - $invalid_things = array( - // Empty string is not okay here. - '', - // Good guess! But wrong. - 'http://openid.net/signon/2.0', - // What? - 'http://specs%\\\r2Eopenid.net/auth/2.0', - // Too much escapings! - 'http%3A%2F%2Fspecs.openid.net%2Fauth%2F2.0', - // This is a Type URI, not a openid.ns value. - 'http://specs.openid.net/auth/2.0/signon', - ); - - foreach ($invalid_things as $x) { - $this->assertTrue($m->setOpenIDNamespace($x, true) === false); - } - } - - function test_isOpenID1() - { - $v1_namespaces = array( - // Yes, there are two of them. - 'http://openid.net/signon/1.1', - 'http://openid.net/signon/1.0', - ); - - foreach ($v1_namespaces as $ns) { - $m = new Auth_OpenID_Message($ns); - $this->assertTrue($m->isOpenID1(), - "$ns not recognized as OpenID 1"); - $this->assertEquals($ns, $m->getOpenIDNamespace()); - $this->assertTrue($m->namespaces->isImplicit($ns)); - } - } - - function test_isOpenID2() - { - $ns = 'http://specs.openid.net/auth/2.0'; - $m = new Auth_OpenID_Message($ns); - $this->assertTrue($m->isOpenID2()); - $this->assertFalse( - $m->namespaces->isImplicit(Auth_OpenID_NULL_NAMESPACE)); - $this->assertEquals($ns, $m->getOpenIDNamespace()); - } - - function test_setOpenIDNamespace_explicit() - { - $m = new Auth_OpenID_Message(); - $m->setOpenIDNamespace(Auth_OpenID_THE_OTHER_OPENID1_NS, false); - $this->assertFalse($m->namespaces->isImplicit( - Auth_OpenID_THE_OTHER_OPENID1_NS)); - } - - function test_setOpenIDNamespace_implicit() - { - $m = new Auth_OpenID_Message(); - $m->setOpenIDNamespace(Auth_OpenID_THE_OTHER_OPENID1_NS, true); - $this->assertTrue( - $m->namespaces->isImplicit(Auth_OpenID_THE_OTHER_OPENID1_NS)); - } - - - function test_explicitOpenID11NSSerialzation() - { - $m = new Auth_OpenID_Message(); - $m->setOpenIDNamespace(Auth_OpenID_THE_OTHER_OPENID1_NS, false); - - $post_args = $m->toPostArgs(); - $this->assertEquals($post_args, - array('openid.ns' => - Auth_OpenID_THE_OTHER_OPENID1_NS)); - } - - function test_fromPostArgs_ns11() - { - // An example of the stuff that some Drupal installations send us, - // which includes openid.ns but is 1.1. - $query = array( - 'openid.assoc_handle' => '', - 'openid.claimed_id' => 'http://foobar.invalid/', - 'openid.identity' => 'http://foobar.myopenid.com', - 'openid.mode' => 'checkid_setup', - 'openid.ns' => 'http://openid.net/signon/1.1', - 'openid.ns.sreg' => 'http://openid.net/extensions/sreg/1.1', - 'openid.return_to' => 'http://drupal.invalid/return_to', - 'openid.sreg.required' => 'nickname,email', - 'openid.trust_root' => 'http://drupal.invalid', - ); - $m = Auth_OpenID_Message::fromPostArgs($query); - $this->assertTrue($m->isOpenID1()); - } -} - -class Tests_Auth_OpenID_NamespaceMap extends PHPUnit_Framework_TestCase { - function test_onealias() - { - $nsm = new Auth_OpenID_NamespaceMap(); - $uri = 'http://example.com/foo'; - $alias = "foo"; - $nsm->addAlias($uri, $alias); - $this->assertTrue($nsm->getNamespaceURI($alias) == $uri); - $this->assertTrue($nsm->getAlias($uri) == $alias); - } - - function test_iteration() - { - $nsm = new Auth_OpenID_NamespaceMap(); - $uripat = 'http://example.com/foo%d'; - - $nsm->add(sprintf($uripat, 0)); - - for ($n = 1; $n < 23; $n++) { - $this->assertTrue($nsm->contains(sprintf($uripat, $n - 1))); - $this->assertTrue($nsm->isDefined(sprintf($uripat, $n - 1))); - $nsm->add(sprintf($uripat, $n)); - } - - foreach ($nsm->iteritems() as $pair) { - list($uri, $alias) = $pair; - $this->assertTrue('ext'.substr($uri, 22) == $alias); - } - - $it = $nsm->iterAliases(); - $this->assertTrue(count($it) == 23); - - $it = $nsm->iterNamespaceURIs(); - $this->assertTrue(count($it) == 23); - } -} - -class Tests_Auth_OpenID_Message extends PHPUnit_Framework_TestCase { -} - -global $Tests_Auth_OpenID_Message_other; -$Tests_Auth_OpenID_Message_other = array( - new Tests_Auth_OpenID_EmptyMessage(), - new Tests_Auth_OpenID_OpenID1Message(), - new Tests_Auth_OpenID_OpenID2Message(), - new Tests_Auth_OpenID_NamespaceMap(), - new Tests_Auth_OpenID_OpenID1ExplicitMessage(), - new Tests_Auth_OpenID_GeneralMessageTest() - ); - - -- cgit v1.2.3