class TestOAuthRequest
Constants
- ARGV
Public Instance Methods
create_stale_request(minutes_stale)
click to toggle source
# File lib/lti2_commons/test/test_oauth_request.rb, line 32 def create_stale_request(minutes_stale) now = Time::now stale_time = now + (minutes_stale*60.0) # puts "Now: #{now} Stale_time: #{stale_time}]" params = @params.dup params['oauth_timestamp'] = stale_time.to_i request = Lti2Commons::Signer.create_signed_request @launch_url, @http_method, @consumer_key, @consumer_secret, params # dump_oauth_parameters request, "stale create" request end
dump_oauth_parameters(request, label=nil)
click to toggle source
# File lib/lti2_commons/test/test_oauth_request.rb, line 43 def dump_oauth_parameters(request, label=nil) puts ">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>" if label puts "*** #{label}" end puts "non_oauth_parameters: #{request.non_oauth_parameters.inspect}" puts "oauth_header: #{request.oauth_header}" puts "oauth_parameters: #{request.oauth_parameters.inspect}" puts "signature_base_string: #{request.signature_base_string}" puts "signed? #{request.signed?}" puts "signed_uri: #{request.signed_uri}" puts "<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<" end
setup()
click to toggle source
# File lib/lti2_commons/test/test_oauth_request.rb, line 18 def setup @launch_url = 'http://localhost:3000/tenants/3' # @launch_url = 'http://vst-bc.com/tenants/3/books' @http_method = 'post' @consumer_key = '12345' @consumer_secret = 'secret' @params = {'oauth_consumer_key'=>'12345', 'oauth_signature_method'=> "HMAC-SHA1", 'user_id'=>'jt'} @oauth_request = OAuth::OAuthProxy::OAuthRequest.new \ "method" => @http_method, "uri" => @launch_url, "parameters" => @params @nonce_cache = Lti2Commons::Cache.new :ttl => 300 end
test_break_signature()
click to toggle source
# File lib/lti2_commons/test/test_oauth_request.rb, line 101 def test_break_signature request = Lti2Commons::Signer.create_signed_request @launch_url, @http_method, @consumer_key, @consumer_secret, @params request.parameters['oauth_signature'] = "asdf" assert_equal false, (request.verify_signature? @consumer_secret, @nonce_cache) end
test_create_signed_request_get()
click to toggle source
# File lib/lti2_commons/test/test_oauth_request.rb, line 75 def test_create_signed_request_get request = Lti2Commons::Signer.create_signed_request @launch_url, 'get', @consumer_key, @consumer_secret, @params assert_not_nil request signature_base_string = request.signature_base_string assert_equal "GET&http%3A%2F%2Flocalhost%3A3000%2Ftenants%2F3&basiclti_submit%3DPress%2520t", signature_base_string[0..76] end
test_create_signed_request_put()
click to toggle source
# File lib/lti2_commons/test/test_oauth_request.rb, line 82 def test_create_signed_request_put request = Lti2Commons::Signer.create_signed_request @launch_url, 'put', @consumer_key, @consumer_secret, @params assert_not_nil request signature_base_string = request.signature_base_string assert_equal "PUT&http%3A%2F%2Flocalhost%3A3000%2Ftenants%2F3&basiclti_submit%3DPress%2520t", signature_base_string[0..76] end
test_create_signed_request_simple_post()
click to toggle source
# File lib/lti2_commons/test/test_oauth_request.rb, line 68 def test_create_signed_request_simple_post request = Lti2Commons::Signer.create_signed_request @launch_url, @http_method, @consumer_key, @consumer_secret, @params assert_not_nil request signature_base_string = request.signature_base_string assert_equal "POST&http%3A%2F%2Flocalhost%3A3000%2Ftenants%2F3&basiclti_submit%3DPress%2520t", signature_base_string[0..77] end
test_duplicate_nonce()
click to toggle source
# File lib/lti2_commons/test/test_oauth_request.rb, line 132 def test_duplicate_nonce params = @params.dup params['oauth_nonce'] = "1234" request = Lti2Commons::Signer.create_signed_request @launch_url, @http_method, @consumer_key, @consumer_secret, params assert_equal true, (request.verify_signature? @consumer_secret, @nonce_cache) request = Lti2Commons::Signer.create_signed_request @launch_url, @http_method, @consumer_key, @consumer_secret, params assert_equal false, (request.verify_signature? @consumer_secret, @nonce_cache) end
test_exception_on_signature_error()
click to toggle source
# File lib/lti2_commons/test/test_oauth_request.rb, line 107 def test_exception_on_signature_error request = Lti2Commons::Signer.create_signed_request @launch_url, @http_method, @consumer_key, @consumer_secret, @params request.parameters['oauth_signature'] = "asdf" begin request.verify_signature? @consumer_secret, @nonce_cache, false fail "Exception expected here" rescue # expected end end
test_lti_message_body()
click to toggle source
# File lib/lti2_commons/test/test_oauth_request.rb, line 96 def test_lti_message_body assert_not_nil MessageSupport.create_lti_message_body @launch_url, @params puts MessageSupport.create_lti_message_body @launch_url, @params end
test_lti_message_body_from_signed_request()
click to toggle source
# File lib/lti2_commons/test/test_oauth_request.rb, line 89 def test_lti_message_body_from_signed_request request = Signer.create_signed_request @launch_url, 'put', @consumer_key, @consumer_secret, @params assert_not_nil request assert_not_nil MessageSupport.create_lti_message_body_from_signed_request request puts MessageSupport.create_lti_message_body_from_signed_request request end
test_oauth_request()
click to toggle source
# File lib/lti2_commons/test/test_oauth_request.rb, line 57 def test_oauth_request request = Signer.create_signed_request @launch_url, @http_method, @consumer_key, @consumer_secret, @params dump_oauth_parameters(request, 'postsigning') end
test_timeout_error()
click to toggle source
# File lib/lti2_commons/test/test_oauth_request.rb, line 125 def test_timeout_error request = create_stale_request 10 assert_equal false, (request.verify_signature? @consumer_secret, @nonce_cache) request = create_stale_request(-10) assert_equal false, (request.verify_signature? @consumer_secret, @nonce_cache) end
test_timeout_within_margin()
click to toggle source
# File lib/lti2_commons/test/test_oauth_request.rb, line 118 def test_timeout_within_margin request = create_stale_request 2 assert_equal true, (request.verify_signature? @consumer_secret, @nonce_cache) request = create_stale_request(-2) assert_equal true, (request.verify_signature? @consumer_secret, @nonce_cache) end
test_valid_request()
click to toggle source
# File lib/lti2_commons/test/test_oauth_request.rb, line 62 def test_valid_request request = Signer.create_signed_request @launch_url, @http_method, @consumer_key, @consumer_secret, @params assert_not_nil request assert_equal true, request.verify_signature?(@consumer_secret, @nonce_cache) end