aboutsummaryrefslogtreecommitdiff
path: root/models/openid-php-openid-782224d/Tests/Auth/OpenID/SReg.php
diff options
context:
space:
mode:
Diffstat (limited to 'models/openid-php-openid-782224d/Tests/Auth/OpenID/SReg.php')
-rw-r--r--models/openid-php-openid-782224d/Tests/Auth/OpenID/SReg.php672
1 files changed, 0 insertions, 672 deletions
diff --git a/models/openid-php-openid-782224d/Tests/Auth/OpenID/SReg.php b/models/openid-php-openid-782224d/Tests/Auth/OpenID/SReg.php
deleted file mode 100644
index db5cd5183..000000000
--- a/models/openid-php-openid-782224d/Tests/Auth/OpenID/SReg.php
+++ /dev/null
@@ -1,672 +0,0 @@
-<?php
-
-/**
- * SReg.php testing code.
- */
-
-require_once 'Auth/OpenID/SReg.php';
-require_once 'Auth/OpenID/Message.php';
-require_once 'Auth/OpenID/Server.php';
-
-class SRegURITest extends PHPUnit_Framework_TestCase {
- function test_is11()
- {
- $this->assertEquals(Auth_OpenID_SREG_NS_URI_1_1,
- Auth_OpenID_SREG_NS_URI);
- }
-}
-
-class CheckFieldNameTest extends PHPUnit_Framework_TestCase {
- function test_goodNamePasses()
- {
- global $Auth_OpenID_sreg_data_fields;
-
- foreach ($Auth_OpenID_sreg_data_fields as $field_name => $desc) {
- $this->assertTrue(Auth_OpenID_checkFieldName($field_name));
- }
- }
-
- function test_badNameFails()
- {
- $this->assertfalse(Auth_OpenID_checkFieldName('INVALID'));
- }
-
- function test_badTypeFails()
- {
- $this->assertfalse(Auth_OpenID_checkFieldName(null));
- }
-}
-
-// For supportsSReg test
-class FakeEndpoint {
- function FakeEndpoint($supported)
- {
- $this->supported = $supported;
- $this->checked_uris = array();
- }
-
- function usesExtension($namespace_uri)
- {
- $this->checked_uris[] = $namespace_uri;
- return in_array($namespace_uri, $this->supported);
- }
-}
-
-class SupportsSRegTest extends PHPUnit_Framework_TestCase {
- function test_unsupported()
- {
- $endpoint = new FakeEndpoint(array());
- $this->assertfalse(Auth_OpenID_supportsSReg($endpoint));
- $this->assertEquals(array(Auth_OpenID_SREG_NS_URI_1_1,
- Auth_OpenID_SREG_NS_URI_1_0),
- $endpoint->checked_uris);
- }
-
- function test_supported_1_1()
- {
- $endpoint = new FakeEndpoint(array(Auth_OpenID_SREG_NS_URI_1_1));
- $this->assertTrue(Auth_OpenID_supportsSReg($endpoint));
- $this->assertEquals(array(Auth_OpenID_SREG_NS_URI_1_1),
- $endpoint->checked_uris);
- }
-
- function test_supported_1_0()
- {
- $endpoint = new FakeEndpoint(array(Auth_OpenID_SREG_NS_URI_1_0));
- $this->assertTrue(Auth_OpenID_supportsSReg($endpoint));
- $this->assertEquals(array(Auth_OpenID_SREG_NS_URI_1_1,
- Auth_OpenID_SREG_NS_URI_1_0),
- $endpoint->checked_uris);
- }
-}
-
-class FakeMessage {
- function FakeMessage()
- {
- $this->openid1 = false;
- $this->namespaces = new Auth_OpenID_NamespaceMap();
- }
-
- function isOpenID1()
- {
- return $this->openid1;
- }
-}
-
-class GetNSTest extends PHPUnit_Framework_TestCase {
- function setUp()
- {
- $this->msg = new FakeMessage();
- }
-
- function test_openID2Empty()
- {
- $ns_uri = Auth_OpenID_SRegBase::_getSRegNS($this->msg);
- $this->assertEquals($this->msg->namespaces->getAlias($ns_uri), 'sreg');
- $this->assertEquals(Auth_OpenID_SREG_NS_URI, $ns_uri);
- }
-
- function test_openID1Empty()
- {
- $this->msg->openid1 = true;
- $ns_uri = Auth_OpenID_SRegBase::_getSRegNS($this->msg);
- $this->assertEquals($this->msg->namespaces->getAlias($ns_uri), 'sreg');
- $this->assertEquals(Auth_OpenID_SREG_NS_URI, $ns_uri);
- }
-
- function test_openID1Defined_1_0()
- {
- $this->msg->openid1 = true;
- $this->msg->namespaces->add(Auth_OpenID_SREG_NS_URI_1_0);
- $ns_uri = Auth_OpenID_SRegBase::_getSRegNS($this->msg);
- $this->assertEquals(Auth_OpenID_SREG_NS_URI_1_0, $ns_uri);
- }
-
- function test_openID1Defined_1_0_overrideAlias()
- {
- foreach (array(true, false) as $openid_version) {
- foreach (array(Auth_OpenID_SREG_NS_URI_1_0,
- Auth_OpenID_SREG_NS_URI_1_1) as $sreg_version) {
- foreach (array('sreg', 'bogus') as $alias) {
- $this->setUp();
-
- $this->msg->openid1 = $openid_version;
- $this->assertTrue($this->msg->namespaces->addAlias($sreg_version, $alias) !== null);
- $ns_uri = Auth_OpenID_SRegBase::_getSRegNS($this->msg);
- $this->assertEquals($this->msg->namespaces->getAlias($ns_uri), $alias);
- $this->assertEquals($sreg_version, $ns_uri);
- }
- }
- }
- }
-
- function test_openID1DefinedBadly()
- {
- $this->msg->openid1 = true;
- $this->msg->namespaces->addAlias('http://invalid/', 'sreg');
- $this->assertTrue(Auth_OpenID_SRegBase::_getSRegNS($this->msg) === null);
- }
-
- function test_openID2DefinedBadly()
- {
- $this->msg->openid1 = false;
- $this->msg->namespaces->addAlias('http://invalid/', 'sreg');
- $this->assertTrue(Auth_OpenID_SRegBase::_getSRegNS($this->msg) === null);
- }
-
- function test_openID2Defined_1_0()
- {
- $this->msg->namespaces->add(Auth_OpenID_SREG_NS_URI_1_0);
- $ns_uri = Auth_OpenID_SRegBase::_getSRegNS($this->msg);
- $this->assertEquals(Auth_OpenID_SREG_NS_URI_1_0, $ns_uri);
- }
-
- function test_openID1_sregNSfromArgs()
- {
- $args = array(
- 'sreg.optional' => 'nickname',
- 'sreg.required' => 'dob');
-
- $m = Auth_OpenID_Message::fromOpenIDArgs($args);
-
- $this->assertTrue($m->getArg(Auth_OpenID_SREG_NS_URI_1_1, 'optional') == 'nickname');
- $this->assertTrue($m->getArg(Auth_OpenID_SREG_NS_URI_1_1, 'required') == 'dob');
- }
-}
-
-global $__args_sentinel;
-global $__ns_sentinel;
-$__args_sentinel = 'args_sentinel';
-$__ns_sentinel = 'ns_sentinel';
-
-class SentinelFakeMessage {
- function SentinelFakeMessage($test_case)
- {
- $this->test_case =& $test_case;
- $this->message = new Auth_OpenID_Message();
- }
-
- function getArgs($ns_uri)
- {
- global $__ns_sentinel, $__args_sentinel;
- $this->test_case->assertEquals($__ns_sentinel, $ns_uri);
- return $__args_sentinel;
- }
-}
-
-// XXX Ugly hack. Thanks, PHP.
-global $__TestingReq_TEST_CASE;
-$__TestingReq_TEST_CASE = "FLUB";
-
-function __setTestCase($thing) {
- global $__TestingReq_TEST_CASE;
- $__TestingReq_TEST_CASE = $thing;
-}
-
-function &__getTestCase() {
- global $__TestingReq_TEST_CASE;
- return $__TestingReq_TEST_CASE;
-}
-
-class TestingReq extends Auth_OpenID_SRegRequest {
- static function fromOpenIDRequest($thing, $test_case)
- {
- __setTestCase($test_case);
- $obj = parent::fromOpenIDRequest($thing, 'TestingReq');
- return $obj;
- }
-
- static function _getSRegNS($unused)
- {
- global $__ns_sentinel;
- return $__ns_sentinel;
- }
-
- function parseExtensionArgs($args)
- {
- global $__args_sentinel;
- $tc =& __getTestCase();
- $tc->assertEquals($__args_sentinel, $args);
- }
-}
-
-class SRegRequestTest extends PHPUnit_Framework_TestCase {
- function test_constructEmpty()
- {
- $req = Auth_OpenID_SRegRequest::build();
- $this->assertEquals(array(), $req->optional);
- $this->assertEquals(array(), $req->required);
- $this->assertEquals(null, $req->policy_url);
- $this->assertEquals(Auth_OpenID_SREG_NS_URI, $req->ns_uri);
- }
-
- function test_constructFields()
- {
- $req = Auth_OpenID_SRegRequest::build(
- array('nickname'),
- array('gender'),
- 'http://policy',
- 'http://sreg.ns_uri');
- $this->assertEquals(array('gender'), $req->optional);
- $this->assertEquals(array('nickname'), $req->required);
- $this->assertEquals('http://policy', $req->policy_url);
- $this->assertEquals('http://sreg.ns_uri', $req->ns_uri);
- }
-
- function test_constructBadFields()
- {
- $this->assertTrue(Auth_OpenID_SRegRequest::build(array('elvis')) === null);
- }
-
- function test_fromOpenIDResponse()
- {
- $openid_req = new Auth_OpenID_Request();
-
- $msg = new SentinelFakeMessage($this);
- $openid_req->message =& $msg;
-
- $req = TestingReq::fromOpenIDRequest($openid_req, $this);
- $this->assertTrue(is_a($req, 'TestingReq'));
- }
-
- function test_parseExtensionArgs_empty()
- {
- $req = Auth_OpenID_SRegRequest::build();
- $this->assertTrue($req->parseExtensionArgs(array()));
- }
-
- function test_parseExtensionArgs_extraIgnored()
- {
- $req = Auth_OpenID_SRegRequest::build();
- $this->assertTrue($req->parseExtensionArgs(array('janrain' => 'inc')));
- }
-
- function test_parseExtensionArgs_nonStrict()
- {
- $req = Auth_OpenID_SRegRequest::build();
- $this->assertTrue($req->parseExtensionArgs(array('required' => 'beans')));
- $this->assertEquals(array(), $req->required);
- }
-
- function test_parseExtensionArgs_strict()
- {
- $req = Auth_OpenID_SRegRequest::build();
- $this->assertFalse($req->parseExtensionArgs(array('required' => 'beans'),
- true));
- }
-
- function test_parseExtensionArgs_policy()
- {
- $req = Auth_OpenID_SRegRequest::build();
- $this->assertTrue($req->parseExtensionArgs(
- array('policy_url' => 'http://policy'), true));
- $this->assertEquals('http://policy', $req->policy_url);
- }
-
- function test_parseExtensionArgs_requiredEmpty()
- {
- $req = Auth_OpenID_SRegRequest::build();
- $this->assertTrue($req->parseExtensionArgs(array('required' => ''), true));
- $this->assertEquals(array(), $req->required);
- }
-
- function test_parseExtensionArgs_optionalEmpty()
- {
- $req = Auth_OpenID_SRegRequest::build();
- $this->assertTrue($req->parseExtensionArgs(array('optional' => ''), true));
- $this->assertEquals(array(), $req->optional);
- }
-
- function test_parseExtensionArgs_optionalSingle()
- {
- $req = Auth_OpenID_SRegRequest::build();
- $this->assertTrue($req->parseExtensionArgs(array('optional' => 'nickname'), true));
- $this->assertEquals(array('nickname'), $req->optional);
- }
-
- function test_parseExtensionArgs_optionalList()
- {
- $req = Auth_OpenID_SRegRequest::build();
- $this->assertTrue($req->parseExtensionArgs(array('optional' => 'nickname,email'), true));
- $this->assertEquals(array('nickname','email'), $req->optional);
- }
-
- function test_parseExtensionArgs_optionalListBadNonStrict()
- {
- $req = Auth_OpenID_SRegRequest::build();
- $this->assertTrue($req->parseExtensionArgs(array('optional' => 'nickname,email,beer')));
- $this->assertEquals(array('nickname','email'), $req->optional);
- }
-
- function test_parseExtensionArgs_optionalListBadStrict()
- {
- $req = Auth_OpenID_SRegRequest::build();
- $this->assertFalse($req->parseExtensionArgs(array('optional' => 'nickname,email,beer'),
- true));
- }
-
- function test_parseExtensionArgs_bothNonStrict()
- {
- $req = Auth_OpenID_SRegRequest::build();
- $this->assertTrue($req->parseExtensionArgs(array('optional' => 'nickname',
- 'required' => 'nickname')));
- $this->assertEquals(array(), $req->optional);
- $this->assertEquals(array('nickname'), $req->required);
- }
-
- function test_parseExtensionArgs_bothStrict()
- {
- $req = Auth_OpenID_SRegRequest::build();
- $this->assertFalse($req->parseExtensionArgs(
- array('optional' => 'nickname',
- 'required' => 'nickname'),
- true));
- }
-
- function test_parseExtensionArgs_bothList()
- {
- $req = Auth_OpenID_SRegRequest::build();
- $this->assertTrue($req->parseExtensionArgs(array('optional' => 'nickname,email',
- 'required' => 'country,postcode'),
- true));
- $this->assertEquals(array('nickname','email'), $req->optional);
- $this->assertEquals(array('country','postcode'), $req->required);
- }
-
- function test_allRequestedFields()
- {
- $req = Auth_OpenID_SRegRequest::build();
- $this->assertEquals(array(), $req->allRequestedFields());
- $req->requestField('nickname');
- $this->assertEquals(array('nickname'), $req->allRequestedFields());
- $req->requestField('gender', true);
- $requested = $req->allRequestedFields();
- sort($requested);
- $this->assertEquals(array('gender', 'nickname'), $requested);
- }
-
- function test_wereFieldsRequested()
- {
- $req = Auth_OpenID_SRegRequest::build();
- $this->assertFalse($req->wereFieldsRequested());
- $req->requestField('gender');
- $this->assertTrue($req->wereFieldsRequested());
- }
-
- function test_contains()
- {
- global $Auth_OpenID_sreg_data_fields;
-
- $req = Auth_OpenID_SRegRequest::build();
- foreach ($Auth_OpenID_sreg_data_fields as $field_name => $desc) {
- $this->assertFalse($req->contains($field_name));
- }
-
- $this->assertFalse($req->contains('something else'));
-
- $req->requestField('nickname');
- foreach ($Auth_OpenID_sreg_data_fields as $field_name => $desc) {
- if ($field_name == 'nickname') {
- $this->assertTrue($req->contains($field_name));
- } else {
- $this->assertFalse($req->contains($field_name));
- }
- }
- }
-
- function test_requestField_bogus()
- {
- $req = Auth_OpenID_SRegRequest::build();
- $this->assertFalse($req->requestField('something else'));
- $this->assertFalse($req->requestField('something else', true));
- }
-
- function test_requestField()
- {
- global $Auth_OpenID_sreg_data_fields;
-
- // Add all of the fields, one at a time
- $req = Auth_OpenID_SRegRequest::build();
- $fields = array_keys($Auth_OpenID_sreg_data_fields);
- foreach ($fields as $field_name) {
- $req->requestField($field_name);
- }
-
- $this->assertEquals($fields, $req->optional);
- $this->assertEquals(array(), $req->required);
-
- // By default, adding the same fields over again has no effect
- foreach ($fields as $field_name) {
- $req->requestField($field_name);
- }
-
- $this->assertEquals($fields, $req->optional);
- $this->assertEquals(array(), $req->required);
-
- // Requesting a field as required overrides requesting it as
- // optional
- $expected = $fields;
- $overridden = array_pop($expected);
-
- $this->assertTrue($req->requestField($overridden, true));
-
- $this->assertEquals($expected, $req->optional);
- $this->assertEquals(array($overridden), $req->required);
-
- // Requesting a field as required overrides requesting it as
- // optional
- foreach ($fields as $field_name) {
- $this->assertTrue($req->requestField($field_name, true));
- }
-
- $this->assertEquals(array(), $req->optional);
- foreach ($fields as $f) {
- $this->assertTrue(in_array($f, $req->required));
- }
-
- // Requesting it as optional does not downgrade it to optional
- foreach ($fields as $field_name) {
- $req->requestField($field_name);
- }
-
- $this->assertEquals(array(), $req->optional);
-
- foreach ($fields as $f) {
- $this->assertTrue(in_array($f, $req->required));
- }
- }
-
- function test_requestFields_type()
- {
- $req = Auth_OpenID_SRegRequest::build();
- $this->assertFalse($req->requestFields('nickname'));
- }
-
- function test_requestFields()
- {
- global $Auth_OpenID_sreg_data_fields;
-
- // Add all of the fields
- $req = Auth_OpenID_SRegRequest::build();
-
- $fields = array_keys($Auth_OpenID_sreg_data_fields);
- $req->requestFields($fields);
-
- $this->assertEquals($fields, $req->optional);
- $this->assertEquals(array(), $req->required);
-
- // By default, adding the same fields over again has no effect
- $req->requestFields($fields);
-
- $this->assertEquals($fields, $req->optional);
- $this->assertEquals(array(), $req->required);
-
- // Requesting a field as required overrides requesting it as
- // optional
- $expected = $fields;
- $overridden = array_shift($expected);
- $req->requestFields(array($overridden), true);
-
- foreach ($expected as $f) {
- $this->assertTrue(in_array($f, $req->optional));
- }
-
- $this->assertEquals(array($overridden), $req->required);
-
- // Requesting a field as required overrides requesting it as
- // optional
- $req->requestFields($fields, true);
-
- $this->assertEquals(array(), $req->optional);
- $this->assertEquals($fields, $req->required);
-
- // Requesting it as optional does not downgrade it to optional
- $req->requestFields($fields);
-
- $this->assertEquals(array(), $req->optional);
- $this->assertEquals($fields, $req->required);
- }
-
- function test_getExtensionArgs()
- {
- $req = Auth_OpenID_SRegRequest::build();
- $this->assertEquals(array(), $req->getExtensionArgs());
-
- $this->assertTrue($req->requestField('nickname'));
- $this->assertEquals(array('optional' => 'nickname'),
- $req->getExtensionArgs());
-
- $this->assertTrue($req->requestField('email'));
- $this->assertEquals(array('optional' => 'nickname,email'),
- $req->getExtensionArgs());
-
- $this->assertTrue($req->requestField('gender', true));
- $this->assertEquals(array('optional' => 'nickname,email',
- 'required' => 'gender'),
- $req->getExtensionArgs());
-
- $this->assertTrue($req->requestField('postcode', true));
- $this->assertEquals(array('optional' => 'nickname,email',
- 'required' => 'gender,postcode'),
- $req->getExtensionArgs());
-
- $req->policy_url = 'http://policy.invalid/';
- $this->assertEquals(array('optional' => 'nickname,email',
- 'required' => 'gender,postcode',
- 'policy_url' => 'http://policy.invalid/'),
- $req->getExtensionArgs());
- }
-}
-
-class DummySuccessResponse {
- function DummySuccessResponse($message, $signed_stuff)
- {
- $this->message = $message;
- $this->signed_stuff = $signed_stuff;
- }
-
- function getSignedNS($ns_uri)
- {
- return $this->signed_stuff;
- }
-}
-
-class SRegResponseTest extends PHPUnit_Framework_TestCase {
- function test_fromSuccessResponse_signed()
- {
- $message = Auth_OpenID_Message::fromOpenIDArgs(array(
- 'sreg.nickname' => 'The Mad Stork',
- ));
- $success_resp = new DummySuccessResponse($message, array());
- $sreg_resp = Auth_OpenID_SRegResponse::fromSuccessResponse($success_resp);
- $this->assertTrue(count($sreg_resp->contents()) === 0);
- }
-
- function test_fromSuccessResponse_unsigned()
- {
- $message = Auth_OpenID_Message::fromOpenIDArgs(array(
- 'sreg.nickname' => 'The Mad Stork',
- ));
-
- $success_resp = new DummySuccessResponse($message, array());
- $sreg_resp = Auth_OpenID_SRegResponse::fromSuccessResponse($success_resp,
- false);
-
- $this->assertEquals(array('nickname' => 'The Mad Stork'),
- $sreg_resp->contents());
- }
-}
-
-class SendFieldsTest extends PHPUnit_Framework_TestCase {
- function _test($uri)
- {
- // Create a request message with simple registration fields
- $sreg_req = Auth_OpenID_SRegRequest::build(array('nickname', 'email'),
- array('fullname'));
- $req_msg = new Auth_OpenID_Message($uri);
- $req_msg->updateArgs(Auth_OpenID_SREG_NS_URI,
- $sreg_req->getExtensionArgs());
-
- $req = new Auth_OpenID_Request();
- $req->message =& $req_msg;
- $req->namespace = $req_msg->getOpenIDNamespace();
-
- // -> send checkid_* request
-
- // Create an empty response message
- $resp_msg = new Auth_OpenID_Message($uri);
- $resp = new Auth_OpenID_ServerResponse($req);
- $resp->fields = $resp_msg;
-
- $data = array(
- 'nickname' => 'linusaur',
- 'postcode' => '12345',
- 'country' => 'US',
- 'gender' => 'M',
- 'fullname' => 'Leonhard Euler',
- 'email' => 'president@whitehouse.gov',
- 'dob' => '0000-00-00',
- 'language' => 'en-us');
-
- // Put the requested data fields in the response message
- $sreg_resp = Auth_OpenID_SRegResponse::extractResponse($sreg_req, $data);
- $resp->addExtension($sreg_resp);
-
- // <- send id_res response
-
- // Extract the fields that were sent
- $sreg_data_resp = $resp->fields->getArgs(Auth_OpenID_SREG_NS_URI);
- $this->assertEquals(
- array('nickname' => 'linusaur',
- 'email' => 'president@whitehouse.gov',
- 'fullname' => 'Leonhard Euler'),
- $sreg_data_resp);
- }
-
- function test()
- {
- foreach (array(Auth_OpenID_OPENID1_NS,
- Auth_OpenID_OPENID2_NS) as $uri) {
- $this->_test($uri);
- }
- }
-}
-
-class Tests_Auth_OpenID_SReg extends PHPUnit_Framework_TestSuite {
- function getName()
- {
- return "Tests_Auth_OpenID_SReg";
- }
-
- function Tests_Auth_OpenID_SReg()
- {
- $this->addTestSuite('SRegURITest');
- $this->addTestSuite('CheckFieldNameTest');
- $this->addTestSuite('SupportsSRegTest');
- $this->addTestSuite('GetNSTest');
- $this->addTestSuite('SRegRequestTest');
- $this->addTestSuite('SRegResponseTest');
- $this->addTestSuite('SendFieldsTest');
- }
-}
-