annotate lib/plugins/open_id_authentication/test/open_id_authentication_test.rb @ 1517:dffacf8a6908 redmine-2.5

Update to Redmine SVN revision 13367 on 2.5-stable branch
author Chris Cannam
date Tue, 09 Sep 2014 09:29:00 +0100
parents 433d4f72a19b
children
rev   line source
Chris@0 1 require File.dirname(__FILE__) + '/test_helper'
Chris@0 2
Chris@0 3 class OpenIdAuthenticationTest < Test::Unit::TestCase
Chris@0 4 def setup
Chris@0 5 @controller = Class.new do
Chris@0 6 include OpenIdAuthentication
Chris@0 7 def params() {} end
Chris@0 8 end.new
Chris@0 9 end
Chris@0 10
Chris@0 11 def test_authentication_should_fail_when_the_identity_server_is_missing
Chris@0 12 open_id_consumer = mock()
Chris@0 13 open_id_consumer.expects(:begin).raises(OpenID::OpenIDError)
Chris@0 14 @controller.expects(:open_id_consumer).returns(open_id_consumer)
Chris@0 15 @controller.expects(:logger).returns(mock(:error => true))
Chris@0 16
Chris@0 17 @controller.send(:authenticate_with_open_id, "http://someone.example.com") do |result, identity_url|
Chris@0 18 assert result.missing?
Chris@0 19 assert_equal "Sorry, the OpenID server couldn't be found", result.message
Chris@0 20 end
Chris@0 21 end
Chris@0 22
Chris@0 23 def test_authentication_should_be_invalid_when_the_identity_url_is_invalid
Chris@0 24 @controller.send(:authenticate_with_open_id, "!") do |result, identity_url|
Chris@0 25 assert result.invalid?, "Result expected to be invalid but was not"
Chris@0 26 assert_equal "Sorry, but this does not appear to be a valid OpenID", result.message
Chris@0 27 end
Chris@0 28 end
Chris@0 29
Chris@0 30 def test_authentication_should_fail_when_the_identity_server_times_out
Chris@0 31 open_id_consumer = mock()
Chris@0 32 open_id_consumer.expects(:begin).raises(Timeout::Error, "Identity Server took too long.")
Chris@0 33 @controller.expects(:open_id_consumer).returns(open_id_consumer)
Chris@0 34 @controller.expects(:logger).returns(mock(:error => true))
Chris@0 35
Chris@0 36 @controller.send(:authenticate_with_open_id, "http://someone.example.com") do |result, identity_url|
Chris@0 37 assert result.missing?
Chris@0 38 assert_equal "Sorry, the OpenID server couldn't be found", result.message
Chris@0 39 end
Chris@0 40 end
Chris@0 41
Chris@0 42 def test_authentication_should_begin_when_the_identity_server_is_present
Chris@0 43 @controller.expects(:begin_open_id_authentication)
Chris@0 44 @controller.send(:authenticate_with_open_id, "http://someone.example.com")
Chris@0 45 end
Chris@0 46 end