test_responses.rb
63 lines
| 2.1 KiB
| text/x-ruby
|
RubyLexer
|
r2376 | require "test/unit" | ||
require "openid/consumer/discovery" | ||||
require "openid/consumer/responses" | ||||
module OpenID | ||||
class Consumer | ||||
module TestResponses | ||||
class TestSuccessResponse < Test::Unit::TestCase | ||||
def setup | ||||
@endpoint = OpenIDServiceEndpoint.new | ||||
@endpoint.claimed_id = 'identity_url' | ||||
end | ||||
def test_extension_response | ||||
q = { | ||||
'ns.sreg' => 'urn:sreg', | ||||
'ns.unittest' => 'urn:unittest', | ||||
'unittest.one' => '1', | ||||
'unittest.two' => '2', | ||||
'sreg.nickname' => 'j3h', | ||||
'return_to' => 'return_to', | ||||
} | ||||
signed_list = q.keys.map { |k| 'openid.' + k } | ||||
msg = Message.from_openid_args(q) | ||||
resp = SuccessResponse.new(@endpoint, msg, signed_list) | ||||
utargs = resp.extension_response('urn:unittest', false) | ||||
assert_equal(utargs, {'one' => '1', 'two' => '2'}) | ||||
sregargs = resp.extension_response('urn:sreg', false) | ||||
assert_equal(sregargs, {'nickname' => 'j3h'}) | ||||
end | ||||
def test_extension_response_signed | ||||
args = { | ||||
'ns.sreg' => 'urn:sreg', | ||||
'ns.unittest' => 'urn:unittest', | ||||
'unittest.one' => '1', | ||||
'unittest.two' => '2', | ||||
'sreg.nickname' => 'j3h', | ||||
'sreg.dob' => 'yesterday', | ||||
'return_to' => 'return_to', | ||||
'signed' => 'sreg.nickname,unittest.one,sreg.dob', | ||||
} | ||||
signed_list = ['openid.sreg.nickname', | ||||
'openid.unittest.one', | ||||
'openid.sreg.dob',] | ||||
msg = Message.from_openid_args(args) | ||||
resp = SuccessResponse.new(@endpoint, msg, signed_list) | ||||
# All args in this NS are signed, so expect all. | ||||
sregargs = resp.extension_response('urn:sreg', true) | ||||
assert_equal(sregargs, {'nickname' => 'j3h', 'dob' => 'yesterday'}) | ||||
# Not all args in this NS are signed, so expect nil when | ||||
# asking for them. | ||||
utargs = resp.extension_response('urn:unittest', true) | ||||
assert_equal(nil, utargs) | ||||
end | ||||
end | ||||
end | ||||
end | ||||
end | ||||