lti_provider_engine 0.0.3 → 0.0.4

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,15 @@
1
+ ---
2
+ !binary "U0hBMQ==":
3
+ metadata.gz: !binary |-
4
+ YzZkNjE2Yzc1ZTRmNzM4NzcwNGNiZWQ3MDI4ZjE1MzY0ZDJlMzJkMw==
5
+ data.tar.gz: !binary |-
6
+ MjQ5YTY2MTRkZjM5ZjRkOWI5NWJkNzk3NGFmOTZkODIzYTRmMzNhZQ==
7
+ SHA512:
8
+ metadata.gz: !binary |-
9
+ MGZiNzI2NTUxMDU3NDZlZmVmZWJiMjk0MDAxODBmNTZiN2JmNWZkYWFmNzE3
10
+ MTJhYWI5Y2QyNjU2ODIxZWQ2Zjc2YTg4ZWY0NGM5N2MzZTdmNjk4MDQ5NjE2
11
+ Mzg4N2Y3MjdmNzllNTQxYzczNzMzZmU3ZjhiMTYyOTZlMGU5ZjA=
12
+ data.tar.gz: !binary |-
13
+ ZGJjOWI1ODc4MjczNWQzNDA0ZDUxMDFlZjE4MjI2YzU0OGM0M2U1Zjc5ZDdh
14
+ NWNkOTljOTZhMzgyY2ViZWNmOTEzYWJmMTQ1ODczOTQ5ZjA2MDMwZWYxOWUx
15
+ Y2FlMTlkOTA5NWZkNDA5Y2Y2NDlmM2NkODA3MWJiYmI3MzA4M2I=
@@ -62,7 +62,7 @@ module LtiProvider
62
62
  'custom_canvas_course_id' => :course_id,
63
63
  'custom_canvas_user_id' => :user_id,
64
64
  'lis_person_name_full' => :user_name,
65
- 'roles' => :user_roles,
65
+ 'ext_roles' => :user_roles,
66
66
  'tool_consumer_instance_guid' => :tool_consumer_instance_guid,
67
67
  'user_image' => :user_avatar_url
68
68
  }.each do |provider_param, method_name|
data/config/routes.rb CHANGED
@@ -1,6 +1,6 @@
1
1
  LtiProvider::Engine.routes.draw do
2
- match "/cookie_test", to: "lti#cookie_test", as: "cookie_test"
3
- match "/consume_launch", to: "lti#consume_launch", as: "consume_launch"
4
- match "/launch", to: "lti#launch", as: "lti_launch"
5
- match "/configure(.:format)", to: "lti#configure", as: "lti_configure"
2
+ get "/cookie_test", to: "lti#cookie_test", as: "cookie_test"
3
+ get "/consume_launch", to: "lti#consume_launch", as: "consume_launch"
4
+ post "/launch", to: "lti#launch", as: "lti_launch"
5
+ get "/configure(.:format)", to: "lti#configure", as: "lti_configure"
6
6
  end
@@ -49,6 +49,10 @@ module LtiProvider
49
49
  current_account_id.present?
50
50
  end
51
51
 
52
+ def user_roles
53
+ session[:user_roles]
54
+ end
55
+
52
56
  def not_acceptable
53
57
  render text: "Unable to process request", status: 406
54
58
  end
@@ -1,3 +1,3 @@
1
1
  module LtiProvider
2
- VERSION = "0.0.3"
2
+ VERSION = "0.0.4"
3
3
  end
@@ -27,7 +27,7 @@ describe LtiProvider::LtiController do
27
27
  # the oauth rack request proxy doesn't know to strip the 'action' and
28
28
  # 'controller' parameters, so we need to stub them here so the request also
29
29
  # gets signed with them
30
- consumer.stubs(:to_params).returns(parameters)
30
+ allow(consumer).to receive(:to_params).and_return(parameters)
31
31
 
32
32
  data = consumer.generate_launch_data
33
33
  request.env['RAW_POST_DATA'] = data.to_query
@@ -41,7 +41,7 @@ describe LtiProvider::LtiController do
41
41
  context "when successful" do
42
42
  it "proceeds to oauth" do
43
43
  controller.session[:cookie_test] = true
44
- controller.should_receive(:consume_launch)
44
+ expect(controller).to receive(:consume_launch)
45
45
  get :cookie_test, use_route: :lti_provider
46
46
  end
47
47
  end
@@ -49,7 +49,7 @@ describe LtiProvider::LtiController do
49
49
  context "when failed" do
50
50
  it "renders a message" do
51
51
  get :cookie_test, use_route: :lti_provider
52
- response.should render_template('cookie_test')
52
+ expect(response).to render_template('cookie_test')
53
53
  end
54
54
  end
55
55
  end
@@ -61,25 +61,25 @@ describe LtiProvider::LtiController do
61
61
  end
62
62
 
63
63
  it "performs a cookie test and passes along the nonce" do
64
- response.redirect_url.should include(lti_provider.cookie_test_url(nonce: '', host: request.host))
64
+ expect(response.redirect_url).to include(lti_provider.cookie_test_url(nonce: '', host: request.host))
65
65
  end
66
66
 
67
67
  it "saves the launch record" do
68
- LtiProvider::Launch.first.user_id.should == user_id
68
+ expect(LtiProvider::Launch.first.user_id).to eq user_id
69
69
  end
70
70
  end
71
71
 
72
72
  context "without a key" do
73
73
  it "renders an error message" do
74
74
  post_lti_request!('', '')
75
- response.body.should match "Consumer key not provided."
75
+ expect(response.body).to match "Consumer key not provided."
76
76
  end
77
77
  end
78
78
 
79
79
  context "with an invalid secret" do
80
80
  it "renders an error message" do
81
81
  post_lti_request!(LtiProvider::Config.key, 'invalid')
82
- response.body.should match "The OAuth signature was invalid."
82
+ expect(response.body).to match "The OAuth signature was invalid."
83
83
  end
84
84
  end
85
85
  end
@@ -92,24 +92,25 @@ describe LtiProvider::LtiController do
92
92
  provider_params: {
93
93
  'custom_canvas_course_id' => 1,
94
94
  'custom_canvas_user_id' => 2,
95
- 'tool_consumer_instance_guid' => '123abc'
95
+ 'tool_consumer_instance_guid' => '123abc',
96
+ 'ext_roles' => 'student'
96
97
  }
97
- },
98
- without_protection: true)
98
+ })
99
99
  end
100
100
 
101
101
  describe "a successful launch" do
102
102
  it "sets the session params" do
103
103
  get :consume_launch, nonce: 'abcd', use_route: :lti_provider
104
- session[:course_id].should == 1
105
- session[:user_id].should == 2
106
- session[:canvas_url].should == 'http://canvas'
107
- session[:tool_consumer_instance_guid].should == '123abc'
104
+ expect(session[:course_id]).to eq 1
105
+ expect(session[:user_id]).to eq 2
106
+ expect(session[:canvas_url]).to eq 'http://canvas'
107
+ expect(session[:tool_consumer_instance_guid]).to eq '123abc'
108
+ expect(session[:user_roles]).to eq 'student'
108
109
  end
109
110
 
110
111
  it "destroys the launch" do
111
112
  get :consume_launch, nonce: 'abcd', use_route: :lti_provider
112
- LtiProvider::Launch.count.should == 0
113
+ expect(LtiProvider::Launch.count).to eq 0
113
114
  end
114
115
  end
115
116
 
@@ -120,22 +121,22 @@ describe LtiProvider::LtiController do
120
121
 
121
122
  it "shows an error" do
122
123
  get :consume_launch, nonce: 'abcd', use_route: :lti_provider
123
- response.body.should =~ /not launched successfully/
124
+ expect(response.body).to be =~ /not launched successfully/
124
125
  end
125
126
  end
126
127
 
127
128
  describe "a failed launch" do
128
129
  it "shows an error" do
129
130
  get :consume_launch, nonce: 'invalid', use_route: :lti_provider
130
- response.body.should =~ /not launched successfully/
131
+ expect(response.body).to be =~ /not launched successfully/
131
132
  end
132
133
  end
133
134
  end
134
135
 
135
136
  describe "configure.xml" do
136
- it "should succeed" do
137
+ it "succeeds" do
137
138
  get :configure, format: :xml, use_route: :lti_provider
138
- response.should be_success
139
+ expect(response).to be_success
139
140
  end
140
141
  end
141
142
  end
@@ -2,7 +2,7 @@ require File.expand_path('../boot', __FILE__)
2
2
 
3
3
  require 'rails/all'
4
4
 
5
- Bundler.require
5
+ Bundler.require(:default, Rails.env)
6
6
  require 'lti_provider'
7
7
 
8
8
  module Dummy
@@ -43,16 +43,13 @@ module Dummy
43
43
  # like if you have constraints or database-specific column types
44
44
  # config.active_record.schema_format = :sql
45
45
 
46
- # Enforce whitelist mode for mass assignment.
47
- # This will create an empty whitelist of attributes available for mass-assignment for all models
48
- # in your app. As such, your models will need to explicitly whitelist or blacklist accessible
49
- # parameters by using an attr_accessible or attr_protected declaration.
50
- config.active_record.whitelist_attributes = true
51
-
52
46
  # Enable the asset pipeline
53
47
  config.assets.enabled = true
54
48
 
55
49
  # Version of your assets, change this if you want to expire all your assets
56
50
  config.assets.version = '1.0'
51
+
52
+ # true is the default, setting this explicitly to avoid deprecation warnings
53
+ config.i18n.enforce_available_locales = true
57
54
  end
58
55
  end
@@ -6,8 +6,7 @@ Dummy::Application.configure do
6
6
  # since you don't have to restart the web server when you make code changes.
7
7
  config.cache_classes = false
8
8
 
9
- # Log error messages when you accidentally call methods on nil.
10
- config.whiny_nils = true
9
+ config.eager_load = false
11
10
 
12
11
  # Show full error reports and disable caching
13
12
  config.consider_all_requests_local = true
@@ -22,9 +21,6 @@ Dummy::Application.configure do
22
21
  # Only use best-standards-support built into browsers
23
22
  config.action_dispatch.best_standards_support = :builtin
24
23
 
25
- # Raise exception on mass assignment protection for Active Record models
26
- config.active_record.mass_assignment_sanitizer = :strict
27
-
28
24
  # Log the query plan for queries taking more than this (works
29
25
  # with SQLite, MySQL, and PostgreSQL)
30
26
  config.active_record.auto_explain_threshold_in_seconds = 0.5
@@ -61,6 +61,8 @@ Dummy::Application.configure do
61
61
  # Send deprecation notices to registered listeners
62
62
  config.active_support.deprecation = :notify
63
63
 
64
+ config.eager_load = true
65
+
64
66
  # Log the query plan for queries taking more than this (works
65
67
  # with SQLite, MySQL, and PostgreSQL)
66
68
  # config.active_record.auto_explain_threshold_in_seconds = 0.5
@@ -11,8 +11,7 @@ Dummy::Application.configure do
11
11
  config.serve_static_assets = true
12
12
  config.static_cache_control = "public, max-age=3600"
13
13
 
14
- # Log error messages when you accidentally call methods on nil
15
- config.whiny_nils = true
14
+ config.eager_load = false
16
15
 
17
16
  # Show full error reports and disable caching
18
17
  config.consider_all_requests_local = true
@@ -29,9 +28,6 @@ Dummy::Application.configure do
29
28
  # ActionMailer::Base.deliveries array.
30
29
  config.action_mailer.delivery_method = :test
31
30
 
32
- # Raise exception on mass assignment protection for Active Record models
33
- config.active_record.mass_assignment_sanitizer = :strict
34
-
35
31
  # Print deprecation notices to the stderr
36
32
  config.active_support.deprecation = :stderr
37
33
  end
@@ -5,3 +5,4 @@
5
5
  # Make sure the secret is at least 30 characters and all random,
6
6
  # no regular words or you'll be exposed to dictionary attacks.
7
7
  Dummy::Application.config.secret_token = '8f96a1f3e47ab183a6d3c4c5ac4c1ae9f1b271effdba9e1e9ebfbb7cba9bf0fad6182c716dc62c604cbaaae6d86e93c26b867262a04ef0ad770ece90161ede0e'
8
+ Dummy::Application.config.secret_key_base = '2a505b354d477f5afeb132e5fa73bd13d118cf0a5b0faa3f7f14dc1dcb6c518d5d0a01ad8dd8c9ea3f46052723fc0a7ef04d22e80bd52109986458d64fe372c5'
@@ -3768,3 +3768,1791 @@ Completed 200 OK in 1ms (Views: 0.6ms | ActiveRecord: 0.0ms)
3768
3768
  Initializing LTI key and secret using configuration in /Users/simon/Instructure/projects/lti_provider_engine/spec/dummy/config/lti.yml
3769
3769
  Initializing LTI XML config using configuration in /Users/simon/Instructure/projects/lti_provider_engine/spec/dummy/config/lti_xml.yml
3770
3770
  Connecting to database specified by database.yml
3771
+ Initializing LTI key and secret using configuration in /Users/simon/Instructure/projects/lti_provider_engine/spec/dummy/config/lti.yml
3772
+ Initializing LTI XML config using configuration in /Users/simon/Instructure/projects/lti_provider_engine/spec/dummy/config/lti_xml.yml
3773
+ Connecting to database specified by database.yml
3774
+  (0.2ms) begin transaction
3775
+ Processing by LtiProvider::LtiController#cookie_test as HTML
3776
+ Rendered /Users/simon/Instructure/projects/lti_provider_engine/app/views/lti_provider/lti/cookie_test.html.erb within layouts/lti_provider/application (0.1ms)
3777
+ Completed 200 OK in 24.8ms (Views: 24.6ms | ActiveRecord: 0.0ms)
3778
+  (0.0ms) rollback transaction
3779
+  (0.0ms) begin transaction
3780
+ Processing by LtiProvider::LtiController#cookie_test as HTML
3781
+ Completed 200 OK in 0.5ms (Views: 0.4ms | ActiveRecord: 0.0ms)
3782
+  (0.0ms) rollback transaction
3783
+  (0.0ms) begin transaction
3784
+  (0.0ms) SAVEPOINT active_record_1
3785
+ SQL (3.2ms) INSERT INTO "lti_provider_launches" ("canvas_url", "created_at", "nonce", "provider_params", "updated_at") VALUES (?, ?, ?, ?, ?) [["canvas_url", "http://canvas"], ["created_at", Sat, 11 Oct 2014 02:53:44 UTC +00:00], ["nonce", "abcd"], ["provider_params", "---\ncustom_canvas_course_id: 1\ncustom_canvas_user_id: 2\ntool_consumer_instance_guid: 123abc\n"], ["updated_at", Sat, 11 Oct 2014 02:53:44 UTC +00:00]]
3786
+  (0.0ms) RELEASE SAVEPOINT active_record_1
3787
+ Processing by LtiProvider::LtiController#consume_launch as HTML
3788
+ Parameters: {"nonce"=>"abcd"}
3789
+ LtiProvider::Launch Load (0.1ms) SELECT "lti_provider_launches".* FROM "lti_provider_launches" WHERE "lti_provider_launches"."nonce" = 'abcd' AND (created_at > '2014-10-11 02:48:44.109428') LIMIT 1
3790
+  (0.0ms) SAVEPOINT active_record_1
3791
+ SQL (0.9ms) DELETE FROM "lti_provider_launches" WHERE "lti_provider_launches"."id" = ? [["id", 1]]
3792
+  (0.0ms) RELEASE SAVEPOINT active_record_1
3793
+ Redirected to http://test.host/
3794
+ Completed 302 Found in 6.7ms (ActiveRecord: 1.0ms)
3795
+  (1.0ms) rollback transaction
3796
+  (0.0ms) begin transaction
3797
+  (0.0ms) SAVEPOINT active_record_1
3798
+ SQL (0.3ms) INSERT INTO "lti_provider_launches" ("canvas_url", "created_at", "nonce", "provider_params", "updated_at") VALUES (?, ?, ?, ?, ?) [["canvas_url", "http://canvas"], ["created_at", Sat, 11 Oct 2014 02:53:44 UTC +00:00], ["nonce", "abcd"], ["provider_params", "---\ncustom_canvas_course_id: 1\ncustom_canvas_user_id: 2\ntool_consumer_instance_guid: 123abc\n"], ["updated_at", Sat, 11 Oct 2014 02:53:44 UTC +00:00]]
3799
+  (0.0ms) RELEASE SAVEPOINT active_record_1
3800
+ Processing by LtiProvider::LtiController#consume_launch as HTML
3801
+ Parameters: {"nonce"=>"abcd"}
3802
+ LtiProvider::Launch Load (0.1ms) SELECT "lti_provider_launches".* FROM "lti_provider_launches" WHERE "lti_provider_launches"."nonce" = 'abcd' AND (created_at > '2014-10-11 02:48:44.121891') LIMIT 1
3803
+  (0.0ms) SAVEPOINT active_record_1
3804
+ SQL (0.2ms) DELETE FROM "lti_provider_launches" WHERE "lti_provider_launches"."id" = ? [["id", 1]]
3805
+  (0.0ms) RELEASE SAVEPOINT active_record_1
3806
+ Redirected to http://test.host/
3807
+ Completed 302 Found in 1.5ms (ActiveRecord: 0.3ms)
3808
+  (0.0ms) SELECT COUNT(*) FROM "lti_provider_launches"
3809
+  (0.4ms) rollback transaction
3810
+  (0.0ms) begin transaction
3811
+  (0.0ms) SAVEPOINT active_record_1
3812
+ SQL (0.2ms) INSERT INTO "lti_provider_launches" ("canvas_url", "created_at", "nonce", "provider_params", "updated_at") VALUES (?, ?, ?, ?, ?) [["canvas_url", "http://canvas"], ["created_at", Sat, 11 Oct 2014 02:53:44 UTC +00:00], ["nonce", "abcd"], ["provider_params", "---\ncustom_canvas_course_id: 1\ncustom_canvas_user_id: 2\ntool_consumer_instance_guid: 123abc\n"], ["updated_at", Sat, 11 Oct 2014 02:53:44 UTC +00:00]]
3813
+  (0.0ms) RELEASE SAVEPOINT active_record_1
3814
+ Processing by LtiProvider::LtiController#consume_launch as HTML
3815
+ Parameters: {"nonce"=>"invalid"}
3816
+ LtiProvider::Launch Load (0.1ms) SELECT "lti_provider_launches".* FROM "lti_provider_launches" WHERE "lti_provider_launches"."nonce" = 'invalid' AND (created_at > '2014-10-11 02:48:44.127554') LIMIT 1
3817
+ Completed 200 OK in 2.0ms (Views: 1.5ms | ActiveRecord: 0.1ms)
3818
+  (0.4ms) rollback transaction
3819
+  (0.1ms) begin transaction
3820
+  (0.0ms) SAVEPOINT active_record_1
3821
+ SQL (0.3ms) INSERT INTO "lti_provider_launches" ("canvas_url", "created_at", "nonce", "provider_params", "updated_at") VALUES (?, ?, ?, ?, ?) [["canvas_url", "http://canvas"], ["created_at", Sat, 11 Oct 2014 02:53:44 UTC +00:00], ["nonce", "abcd"], ["provider_params", "---\ncustom_canvas_course_id: 1\ncustom_canvas_user_id: 2\ntool_consumer_instance_guid: 123abc\n"], ["updated_at", Sat, 11 Oct 2014 02:53:44 UTC +00:00]]
3822
+  (0.0ms) RELEASE SAVEPOINT active_record_1
3823
+  (0.0ms) SAVEPOINT active_record_1
3824
+  (0.3ms) UPDATE "lti_provider_launches" SET "created_at" = '2014-10-11 02:43:44.134824', "updated_at" = '2014-10-11 02:53:44.135291', "provider_params" = '---
3825
+ custom_canvas_course_id: 1
3826
+ custom_canvas_user_id: 2
3827
+ tool_consumer_instance_guid: 123abc
3828
+ ' WHERE "lti_provider_launches"."id" = 1
3829
+  (0.0ms) RELEASE SAVEPOINT active_record_1
3830
+ Processing by LtiProvider::LtiController#consume_launch as HTML
3831
+ Parameters: {"nonce"=>"abcd"}
3832
+ LtiProvider::Launch Load (0.1ms) SELECT "lti_provider_launches".* FROM "lti_provider_launches" WHERE "lti_provider_launches"."nonce" = 'abcd' AND (created_at > '2014-10-11 02:48:44.138137') LIMIT 1
3833
+ Completed 200 OK in 0.9ms (Views: 0.2ms | ActiveRecord: 0.1ms)
3834
+  (0.4ms) rollback transaction
3835
+  (0.0ms) begin transaction
3836
+ Processing by LtiProvider::LtiController#launch as HTML
3837
+ Parameters: {"oauth_consumer_key"=>"12345", "oauth_signature_method"=>"HMAC-SHA1", "oauth_timestamp"=>"1412996024", "oauth_nonce"=>"GzlSZShK0BiNjwTxkRIvNsYO9GQspwpsK95gCNLPdQ", "oauth_version"=>"1.0", "custom_canvas_user_id"=>"1", "launch_presentation_return_url"=>"http://test.canvas", "launch_url"=>"http://test.host", "lti_message_type"=>"basic-lti-launch-request", "lti_version"=>"LTI-1p0", "oauth_signature"=>"mT9Xtkw9l4mEzMlI4wtkYi/HjSM="}
3838
+  (0.0ms) SAVEPOINT active_record_1
3839
+ SQL (0.3ms) INSERT INTO "lti_provider_launches" ("canvas_url", "created_at", "nonce", "provider_params", "updated_at") VALUES (?, ?, ?, ?, ?) [["canvas_url", "http://test.canvas"], ["created_at", Sat, 11 Oct 2014 02:53:44 UTC +00:00], ["nonce", "GzlSZShK0BiNjwTxkRIvNsYO9GQspwpsK95gCNLPdQ"], ["provider_params", "---\nlaunch_presentation_return_url: http://test.canvas\nlti_message_type: basic-lti-launch-request\nlti_version: LTI-1p0\noauth_consumer_key: '12345'\noauth_nonce: GzlSZShK0BiNjwTxkRIvNsYO9GQspwpsK95gCNLPdQ\noauth_signature: mT9Xtkw9l4mEzMlI4wtkYi/HjSM=\noauth_signature_method: HMAC-SHA1\noauth_timestamp: '1412996024'\noauth_version: '1.0'\ncustom_canvas_user_id: '1'\n"], ["updated_at", Sat, 11 Oct 2014 02:53:44 UTC +00:00]]
3840
+  (0.0ms) RELEASE SAVEPOINT active_record_1
3841
+ Redirected to http://test.host/cookie_test?nonce=GzlSZShK0BiNjwTxkRIvNsYO9GQspwpsK95gCNLPdQ
3842
+ Completed 302 Found in 25.2ms (ActiveRecord: 0.4ms)
3843
+  (0.6ms) rollback transaction
3844
+  (0.0ms) begin transaction
3845
+ Processing by LtiProvider::LtiController#launch as HTML
3846
+ Parameters: {"oauth_consumer_key"=>"12345", "oauth_signature_method"=>"HMAC-SHA1", "oauth_timestamp"=>"1412996024", "oauth_nonce"=>"V8klNkpBGo03TW2a5fFiAFpF473iWiNBIfYWVMloN4", "oauth_version"=>"1.0", "custom_canvas_user_id"=>"1", "launch_presentation_return_url"=>"http://test.canvas", "launch_url"=>"http://test.host", "lti_message_type"=>"basic-lti-launch-request", "lti_version"=>"LTI-1p0", "oauth_signature"=>"/1svsmr2mLteooLDLjwUBhD+eFI="}
3847
+  (0.0ms) SAVEPOINT active_record_1
3848
+ SQL (0.3ms) INSERT INTO "lti_provider_launches" ("canvas_url", "created_at", "nonce", "provider_params", "updated_at") VALUES (?, ?, ?, ?, ?) [["canvas_url", "http://test.canvas"], ["created_at", Sat, 11 Oct 2014 02:53:44 UTC +00:00], ["nonce", "V8klNkpBGo03TW2a5fFiAFpF473iWiNBIfYWVMloN4"], ["provider_params", "---\nlaunch_presentation_return_url: http://test.canvas\nlti_message_type: basic-lti-launch-request\nlti_version: LTI-1p0\noauth_consumer_key: '12345'\noauth_nonce: V8klNkpBGo03TW2a5fFiAFpF473iWiNBIfYWVMloN4\noauth_signature: /1svsmr2mLteooLDLjwUBhD+eFI=\noauth_signature_method: HMAC-SHA1\noauth_timestamp: '1412996024'\noauth_version: '1.0'\ncustom_canvas_user_id: '1'\n"], ["updated_at", Sat, 11 Oct 2014 02:53:44 UTC +00:00]]
3849
+  (0.0ms) RELEASE SAVEPOINT active_record_1
3850
+ Redirected to http://test.host/cookie_test?nonce=V8klNkpBGo03TW2a5fFiAFpF473iWiNBIfYWVMloN4
3851
+ Completed 302 Found in 3.8ms (ActiveRecord: 0.4ms)
3852
+ LtiProvider::Launch Load (0.1ms) SELECT "lti_provider_launches".* FROM "lti_provider_launches" LIMIT 1
3853
+  (0.3ms) rollback transaction
3854
+  (0.0ms) begin transaction
3855
+ Processing by LtiProvider::LtiController#launch as HTML
3856
+ Parameters: {"oauth_consumer_key"=>"12345", "oauth_signature_method"=>"HMAC-SHA1", "oauth_timestamp"=>"1412996024", "oauth_nonce"=>"GgsANpKuOgMBDe0w4rDFvFoY7JyucRRNYRaXMyMZBQ", "oauth_version"=>"1.0", "custom_canvas_user_id"=>"1", "launch_presentation_return_url"=>"http://test.canvas", "launch_url"=>"http://test.host", "lti_message_type"=>"basic-lti-launch-request", "lti_version"=>"LTI-1p0", "oauth_signature"=>"uDpyK90V7amVowjXrBKnXyMiGm4="}
3857
+ Completed 200 OK in 1.1ms (Views: 0.2ms | ActiveRecord: 0.0ms)
3858
+  (0.0ms) rollback transaction
3859
+  (0.0ms) begin transaction
3860
+ Processing by LtiProvider::LtiController#launch as HTML
3861
+ Parameters: {"oauth_signature_method"=>"HMAC-SHA1", "oauth_timestamp"=>"1412996024", "oauth_nonce"=>"vgbCIrwrYQyDC6vZacl51KQQYZAvCoMOmyrQhOlNNUk", "oauth_version"=>"1.0", "custom_canvas_user_id"=>"1", "launch_presentation_return_url"=>"http://test.canvas", "launch_url"=>"http://test.host", "lti_message_type"=>"basic-lti-launch-request", "lti_version"=>"LTI-1p0", "oauth_signature"=>"2mauehUmLwuSf+8nJ136AV6t5Kw="}
3862
+ Completed 200 OK in 0.8ms (Views: 0.2ms | ActiveRecord: 0.0ms)
3863
+  (0.0ms) rollback transaction
3864
+  (0.0ms) begin transaction
3865
+ Processing by LtiProvider::LtiController#configure as XML
3866
+ Completed 200 OK in 1.5ms (Views: 0.1ms | ActiveRecord: 0.0ms)
3867
+  (0.0ms) rollback transaction
3868
+  (0.0ms) begin transaction
3869
+  (0.0ms) rollback transaction
3870
+  (0.0ms) begin transaction
3871
+  (0.0ms) rollback transaction
3872
+  (0.0ms) begin transaction
3873
+  (0.0ms) rollback transaction
3874
+  (0.0ms) begin transaction
3875
+  (0.0ms) rollback transaction
3876
+  (0.0ms) begin transaction
3877
+  (0.0ms) rollback transaction
3878
+  (0.0ms) begin transaction
3879
+  (0.0ms) rollback transaction
3880
+  (0.0ms) begin transaction
3881
+  (0.0ms) rollback transaction
3882
+  (0.0ms) begin transaction
3883
+  (0.0ms) rollback transaction
3884
+  (0.0ms) begin transaction
3885
+  (0.0ms) rollback transaction
3886
+  (0.1ms) begin transaction
3887
+  (0.0ms) rollback transaction
3888
+  (0.0ms) begin transaction
3889
+  (0.0ms) rollback transaction
3890
+  (0.1ms) begin transaction
3891
+  (0.0ms) rollback transaction
3892
+  (0.0ms) begin transaction
3893
+  (0.0ms) rollback transaction
3894
+  (0.0ms) begin transaction
3895
+  (0.0ms) rollback transaction
3896
+ Initializing LTI key and secret using configuration in /Users/simon/Instructure/projects/lti_provider_engine/spec/dummy/config/lti.yml
3897
+ Initializing LTI XML config using configuration in /Users/simon/Instructure/projects/lti_provider_engine/spec/dummy/config/lti_xml.yml
3898
+ Connecting to database specified by database.yml
3899
+  (0.2ms) begin transaction
3900
+ Processing by LtiProvider::LtiController#cookie_test as HTML
3901
+ Rendered /Users/simon/Instructure/projects/lti_provider_engine/app/views/lti_provider/lti/cookie_test.html.erb within layouts/lti_provider/application (0.1ms)
3902
+ Completed 200 OK in 27.9ms (Views: 27.7ms | ActiveRecord: 0.0ms)
3903
+  (0.1ms) rollback transaction
3904
+  (0.0ms) begin transaction
3905
+ Processing by LtiProvider::LtiController#cookie_test as HTML
3906
+ Completed 200 OK in 0.5ms (Views: 0.4ms | ActiveRecord: 0.0ms)
3907
+  (0.0ms) rollback transaction
3908
+  (0.0ms) begin transaction
3909
+  (0.0ms) SAVEPOINT active_record_1
3910
+ SQL (3.1ms) INSERT INTO "lti_provider_launches" ("canvas_url", "created_at", "nonce", "provider_params", "updated_at") VALUES (?, ?, ?, ?, ?) [["canvas_url", "http://canvas"], ["created_at", Sat, 11 Oct 2014 02:54:26 UTC +00:00], ["nonce", "abcd"], ["provider_params", "---\ncustom_canvas_course_id: 1\ncustom_canvas_user_id: 2\ntool_consumer_instance_guid: 123abc\n"], ["updated_at", Sat, 11 Oct 2014 02:54:26 UTC +00:00]]
3911
+  (0.0ms) RELEASE SAVEPOINT active_record_1
3912
+ Processing by LtiProvider::LtiController#consume_launch as HTML
3913
+ Parameters: {"nonce"=>"abcd"}
3914
+ LtiProvider::Launch Load (0.1ms) SELECT "lti_provider_launches".* FROM "lti_provider_launches" WHERE "lti_provider_launches"."nonce" = 'abcd' AND (created_at > '2014-10-11 02:49:26.505850') LIMIT 1
3915
+  (0.0ms) SAVEPOINT active_record_1
3916
+ SQL (0.7ms) DELETE FROM "lti_provider_launches" WHERE "lti_provider_launches"."id" = ? [["id", 1]]
3917
+  (0.0ms) RELEASE SAVEPOINT active_record_1
3918
+ Redirected to http://test.host/
3919
+ Completed 302 Found in 6.5ms (ActiveRecord: 0.8ms)
3920
+  (1.1ms) rollback transaction
3921
+  (0.0ms) begin transaction
3922
+  (0.0ms) SAVEPOINT active_record_1
3923
+ SQL (0.2ms) INSERT INTO "lti_provider_launches" ("canvas_url", "created_at", "nonce", "provider_params", "updated_at") VALUES (?, ?, ?, ?, ?) [["canvas_url", "http://canvas"], ["created_at", Sat, 11 Oct 2014 02:54:26 UTC +00:00], ["nonce", "abcd"], ["provider_params", "---\ncustom_canvas_course_id: 1\ncustom_canvas_user_id: 2\ntool_consumer_instance_guid: 123abc\n"], ["updated_at", Sat, 11 Oct 2014 02:54:26 UTC +00:00]]
3924
+  (0.0ms) RELEASE SAVEPOINT active_record_1
3925
+ Processing by LtiProvider::LtiController#consume_launch as HTML
3926
+ Parameters: {"nonce"=>"abcd"}
3927
+ LtiProvider::Launch Load (0.1ms) SELECT "lti_provider_launches".* FROM "lti_provider_launches" WHERE "lti_provider_launches"."nonce" = 'abcd' AND (created_at > '2014-10-11 02:49:26.518080') LIMIT 1
3928
+  (0.0ms) SAVEPOINT active_record_1
3929
+ SQL (0.2ms) DELETE FROM "lti_provider_launches" WHERE "lti_provider_launches"."id" = ? [["id", 1]]
3930
+  (0.0ms) RELEASE SAVEPOINT active_record_1
3931
+ Redirected to http://test.host/
3932
+ Completed 302 Found in 1.5ms (ActiveRecord: 0.3ms)
3933
+  (0.0ms) SELECT COUNT(*) FROM "lti_provider_launches"
3934
+  (0.5ms) rollback transaction
3935
+  (0.0ms) begin transaction
3936
+  (0.0ms) SAVEPOINT active_record_1
3937
+ SQL (0.2ms) INSERT INTO "lti_provider_launches" ("canvas_url", "created_at", "nonce", "provider_params", "updated_at") VALUES (?, ?, ?, ?, ?) [["canvas_url", "http://canvas"], ["created_at", Sat, 11 Oct 2014 02:54:26 UTC +00:00], ["nonce", "abcd"], ["provider_params", "---\ncustom_canvas_course_id: 1\ncustom_canvas_user_id: 2\ntool_consumer_instance_guid: 123abc\n"], ["updated_at", Sat, 11 Oct 2014 02:54:26 UTC +00:00]]
3938
+  (0.0ms) RELEASE SAVEPOINT active_record_1
3939
+  (0.0ms) SAVEPOINT active_record_1
3940
+  (0.2ms) UPDATE "lti_provider_launches" SET "created_at" = '2014-10-11 02:44:26.523246', "updated_at" = '2014-10-11 02:54:26.523567', "provider_params" = '---
3941
+ custom_canvas_course_id: 1
3942
+ custom_canvas_user_id: 2
3943
+ tool_consumer_instance_guid: 123abc
3944
+ ' WHERE "lti_provider_launches"."id" = 1
3945
+  (0.0ms) RELEASE SAVEPOINT active_record_1
3946
+ Processing by LtiProvider::LtiController#consume_launch as HTML
3947
+ Parameters: {"nonce"=>"abcd"}
3948
+ LtiProvider::Launch Load (0.1ms) SELECT "lti_provider_launches".* FROM "lti_provider_launches" WHERE "lti_provider_launches"."nonce" = 'abcd' AND (created_at > '2014-10-11 02:49:26.525693') LIMIT 1
3949
+ Completed 200 OK in 2.2ms (Views: 1.5ms | ActiveRecord: 0.1ms)
3950
+  (0.5ms) rollback transaction
3951
+  (0.1ms) begin transaction
3952
+  (0.1ms) SAVEPOINT active_record_1
3953
+ SQL (0.4ms) INSERT INTO "lti_provider_launches" ("canvas_url", "created_at", "nonce", "provider_params", "updated_at") VALUES (?, ?, ?, ?, ?) [["canvas_url", "http://canvas"], ["created_at", Sat, 11 Oct 2014 02:54:26 UTC +00:00], ["nonce", "abcd"], ["provider_params", "---\ncustom_canvas_course_id: 1\ncustom_canvas_user_id: 2\ntool_consumer_instance_guid: 123abc\n"], ["updated_at", Sat, 11 Oct 2014 02:54:26 UTC +00:00]]
3954
+  (0.0ms) RELEASE SAVEPOINT active_record_1
3955
+ Processing by LtiProvider::LtiController#consume_launch as HTML
3956
+ Parameters: {"nonce"=>"invalid"}
3957
+ LtiProvider::Launch Load (0.1ms) SELECT "lti_provider_launches".* FROM "lti_provider_launches" WHERE "lti_provider_launches"."nonce" = 'invalid' AND (created_at > '2014-10-11 02:49:26.535412') LIMIT 1
3958
+ Completed 200 OK in 0.9ms (Views: 0.2ms | ActiveRecord: 0.1ms)
3959
+  (0.4ms) rollback transaction
3960
+  (0.0ms) begin transaction
3961
+ Processing by LtiProvider::LtiController#launch as HTML
3962
+ Parameters: {"oauth_consumer_key"=>"12345", "oauth_signature_method"=>"HMAC-SHA1", "oauth_timestamp"=>"1412996066", "oauth_nonce"=>"N7IDeClFOI228qXWVblHeNsOpIdmwRLFWAXPBCh6E40", "oauth_version"=>"1.0", "custom_canvas_user_id"=>"1", "launch_presentation_return_url"=>"http://test.canvas", "launch_url"=>"http://test.host", "lti_message_type"=>"basic-lti-launch-request", "lti_version"=>"LTI-1p0", "oauth_signature"=>"1Uf21nNO9D+99TFeC46CIjUr7x4="}
3963
+  (0.0ms) SAVEPOINT active_record_1
3964
+ SQL (0.2ms) INSERT INTO "lti_provider_launches" ("canvas_url", "created_at", "nonce", "provider_params", "updated_at") VALUES (?, ?, ?, ?, ?) [["canvas_url", "http://test.canvas"], ["created_at", Sat, 11 Oct 2014 02:54:26 UTC +00:00], ["nonce", "N7IDeClFOI228qXWVblHeNsOpIdmwRLFWAXPBCh6E40"], ["provider_params", "---\nlaunch_presentation_return_url: http://test.canvas\nlti_message_type: basic-lti-launch-request\nlti_version: LTI-1p0\noauth_consumer_key: '12345'\noauth_nonce: N7IDeClFOI228qXWVblHeNsOpIdmwRLFWAXPBCh6E40\noauth_signature: 1Uf21nNO9D+99TFeC46CIjUr7x4=\noauth_signature_method: HMAC-SHA1\noauth_timestamp: '1412996066'\noauth_version: '1.0'\ncustom_canvas_user_id: '1'\n"], ["updated_at", Sat, 11 Oct 2014 02:54:26 UTC +00:00]]
3965
+  (0.0ms) RELEASE SAVEPOINT active_record_1
3966
+ Redirected to http://test.host/cookie_test?nonce=N7IDeClFOI228qXWVblHeNsOpIdmwRLFWAXPBCh6E40
3967
+ Completed 302 Found in 3.0ms (ActiveRecord: 0.3ms)
3968
+  (0.4ms) rollback transaction
3969
+  (0.0ms) begin transaction
3970
+ Processing by LtiProvider::LtiController#launch as HTML
3971
+ Parameters: {"oauth_consumer_key"=>"12345", "oauth_signature_method"=>"HMAC-SHA1", "oauth_timestamp"=>"1412996066", "oauth_nonce"=>"7HyCQqZJ1fuYsnSIlJLYSPNkAIDm3Ccl952CAne9Q", "oauth_version"=>"1.0", "custom_canvas_user_id"=>"1", "launch_presentation_return_url"=>"http://test.canvas", "launch_url"=>"http://test.host", "lti_message_type"=>"basic-lti-launch-request", "lti_version"=>"LTI-1p0", "oauth_signature"=>"KWZ3WuV7MYVqCIuGljSEmn+o89k="}
3972
+  (0.0ms) SAVEPOINT active_record_1
3973
+ SQL (0.3ms) INSERT INTO "lti_provider_launches" ("canvas_url", "created_at", "nonce", "provider_params", "updated_at") VALUES (?, ?, ?, ?, ?) [["canvas_url", "http://test.canvas"], ["created_at", Sat, 11 Oct 2014 02:54:26 UTC +00:00], ["nonce", "7HyCQqZJ1fuYsnSIlJLYSPNkAIDm3Ccl952CAne9Q"], ["provider_params", "---\nlaunch_presentation_return_url: http://test.canvas\nlti_message_type: basic-lti-launch-request\nlti_version: LTI-1p0\noauth_consumer_key: '12345'\noauth_nonce: 7HyCQqZJ1fuYsnSIlJLYSPNkAIDm3Ccl952CAne9Q\noauth_signature: KWZ3WuV7MYVqCIuGljSEmn+o89k=\noauth_signature_method: HMAC-SHA1\noauth_timestamp: '1412996066'\noauth_version: '1.0'\ncustom_canvas_user_id: '1'\n"], ["updated_at", Sat, 11 Oct 2014 02:54:26 UTC +00:00]]
3974
+  (0.0ms) RELEASE SAVEPOINT active_record_1
3975
+ Redirected to http://test.host/cookie_test?nonce=7HyCQqZJ1fuYsnSIlJLYSPNkAIDm3Ccl952CAne9Q
3976
+ Completed 302 Found in 2.9ms (ActiveRecord: 0.3ms)
3977
+ LtiProvider::Launch Load (0.1ms) SELECT "lti_provider_launches".* FROM "lti_provider_launches" LIMIT 1
3978
+  (0.3ms) rollback transaction
3979
+  (0.0ms) begin transaction
3980
+ Processing by LtiProvider::LtiController#launch as HTML
3981
+ Parameters: {"oauth_signature_method"=>"HMAC-SHA1", "oauth_timestamp"=>"1412996066", "oauth_nonce"=>"OrjEqByfBiYObJLaBeaxS13o7VRdj0LFhfum4UxE", "oauth_version"=>"1.0", "custom_canvas_user_id"=>"1", "launch_presentation_return_url"=>"http://test.canvas", "launch_url"=>"http://test.host", "lti_message_type"=>"basic-lti-launch-request", "lti_version"=>"LTI-1p0", "oauth_signature"=>"1iATkkJkRI/BeZfcCR+LJQDGtJo="}
3982
+ Completed 200 OK in 0.7ms (Views: 0.2ms | ActiveRecord: 0.0ms)
3983
+  (0.0ms) rollback transaction
3984
+  (0.0ms) begin transaction
3985
+ Processing by LtiProvider::LtiController#launch as HTML
3986
+ Parameters: {"oauth_consumer_key"=>"12345", "oauth_signature_method"=>"HMAC-SHA1", "oauth_timestamp"=>"1412996066", "oauth_nonce"=>"N6yAvJumtqfIdq1tLYvi4MON5liyWQqo5wEsMgy8gIM", "oauth_version"=>"1.0", "custom_canvas_user_id"=>"1", "launch_presentation_return_url"=>"http://test.canvas", "launch_url"=>"http://test.host", "lti_message_type"=>"basic-lti-launch-request", "lti_version"=>"LTI-1p0", "oauth_signature"=>"jHsNTmFHPLoHMsOvEnrQXh5Msmg="}
3987
+ Completed 200 OK in 1.3ms (Views: 0.2ms | ActiveRecord: 0.0ms)
3988
+  (0.0ms) rollback transaction
3989
+  (0.0ms) begin transaction
3990
+ Processing by LtiProvider::LtiController#configure as XML
3991
+ Completed 200 OK in 1.1ms (Views: 0.1ms | ActiveRecord: 0.0ms)
3992
+  (0.0ms) rollback transaction
3993
+  (0.0ms) begin transaction
3994
+  (0.0ms) rollback transaction
3995
+  (0.0ms) begin transaction
3996
+  (0.0ms) rollback transaction
3997
+  (0.1ms) begin transaction
3998
+  (0.0ms) rollback transaction
3999
+  (0.0ms) begin transaction
4000
+  (0.0ms) rollback transaction
4001
+  (0.0ms) begin transaction
4002
+  (0.0ms) rollback transaction
4003
+  (0.0ms) begin transaction
4004
+  (0.0ms) rollback transaction
4005
+  (0.0ms) begin transaction
4006
+  (0.0ms) rollback transaction
4007
+  (0.0ms) begin transaction
4008
+  (0.0ms) rollback transaction
4009
+  (0.0ms) begin transaction
4010
+  (0.0ms) rollback transaction
4011
+  (0.0ms) begin transaction
4012
+  (0.0ms) rollback transaction
4013
+  (0.0ms) begin transaction
4014
+  (0.0ms) rollback transaction
4015
+  (0.0ms) begin transaction
4016
+  (0.0ms) rollback transaction
4017
+  (0.0ms) begin transaction
4018
+  (0.0ms) rollback transaction
4019
+  (0.0ms) begin transaction
4020
+  (0.0ms) rollback transaction
4021
+ Initializing LTI key and secret using configuration in /Users/simon/Instructure/projects/lti_provider_engine/spec/dummy/config/lti.yml
4022
+ Initializing LTI XML config using configuration in /Users/simon/Instructure/projects/lti_provider_engine/spec/dummy/config/lti_xml.yml
4023
+ Connecting to database specified by database.yml
4024
+  (0.2ms) begin transaction
4025
+ Processing by LtiProvider::LtiController#launch as HTML
4026
+ Parameters: {"oauth_signature_method"=>"HMAC-SHA1", "oauth_timestamp"=>"1412996187", "oauth_nonce"=>"jRamWYxaCsRPnWreHTuUGkmeGflwg7GBqKVwfcjKM", "oauth_version"=>"1.0", "custom_canvas_user_id"=>"1", "launch_presentation_return_url"=>"http://test.canvas", "launch_url"=>"http://test.host", "lti_message_type"=>"basic-lti-launch-request", "lti_version"=>"LTI-1p0", "oauth_signature"=>"cpMsiX9/DB4vYUcjXV53xWN6eU0="}
4027
+ Rendered text template (0.0ms)
4028
+ Completed 200 OK in 31.5ms (Views: 25.5ms | ActiveRecord: 1.4ms)
4029
+  (0.0ms) rollback transaction
4030
+  (0.0ms) begin transaction
4031
+ Processing by LtiProvider::LtiController#launch as HTML
4032
+ Parameters: {"oauth_consumer_key"=>"12345", "oauth_signature_method"=>"HMAC-SHA1", "oauth_timestamp"=>"1412996187", "oauth_nonce"=>"I3EVwD0U5syXND98MFm2j8hV7KMoUXcEXt57WuTnrTE", "oauth_version"=>"1.0", "custom_canvas_user_id"=>"1", "launch_presentation_return_url"=>"http://test.canvas", "launch_url"=>"http://test.host", "lti_message_type"=>"basic-lti-launch-request", "lti_version"=>"LTI-1p0", "oauth_signature"=>"V4vLLdDY6NsGLQWcTXYX+XcQcro="}
4033
+  (0.0ms) SAVEPOINT active_record_1
4034
+ SQL (3.1ms) INSERT INTO "lti_provider_launches" ("canvas_url", "created_at", "nonce", "provider_params", "updated_at") VALUES (?, ?, ?, ?, ?) [["canvas_url", "http://test.canvas"], ["created_at", Sat, 11 Oct 2014 02:56:27 UTC +00:00], ["nonce", "I3EVwD0U5syXND98MFm2j8hV7KMoUXcEXt57WuTnrTE"], ["provider_params", "---\nlaunch_presentation_return_url: http://test.canvas\nlti_message_type: basic-lti-launch-request\nlti_version: LTI-1p0\noauth_consumer_key: '12345'\noauth_nonce: I3EVwD0U5syXND98MFm2j8hV7KMoUXcEXt57WuTnrTE\noauth_signature: V4vLLdDY6NsGLQWcTXYX+XcQcro=\noauth_signature_method: HMAC-SHA1\noauth_timestamp: '1412996187'\noauth_version: '1.0'\ncustom_canvas_user_id: '1'\n"], ["updated_at", Sat, 11 Oct 2014 02:56:27 UTC +00:00]]
4035
+  (0.0ms) RELEASE SAVEPOINT active_record_1
4036
+ Redirected to http://test.host/cookie_test?nonce=I3EVwD0U5syXND98MFm2j8hV7KMoUXcEXt57WuTnrTE
4037
+ Completed 302 Found in 6.3ms (ActiveRecord: 3.2ms)
4038
+  (1.0ms) rollback transaction
4039
+  (0.0ms) begin transaction
4040
+ Processing by LtiProvider::LtiController#launch as HTML
4041
+ Parameters: {"oauth_consumer_key"=>"12345", "oauth_signature_method"=>"HMAC-SHA1", "oauth_timestamp"=>"1412996187", "oauth_nonce"=>"37wL4RvhYPacJUjd8gTpQkQpscZZoHsD0xKdjIvSyE", "oauth_version"=>"1.0", "custom_canvas_user_id"=>"1", "launch_presentation_return_url"=>"http://test.canvas", "launch_url"=>"http://test.host", "lti_message_type"=>"basic-lti-launch-request", "lti_version"=>"LTI-1p0", "oauth_signature"=>"SlMRgUffSkC2v5vNQyIFAakIvAo="}
4042
+  (0.0ms) SAVEPOINT active_record_1
4043
+ SQL (0.3ms) INSERT INTO "lti_provider_launches" ("canvas_url", "created_at", "nonce", "provider_params", "updated_at") VALUES (?, ?, ?, ?, ?) [["canvas_url", "http://test.canvas"], ["created_at", Sat, 11 Oct 2014 02:56:27 UTC +00:00], ["nonce", "37wL4RvhYPacJUjd8gTpQkQpscZZoHsD0xKdjIvSyE"], ["provider_params", "---\nlaunch_presentation_return_url: http://test.canvas\nlti_message_type: basic-lti-launch-request\nlti_version: LTI-1p0\noauth_consumer_key: '12345'\noauth_nonce: 37wL4RvhYPacJUjd8gTpQkQpscZZoHsD0xKdjIvSyE\noauth_signature: SlMRgUffSkC2v5vNQyIFAakIvAo=\noauth_signature_method: HMAC-SHA1\noauth_timestamp: '1412996187'\noauth_version: '1.0'\ncustom_canvas_user_id: '1'\n"], ["updated_at", Sat, 11 Oct 2014 02:56:27 UTC +00:00]]
4044
+  (0.0ms) RELEASE SAVEPOINT active_record_1
4045
+ Redirected to http://test.host/cookie_test?nonce=37wL4RvhYPacJUjd8gTpQkQpscZZoHsD0xKdjIvSyE
4046
+ Completed 302 Found in 2.9ms (ActiveRecord: 0.3ms)
4047
+ LtiProvider::Launch Load (0.1ms) SELECT "lti_provider_launches".* FROM "lti_provider_launches" LIMIT 1
4048
+  (0.4ms) rollback transaction
4049
+  (0.0ms) begin transaction
4050
+ Processing by LtiProvider::LtiController#launch as HTML
4051
+ Parameters: {"oauth_consumer_key"=>"12345", "oauth_signature_method"=>"HMAC-SHA1", "oauth_timestamp"=>"1412996187", "oauth_nonce"=>"tb9oH617YMJX2iYLthADAEhtneNuZvfsD8O4XP5HEQ", "oauth_version"=>"1.0", "custom_canvas_user_id"=>"1", "launch_presentation_return_url"=>"http://test.canvas", "launch_url"=>"http://test.host", "lti_message_type"=>"basic-lti-launch-request", "lti_version"=>"LTI-1p0", "oauth_signature"=>"ocb2FPh8VcrQEGXchZBLnUGYOd8="}
4052
+ Completed 200 OK in 1.1ms (Views: 0.2ms | ActiveRecord: 0.0ms)
4053
+  (0.0ms) rollback transaction
4054
+  (0.0ms) begin transaction
4055
+ Processing by LtiProvider::LtiController#cookie_test as HTML
4056
+ Completed 200 OK in 1.2ms (Views: 1.0ms | ActiveRecord: 0.0ms)
4057
+  (0.0ms) rollback transaction
4058
+  (0.0ms) begin transaction
4059
+ Processing by LtiProvider::LtiController#cookie_test as HTML
4060
+ Completed 200 OK in 0.7ms (Views: 0.5ms | ActiveRecord: 0.0ms)
4061
+  (0.0ms) rollback transaction
4062
+  (0.0ms) begin transaction
4063
+  (0.0ms) SAVEPOINT active_record_1
4064
+ SQL (0.4ms) INSERT INTO "lti_provider_launches" ("canvas_url", "created_at", "nonce", "provider_params", "updated_at") VALUES (?, ?, ?, ?, ?) [["canvas_url", "http://canvas"], ["created_at", Sat, 11 Oct 2014 02:56:27 UTC +00:00], ["nonce", "abcd"], ["provider_params", "---\ncustom_canvas_course_id: 1\ncustom_canvas_user_id: 2\ntool_consumer_instance_guid: 123abc\n"], ["updated_at", Sat, 11 Oct 2014 02:56:27 UTC +00:00]]
4065
+  (0.0ms) RELEASE SAVEPOINT active_record_1
4066
+  (0.0ms) SAVEPOINT active_record_1
4067
+  (0.9ms) UPDATE "lti_provider_launches" SET "created_at" = '2014-10-11 02:46:27.726489', "updated_at" = '2014-10-11 02:56:27.726848', "provider_params" = '---
4068
+ custom_canvas_course_id: 1
4069
+ custom_canvas_user_id: 2
4070
+ tool_consumer_instance_guid: 123abc
4071
+ ' WHERE "lti_provider_launches"."id" = 1
4072
+  (0.0ms) RELEASE SAVEPOINT active_record_1
4073
+ Processing by LtiProvider::LtiController#consume_launch as HTML
4074
+ Parameters: {"nonce"=>"abcd"}
4075
+ LtiProvider::Launch Load (0.1ms) SELECT "lti_provider_launches".* FROM "lti_provider_launches" WHERE "lti_provider_launches"."nonce" = 'abcd' AND (created_at > '2014-10-11 02:51:27.729938') LIMIT 1
4076
+ Completed 200 OK in 2.8ms (Views: 0.2ms | ActiveRecord: 0.1ms)
4077
+  (0.4ms) rollback transaction
4078
+  (0.0ms) begin transaction
4079
+  (0.0ms) SAVEPOINT active_record_1
4080
+ SQL (0.2ms) INSERT INTO "lti_provider_launches" ("canvas_url", "created_at", "nonce", "provider_params", "updated_at") VALUES (?, ?, ?, ?, ?) [["canvas_url", "http://canvas"], ["created_at", Sat, 11 Oct 2014 02:56:27 UTC +00:00], ["nonce", "abcd"], ["provider_params", "---\ncustom_canvas_course_id: 1\ncustom_canvas_user_id: 2\ntool_consumer_instance_guid: 123abc\n"], ["updated_at", Sat, 11 Oct 2014 02:56:27 UTC +00:00]]
4081
+  (0.0ms) RELEASE SAVEPOINT active_record_1
4082
+ Processing by LtiProvider::LtiController#consume_launch as HTML
4083
+ Parameters: {"nonce"=>"abcd"}
4084
+ LtiProvider::Launch Load (0.1ms) SELECT "lti_provider_launches".* FROM "lti_provider_launches" WHERE "lti_provider_launches"."nonce" = 'abcd' AND (created_at > '2014-10-11 02:51:27.737422') LIMIT 1
4085
+  (0.0ms) SAVEPOINT active_record_1
4086
+ SQL (0.3ms) DELETE FROM "lti_provider_launches" WHERE "lti_provider_launches"."id" = ? [["id", 1]]
4087
+  (0.0ms) RELEASE SAVEPOINT active_record_1
4088
+ Redirected to http://test.host/
4089
+ Completed 302 Found in 3.4ms (ActiveRecord: 0.4ms)
4090
+  (0.4ms) rollback transaction
4091
+  (0.1ms) begin transaction
4092
+  (0.0ms) SAVEPOINT active_record_1
4093
+ SQL (0.4ms) INSERT INTO "lti_provider_launches" ("canvas_url", "created_at", "nonce", "provider_params", "updated_at") VALUES (?, ?, ?, ?, ?) [["canvas_url", "http://canvas"], ["created_at", Sat, 11 Oct 2014 02:56:27 UTC +00:00], ["nonce", "abcd"], ["provider_params", "---\ncustom_canvas_course_id: 1\ncustom_canvas_user_id: 2\ntool_consumer_instance_guid: 123abc\n"], ["updated_at", Sat, 11 Oct 2014 02:56:27 UTC +00:00]]
4094
+  (0.0ms) RELEASE SAVEPOINT active_record_1
4095
+ Processing by LtiProvider::LtiController#consume_launch as HTML
4096
+ Parameters: {"nonce"=>"abcd"}
4097
+ LtiProvider::Launch Load (0.1ms) SELECT "lti_provider_launches".* FROM "lti_provider_launches" WHERE "lti_provider_launches"."nonce" = 'abcd' AND (created_at > '2014-10-11 02:51:27.747094') LIMIT 1
4098
+  (0.0ms) SAVEPOINT active_record_1
4099
+ SQL (0.2ms) DELETE FROM "lti_provider_launches" WHERE "lti_provider_launches"."id" = ? [["id", 1]]
4100
+  (0.0ms) RELEASE SAVEPOINT active_record_1
4101
+ Redirected to http://test.host/
4102
+ Completed 302 Found in 1.9ms (ActiveRecord: 0.4ms)
4103
+  (0.0ms) SELECT COUNT(*) FROM "lti_provider_launches"
4104
+  (0.4ms) rollback transaction
4105
+  (0.0ms) begin transaction
4106
+  (0.0ms) SAVEPOINT active_record_1
4107
+ SQL (0.2ms) INSERT INTO "lti_provider_launches" ("canvas_url", "created_at", "nonce", "provider_params", "updated_at") VALUES (?, ?, ?, ?, ?) [["canvas_url", "http://canvas"], ["created_at", Sat, 11 Oct 2014 02:56:27 UTC +00:00], ["nonce", "abcd"], ["provider_params", "---\ncustom_canvas_course_id: 1\ncustom_canvas_user_id: 2\ntool_consumer_instance_guid: 123abc\n"], ["updated_at", Sat, 11 Oct 2014 02:56:27 UTC +00:00]]
4108
+  (0.0ms) RELEASE SAVEPOINT active_record_1
4109
+ Processing by LtiProvider::LtiController#consume_launch as HTML
4110
+ Parameters: {"nonce"=>"invalid"}
4111
+ LtiProvider::Launch Load (0.1ms) SELECT "lti_provider_launches".* FROM "lti_provider_launches" WHERE "lti_provider_launches"."nonce" = 'invalid' AND (created_at > '2014-10-11 02:51:27.753608') LIMIT 1
4112
+ Completed 200 OK in 0.8ms (Views: 0.2ms | ActiveRecord: 0.1ms)
4113
+  (0.3ms) rollback transaction
4114
+  (0.0ms) begin transaction
4115
+ Processing by LtiProvider::LtiController#configure as XML
4116
+ Completed 200 OK in 26.5ms (Views: 0.1ms | ActiveRecord: 0.0ms)
4117
+  (0.0ms) rollback transaction
4118
+  (0.0ms) begin transaction
4119
+  (0.0ms) rollback transaction
4120
+  (0.0ms) begin transaction
4121
+  (0.0ms) rollback transaction
4122
+  (0.0ms) begin transaction
4123
+  (0.0ms) rollback transaction
4124
+  (0.0ms) begin transaction
4125
+  (0.0ms) rollback transaction
4126
+  (0.0ms) begin transaction
4127
+  (0.0ms) rollback transaction
4128
+  (0.0ms) begin transaction
4129
+  (0.0ms) rollback transaction
4130
+  (0.0ms) begin transaction
4131
+  (0.0ms) rollback transaction
4132
+  (0.0ms) begin transaction
4133
+  (0.0ms) rollback transaction
4134
+  (0.0ms) begin transaction
4135
+  (0.0ms) rollback transaction
4136
+  (0.0ms) begin transaction
4137
+  (0.0ms) rollback transaction
4138
+  (0.0ms) begin transaction
4139
+  (0.0ms) rollback transaction
4140
+  (0.0ms) begin transaction
4141
+  (0.0ms) rollback transaction
4142
+  (0.0ms) begin transaction
4143
+  (0.0ms) rollback transaction
4144
+  (0.0ms) begin transaction
4145
+  (0.0ms) rollback transaction
4146
+ Initializing LTI key and secret using configuration in /Users/simon/Instructure/projects/lti_provider_engine/spec/dummy/config/lti.yml
4147
+ Initializing LTI XML config using configuration in /Users/simon/Instructure/projects/lti_provider_engine/spec/dummy/config/lti_xml.yml
4148
+ Connecting to database specified by database.yml
4149
+  (0.2ms) begin transaction
4150
+ Processing by LtiProvider::LtiController#cookie_test as HTML
4151
+ Rendered /Users/simon/Instructure/projects/lti_provider_engine/app/views/lti_provider/lti/cookie_test.html.erb within layouts/lti_provider/application (0.2ms)
4152
+ Completed 200 OK in 7.0ms (Views: 6.8ms | ActiveRecord: 0.0ms)
4153
+  (0.0ms) rollback transaction
4154
+  (0.0ms) begin transaction
4155
+ Processing by LtiProvider::LtiController#cookie_test as HTML
4156
+ Completed 200 OK in 0.6ms (Views: 0.5ms | ActiveRecord: 0.0ms)
4157
+  (0.1ms) rollback transaction
4158
+  (0.0ms) begin transaction
4159
+ Processing by LtiProvider::LtiController#launch as HTML
4160
+ Parameters: {"oauth_consumer_key"=>"12345", "oauth_signature_method"=>"HMAC-SHA1", "oauth_timestamp"=>"1412996237", "oauth_nonce"=>"K8Blo7QyQG6RGZPqHAH0kcq3hu8dyE1aEGC6NuPIc", "oauth_version"=>"1.0", "custom_canvas_user_id"=>"1", "launch_presentation_return_url"=>"http://test.canvas", "launch_url"=>"http://test.host", "lti_message_type"=>"basic-lti-launch-request", "lti_version"=>"LTI-1p0", "oauth_signature"=>"CwYkcxtnriH7ZcpkN1kGW0CJc4Y="}
4161
+  (0.0ms) SAVEPOINT active_record_1
4162
+ SQL (3.1ms) INSERT INTO "lti_provider_launches" ("canvas_url", "created_at", "nonce", "provider_params", "updated_at") VALUES (?, ?, ?, ?, ?) [["canvas_url", "http://test.canvas"], ["created_at", Sat, 11 Oct 2014 02:57:17 UTC +00:00], ["nonce", "K8Blo7QyQG6RGZPqHAH0kcq3hu8dyE1aEGC6NuPIc"], ["provider_params", "---\nlaunch_presentation_return_url: http://test.canvas\nlti_message_type: basic-lti-launch-request\nlti_version: LTI-1p0\noauth_consumer_key: '12345'\noauth_nonce: K8Blo7QyQG6RGZPqHAH0kcq3hu8dyE1aEGC6NuPIc\noauth_signature: CwYkcxtnriH7ZcpkN1kGW0CJc4Y=\noauth_signature_method: HMAC-SHA1\noauth_timestamp: '1412996237'\noauth_version: '1.0'\ncustom_canvas_user_id: '1'\n"], ["updated_at", Sat, 11 Oct 2014 02:57:17 UTC +00:00]]
4163
+  (0.0ms) RELEASE SAVEPOINT active_record_1
4164
+ Redirected to http://test.host/cookie_test?nonce=K8Blo7QyQG6RGZPqHAH0kcq3hu8dyE1aEGC6NuPIc
4165
+ Completed 302 Found in 35.2ms (ActiveRecord: 27.5ms)
4166
+  (1.0ms) rollback transaction
4167
+  (0.1ms) begin transaction
4168
+ Processing by LtiProvider::LtiController#launch as HTML
4169
+ Parameters: {"oauth_consumer_key"=>"12345", "oauth_signature_method"=>"HMAC-SHA1", "oauth_timestamp"=>"1412996237", "oauth_nonce"=>"ErczkKq93r92xHONcCLSU7lHMshQFfIAMp2DoWZA", "oauth_version"=>"1.0", "custom_canvas_user_id"=>"1", "launch_presentation_return_url"=>"http://test.canvas", "launch_url"=>"http://test.host", "lti_message_type"=>"basic-lti-launch-request", "lti_version"=>"LTI-1p0", "oauth_signature"=>"rICpZtli6W/Gl8SSd0THzCH+8PI="}
4170
+  (0.0ms) SAVEPOINT active_record_1
4171
+ SQL (0.4ms) INSERT INTO "lti_provider_launches" ("canvas_url", "created_at", "nonce", "provider_params", "updated_at") VALUES (?, ?, ?, ?, ?) [["canvas_url", "http://test.canvas"], ["created_at", Sat, 11 Oct 2014 02:57:17 UTC +00:00], ["nonce", "ErczkKq93r92xHONcCLSU7lHMshQFfIAMp2DoWZA"], ["provider_params", "---\nlaunch_presentation_return_url: http://test.canvas\nlti_message_type: basic-lti-launch-request\nlti_version: LTI-1p0\noauth_consumer_key: '12345'\noauth_nonce: ErczkKq93r92xHONcCLSU7lHMshQFfIAMp2DoWZA\noauth_signature: rICpZtli6W/Gl8SSd0THzCH+8PI=\noauth_signature_method: HMAC-SHA1\noauth_timestamp: '1412996237'\noauth_version: '1.0'\ncustom_canvas_user_id: '1'\n"], ["updated_at", Sat, 11 Oct 2014 02:57:17 UTC +00:00]]
4172
+  (0.0ms) RELEASE SAVEPOINT active_record_1
4173
+ Redirected to http://test.host/cookie_test?nonce=ErczkKq93r92xHONcCLSU7lHMshQFfIAMp2DoWZA
4174
+ Completed 302 Found in 3.9ms (ActiveRecord: 0.5ms)
4175
+ LtiProvider::Launch Load (0.1ms) SELECT "lti_provider_launches".* FROM "lti_provider_launches" LIMIT 1
4176
+  (0.5ms) rollback transaction
4177
+  (0.1ms) begin transaction
4178
+ Processing by LtiProvider::LtiController#launch as HTML
4179
+ Parameters: {"oauth_signature_method"=>"HMAC-SHA1", "oauth_timestamp"=>"1412996237", "oauth_nonce"=>"I7O8rtajzt7QdNfLEUfD6h3R7nO8qpR5X7HwVfhJ4", "oauth_version"=>"1.0", "custom_canvas_user_id"=>"1", "launch_presentation_return_url"=>"http://test.canvas", "launch_url"=>"http://test.host", "lti_message_type"=>"basic-lti-launch-request", "lti_version"=>"LTI-1p0", "oauth_signature"=>"EChxOtm97BkprmCvPAyDXs+6tj8="}
4180
+ Completed 200 OK in 2.7ms (Views: 1.9ms | ActiveRecord: 0.0ms)
4181
+  (0.1ms) rollback transaction
4182
+  (0.0ms) begin transaction
4183
+ Processing by LtiProvider::LtiController#launch as HTML
4184
+ Parameters: {"oauth_consumer_key"=>"12345", "oauth_signature_method"=>"HMAC-SHA1", "oauth_timestamp"=>"1412996237", "oauth_nonce"=>"af6PrLAVW38u15mHQK6w2F0P4jjJnlRrd43m8xnYP0", "oauth_version"=>"1.0", "custom_canvas_user_id"=>"1", "launch_presentation_return_url"=>"http://test.canvas", "launch_url"=>"http://test.host", "lti_message_type"=>"basic-lti-launch-request", "lti_version"=>"LTI-1p0", "oauth_signature"=>"CgHhCUTSksuVTEjOn2wu0k9l4uc="}
4185
+ Completed 200 OK in 1.6ms (Views: 0.2ms | ActiveRecord: 0.0ms)
4186
+  (0.0ms) rollback transaction
4187
+  (0.0ms) begin transaction
4188
+ Processing by LtiProvider::LtiController#configure as XML
4189
+ Completed 200 OK in 1.3ms (Views: 0.1ms | ActiveRecord: 0.0ms)
4190
+  (0.0ms) rollback transaction
4191
+  (0.0ms) begin transaction
4192
+  (0.0ms) SAVEPOINT active_record_1
4193
+ SQL (0.3ms) INSERT INTO "lti_provider_launches" ("canvas_url", "created_at", "nonce", "provider_params", "updated_at") VALUES (?, ?, ?, ?, ?) [["canvas_url", "http://canvas"], ["created_at", Sat, 11 Oct 2014 02:57:17 UTC +00:00], ["nonce", "abcd"], ["provider_params", "---\ncustom_canvas_course_id: 1\ncustom_canvas_user_id: 2\ntool_consumer_instance_guid: 123abc\n"], ["updated_at", Sat, 11 Oct 2014 02:57:17 UTC +00:00]]
4194
+  (0.0ms) RELEASE SAVEPOINT active_record_1
4195
+ Processing by LtiProvider::LtiController#consume_launch as HTML
4196
+ Parameters: {"nonce"=>"abcd"}
4197
+ LtiProvider::Launch Load (0.1ms) SELECT "lti_provider_launches".* FROM "lti_provider_launches" WHERE "lti_provider_launches"."nonce" = 'abcd' AND (created_at > '2014-10-11 02:52:17.682452') LIMIT 1
4198
+  (0.0ms) SAVEPOINT active_record_1
4199
+ SQL (0.7ms) DELETE FROM "lti_provider_launches" WHERE "lti_provider_launches"."id" = ? [["id", 1]]
4200
+  (0.0ms) RELEASE SAVEPOINT active_record_1
4201
+ Redirected to http://test.host/
4202
+ Completed 302 Found in 6.3ms (ActiveRecord: 0.8ms)
4203
+  (0.4ms) rollback transaction
4204
+  (0.0ms) begin transaction
4205
+  (0.0ms) SAVEPOINT active_record_1
4206
+ SQL (0.3ms) INSERT INTO "lti_provider_launches" ("canvas_url", "created_at", "nonce", "provider_params", "updated_at") VALUES (?, ?, ?, ?, ?) [["canvas_url", "http://canvas"], ["created_at", Sat, 11 Oct 2014 02:57:17 UTC +00:00], ["nonce", "abcd"], ["provider_params", "---\ncustom_canvas_course_id: 1\ncustom_canvas_user_id: 2\ntool_consumer_instance_guid: 123abc\n"], ["updated_at", Sat, 11 Oct 2014 02:57:17 UTC +00:00]]
4207
+  (0.0ms) RELEASE SAVEPOINT active_record_1
4208
+ Processing by LtiProvider::LtiController#consume_launch as HTML
4209
+ Parameters: {"nonce"=>"abcd"}
4210
+ LtiProvider::Launch Load (0.1ms) SELECT "lti_provider_launches".* FROM "lti_provider_launches" WHERE "lti_provider_launches"."nonce" = 'abcd' AND (created_at > '2014-10-11 02:52:17.693427') LIMIT 1
4211
+  (0.0ms) SAVEPOINT active_record_1
4212
+ SQL (0.3ms) DELETE FROM "lti_provider_launches" WHERE "lti_provider_launches"."id" = ? [["id", 1]]
4213
+  (0.0ms) RELEASE SAVEPOINT active_record_1
4214
+ Redirected to http://test.host/
4215
+ Completed 302 Found in 2.2ms (ActiveRecord: 0.4ms)
4216
+  (0.1ms) SELECT COUNT(*) FROM "lti_provider_launches" 
4217
+  (0.5ms) rollback transaction
4218
+  (0.0ms) begin transaction
4219
+  (0.0ms) SAVEPOINT active_record_1
4220
+ SQL (0.3ms) INSERT INTO "lti_provider_launches" ("canvas_url", "created_at", "nonce", "provider_params", "updated_at") VALUES (?, ?, ?, ?, ?) [["canvas_url", "http://canvas"], ["created_at", Sat, 11 Oct 2014 02:57:17 UTC +00:00], ["nonce", "abcd"], ["provider_params", "---\ncustom_canvas_course_id: 1\ncustom_canvas_user_id: 2\ntool_consumer_instance_guid: 123abc\n"], ["updated_at", Sat, 11 Oct 2014 02:57:17 UTC +00:00]]
4221
+  (0.0ms) RELEASE SAVEPOINT active_record_1
4222
+  (0.0ms) SAVEPOINT active_record_1
4223
+  (0.2ms) UPDATE "lti_provider_launches" SET "created_at" = '2014-10-11 02:47:17.700446', "updated_at" = '2014-10-11 02:57:17.700809', "provider_params" = '---
4224
+ custom_canvas_course_id: 1
4225
+ custom_canvas_user_id: 2
4226
+ tool_consumer_instance_guid: 123abc
4227
+ ' WHERE "lti_provider_launches"."id" = 1
4228
+  (0.0ms) RELEASE SAVEPOINT active_record_1
4229
+ Processing by LtiProvider::LtiController#consume_launch as HTML
4230
+ Parameters: {"nonce"=>"abcd"}
4231
+ LtiProvider::Launch Load (0.1ms) SELECT "lti_provider_launches".* FROM "lti_provider_launches" WHERE "lti_provider_launches"."nonce" = 'abcd' AND (created_at > '2014-10-11 02:52:17.703164') LIMIT 1
4232
+ Completed 200 OK in 0.8ms (Views: 0.2ms | ActiveRecord: 0.1ms)
4233
+  (0.3ms) rollback transaction
4234
+  (0.0ms) begin transaction
4235
+  (0.0ms) SAVEPOINT active_record_1
4236
+ SQL (0.4ms) INSERT INTO "lti_provider_launches" ("canvas_url", "created_at", "nonce", "provider_params", "updated_at") VALUES (?, ?, ?, ?, ?) [["canvas_url", "http://canvas"], ["created_at", Sat, 11 Oct 2014 02:57:17 UTC +00:00], ["nonce", "abcd"], ["provider_params", "---\ncustom_canvas_course_id: 1\ncustom_canvas_user_id: 2\ntool_consumer_instance_guid: 123abc\n"], ["updated_at", Sat, 11 Oct 2014 02:57:17 UTC +00:00]]
4237
+  (0.0ms) RELEASE SAVEPOINT active_record_1
4238
+ Processing by LtiProvider::LtiController#consume_launch as HTML
4239
+ Parameters: {"nonce"=>"invalid"}
4240
+ LtiProvider::Launch Load (0.1ms) SELECT "lti_provider_launches".* FROM "lti_provider_launches" WHERE "lti_provider_launches"."nonce" = 'invalid' AND (created_at > '2014-10-11 02:52:17.709485') LIMIT 1
4241
+ Completed 200 OK in 1.0ms (Views: 0.2ms | ActiveRecord: 0.1ms)
4242
+  (0.4ms) rollback transaction
4243
+  (0.0ms) begin transaction
4244
+  (0.0ms) rollback transaction
4245
+  (0.0ms) begin transaction
4246
+  (0.0ms) rollback transaction
4247
+  (0.0ms) begin transaction
4248
+  (0.0ms) rollback transaction
4249
+  (0.0ms) begin transaction
4250
+  (0.0ms) rollback transaction
4251
+  (0.0ms) begin transaction
4252
+  (0.0ms) rollback transaction
4253
+  (0.0ms) begin transaction
4254
+  (0.0ms) rollback transaction
4255
+  (0.0ms) begin transaction
4256
+  (0.0ms) rollback transaction
4257
+  (0.0ms) begin transaction
4258
+  (0.0ms) rollback transaction
4259
+  (0.0ms) begin transaction
4260
+  (0.0ms) rollback transaction
4261
+  (0.0ms) begin transaction
4262
+  (0.0ms) rollback transaction
4263
+  (0.0ms) begin transaction
4264
+  (0.0ms) rollback transaction
4265
+  (0.0ms) begin transaction
4266
+  (0.0ms) rollback transaction
4267
+  (0.0ms) begin transaction
4268
+  (0.0ms) rollback transaction
4269
+  (0.0ms) begin transaction
4270
+  (0.0ms) rollback transaction
4271
+ Initializing LTI key and secret using configuration in /Users/simon/Instructure/projects/lti_provider_engine/spec/dummy/config/lti.yml
4272
+ Initializing LTI XML config using configuration in /Users/simon/Instructure/projects/lti_provider_engine/spec/dummy/config/lti_xml.yml
4273
+ Connecting to database specified by database.yml
4274
+  (0.4ms) begin transaction
4275
+ Processing by LtiProvider::LtiController#cookie_test as HTML
4276
+ Rendered /Users/simon/Instructure/projects/lti_provider_engine/app/views/lti_provider/lti/cookie_test.html.erb within layouts/lti_provider/application (0.1ms)
4277
+ Completed 200 OK in 6.4ms (Views: 6.2ms | ActiveRecord: 0.0ms)
4278
+  (0.0ms) rollback transaction
4279
+  (0.0ms) begin transaction
4280
+ Processing by LtiProvider::LtiController#cookie_test as HTML
4281
+ Completed 200 OK in 0.7ms (Views: 0.6ms | ActiveRecord: 0.0ms)
4282
+  (0.0ms) rollback transaction
4283
+  (0.0ms) begin transaction
4284
+ Processing by LtiProvider::LtiController#configure as XML
4285
+ Completed 200 OK in 1.5ms (Views: 0.1ms | ActiveRecord: 0.0ms)
4286
+  (0.0ms) rollback transaction
4287
+  (0.0ms) begin transaction
4288
+ Processing by LtiProvider::LtiController#launch as HTML
4289
+ Parameters: {"oauth_consumer_key"=>"12345", "oauth_signature_method"=>"HMAC-SHA1", "oauth_timestamp"=>"1412996303", "oauth_nonce"=>"6UoM014A2oR3C7ZzkIps9ZFQ5G8VtAQac1Jnq011kE", "oauth_version"=>"1.0", "custom_canvas_user_id"=>"1", "launch_presentation_return_url"=>"http://test.canvas", "launch_url"=>"http://test.host", "lti_message_type"=>"basic-lti-launch-request", "lti_version"=>"LTI-1p0", "oauth_signature"=>"9j5QXrXmlcOGdjQZZrLprSahIH4="}
4290
+  (0.0ms) SAVEPOINT active_record_1
4291
+ SQL (3.7ms) INSERT INTO "lti_provider_launches" ("canvas_url", "created_at", "nonce", "provider_params", "updated_at") VALUES (?, ?, ?, ?, ?) [["canvas_url", "http://test.canvas"], ["created_at", Sat, 11 Oct 2014 02:58:23 UTC +00:00], ["nonce", "6UoM014A2oR3C7ZzkIps9ZFQ5G8VtAQac1Jnq011kE"], ["provider_params", "---\nlaunch_presentation_return_url: http://test.canvas\nlti_message_type: basic-lti-launch-request\nlti_version: LTI-1p0\noauth_consumer_key: '12345'\noauth_nonce: 6UoM014A2oR3C7ZzkIps9ZFQ5G8VtAQac1Jnq011kE\noauth_signature: 9j5QXrXmlcOGdjQZZrLprSahIH4=\noauth_signature_method: HMAC-SHA1\noauth_timestamp: '1412996303'\noauth_version: '1.0'\ncustom_canvas_user_id: '1'\n"], ["updated_at", Sat, 11 Oct 2014 02:58:23 UTC +00:00]]
4292
+  (0.0ms) RELEASE SAVEPOINT active_record_1
4293
+ Redirected to http://test.host/cookie_test?nonce=6UoM014A2oR3C7ZzkIps9ZFQ5G8VtAQac1Jnq011kE
4294
+ Completed 302 Found in 13.3ms (ActiveRecord: 5.2ms)
4295
+  (0.4ms) rollback transaction
4296
+  (0.0ms) begin transaction
4297
+ Processing by LtiProvider::LtiController#launch as HTML
4298
+ Parameters: {"oauth_consumer_key"=>"12345", "oauth_signature_method"=>"HMAC-SHA1", "oauth_timestamp"=>"1412996303", "oauth_nonce"=>"OBr9QU1bsvtPdNiHOluP1DNGkxB1EM2TCyCfz9AkbR4", "oauth_version"=>"1.0", "custom_canvas_user_id"=>"1", "launch_presentation_return_url"=>"http://test.canvas", "launch_url"=>"http://test.host", "lti_message_type"=>"basic-lti-launch-request", "lti_version"=>"LTI-1p0", "oauth_signature"=>"A0mQQOAHV0gopnn09c7TtVdHRwU="}
4299
+  (0.0ms) SAVEPOINT active_record_1
4300
+ SQL (0.6ms) INSERT INTO "lti_provider_launches" ("canvas_url", "created_at", "nonce", "provider_params", "updated_at") VALUES (?, ?, ?, ?, ?) [["canvas_url", "http://test.canvas"], ["created_at", Sat, 11 Oct 2014 02:58:23 UTC +00:00], ["nonce", "OBr9QU1bsvtPdNiHOluP1DNGkxB1EM2TCyCfz9AkbR4"], ["provider_params", "---\nlaunch_presentation_return_url: http://test.canvas\nlti_message_type: basic-lti-launch-request\nlti_version: LTI-1p0\noauth_consumer_key: '12345'\noauth_nonce: OBr9QU1bsvtPdNiHOluP1DNGkxB1EM2TCyCfz9AkbR4\noauth_signature: A0mQQOAHV0gopnn09c7TtVdHRwU=\noauth_signature_method: HMAC-SHA1\noauth_timestamp: '1412996303'\noauth_version: '1.0'\ncustom_canvas_user_id: '1'\n"], ["updated_at", Sat, 11 Oct 2014 02:58:23 UTC +00:00]]
4301
+  (0.0ms) RELEASE SAVEPOINT active_record_1
4302
+ Redirected to http://test.host/cookie_test?nonce=OBr9QU1bsvtPdNiHOluP1DNGkxB1EM2TCyCfz9AkbR4
4303
+ Completed 302 Found in 3.9ms (ActiveRecord: 0.6ms)
4304
+ LtiProvider::Launch Load (0.1ms) SELECT "lti_provider_launches".* FROM "lti_provider_launches" LIMIT 1
4305
+  (0.3ms) rollback transaction
4306
+  (0.0ms) begin transaction
4307
+ Processing by LtiProvider::LtiController#launch as HTML
4308
+ Parameters: {"oauth_signature_method"=>"HMAC-SHA1", "oauth_timestamp"=>"1412996303", "oauth_nonce"=>"BM3QNxUfGlnHJP2iZM6OGFMuGwIAx7bkpnUlccoUjk", "oauth_version"=>"1.0", "custom_canvas_user_id"=>"1", "launch_presentation_return_url"=>"http://test.canvas", "launch_url"=>"http://test.host", "lti_message_type"=>"basic-lti-launch-request", "lti_version"=>"LTI-1p0", "oauth_signature"=>"UN8x8He3DHrWqvHU0y1HOgmCA/M="}
4309
+ Completed 200 OK in 2.9ms (Views: 1.9ms | ActiveRecord: 0.0ms)
4310
+  (0.0ms) rollback transaction
4311
+  (0.0ms) begin transaction
4312
+ Processing by LtiProvider::LtiController#launch as HTML
4313
+ Parameters: {"oauth_consumer_key"=>"12345", "oauth_signature_method"=>"HMAC-SHA1", "oauth_timestamp"=>"1412996303", "oauth_nonce"=>"gwwZF4LlEIWhc9tPZwSbrdIJYEiYwiwCbK9HJvGjNH8", "oauth_version"=>"1.0", "custom_canvas_user_id"=>"1", "launch_presentation_return_url"=>"http://test.canvas", "launch_url"=>"http://test.host", "lti_message_type"=>"basic-lti-launch-request", "lti_version"=>"LTI-1p0", "oauth_signature"=>"qL6wCfJL+HW1SVCPFly/s9n01Y8="}
4314
+ Completed 200 OK in 1.6ms (Views: 0.3ms | ActiveRecord: 0.0ms)
4315
+  (0.1ms) rollback transaction
4316
+  (0.1ms) begin transaction
4317
+  (0.0ms) SAVEPOINT active_record_1
4318
+ SQL (0.3ms) INSERT INTO "lti_provider_launches" ("canvas_url", "created_at", "nonce", "provider_params", "updated_at") VALUES (?, ?, ?, ?, ?) [["canvas_url", "http://canvas"], ["created_at", Sat, 11 Oct 2014 02:58:23 UTC +00:00], ["nonce", "abcd"], ["provider_params", "---\ncustom_canvas_course_id: 1\ncustom_canvas_user_id: 2\ntool_consumer_instance_guid: 123abc\n"], ["updated_at", Sat, 11 Oct 2014 02:58:23 UTC +00:00]]
4319
+  (0.0ms) RELEASE SAVEPOINT active_record_1
4320
+ Processing by LtiProvider::LtiController#consume_launch as HTML
4321
+ Parameters: {"nonce"=>"abcd"}
4322
+ LtiProvider::Launch Load (0.1ms) SELECT "lti_provider_launches".* FROM "lti_provider_launches" WHERE "lti_provider_launches"."nonce" = 'abcd' AND (created_at > '2014-10-11 02:53:23.879365') LIMIT 1
4323
+  (0.0ms) SAVEPOINT active_record_1
4324
+ SQL (0.8ms) DELETE FROM "lti_provider_launches" WHERE "lti_provider_launches"."id" = ? [["id", 1]]
4325
+  (0.0ms) RELEASE SAVEPOINT active_record_1
4326
+ Redirected to http://test.host/
4327
+ Completed 302 Found in 5.9ms (ActiveRecord: 0.9ms)
4328
+  (0.3ms) rollback transaction
4329
+  (0.0ms) begin transaction
4330
+  (0.0ms) SAVEPOINT active_record_1
4331
+ SQL (0.2ms) INSERT INTO "lti_provider_launches" ("canvas_url", "created_at", "nonce", "provider_params", "updated_at") VALUES (?, ?, ?, ?, ?) [["canvas_url", "http://canvas"], ["created_at", Sat, 11 Oct 2014 02:58:23 UTC +00:00], ["nonce", "abcd"], ["provider_params", "---\ncustom_canvas_course_id: 1\ncustom_canvas_user_id: 2\ntool_consumer_instance_guid: 123abc\n"], ["updated_at", Sat, 11 Oct 2014 02:58:23 UTC +00:00]]
4332
+  (0.0ms) RELEASE SAVEPOINT active_record_1
4333
+ Processing by LtiProvider::LtiController#consume_launch as HTML
4334
+ Parameters: {"nonce"=>"abcd"}
4335
+ LtiProvider::Launch Load (0.1ms) SELECT "lti_provider_launches".* FROM "lti_provider_launches" WHERE "lti_provider_launches"."nonce" = 'abcd' AND (created_at > '2014-10-11 02:53:23.889283') LIMIT 1
4336
+  (0.0ms) SAVEPOINT active_record_1
4337
+ SQL (0.2ms) DELETE FROM "lti_provider_launches" WHERE "lti_provider_launches"."id" = ? [["id", 1]]
4338
+  (0.0ms) RELEASE SAVEPOINT active_record_1
4339
+ Redirected to http://test.host/
4340
+ Completed 302 Found in 1.5ms (ActiveRecord: 0.3ms)
4341
+  (0.0ms) SELECT COUNT(*) FROM "lti_provider_launches" 
4342
+  (0.3ms) rollback transaction
4343
+  (0.0ms) begin transaction
4344
+  (0.0ms) SAVEPOINT active_record_1
4345
+ SQL (0.2ms) INSERT INTO "lti_provider_launches" ("canvas_url", "created_at", "nonce", "provider_params", "updated_at") VALUES (?, ?, ?, ?, ?) [["canvas_url", "http://canvas"], ["created_at", Sat, 11 Oct 2014 02:58:23 UTC +00:00], ["nonce", "abcd"], ["provider_params", "---\ncustom_canvas_course_id: 1\ncustom_canvas_user_id: 2\ntool_consumer_instance_guid: 123abc\n"], ["updated_at", Sat, 11 Oct 2014 02:58:23 UTC +00:00]]
4346
+  (0.0ms) RELEASE SAVEPOINT active_record_1
4347
+  (0.0ms) SAVEPOINT active_record_1
4348
+  (0.2ms) UPDATE "lti_provider_launches" SET "created_at" = '2014-10-11 02:48:23.894034', "updated_at" = '2014-10-11 02:58:23.894375', "provider_params" = '---
4349
+ custom_canvas_course_id: 1
4350
+ custom_canvas_user_id: 2
4351
+ tool_consumer_instance_guid: 123abc
4352
+ ' WHERE "lti_provider_launches"."id" = 1
4353
+  (0.0ms) RELEASE SAVEPOINT active_record_1
4354
+ Processing by LtiProvider::LtiController#consume_launch as HTML
4355
+ Parameters: {"nonce"=>"abcd"}
4356
+ LtiProvider::Launch Load (0.1ms) SELECT "lti_provider_launches".* FROM "lti_provider_launches" WHERE "lti_provider_launches"."nonce" = 'abcd' AND (created_at > '2014-10-11 02:53:23.896668') LIMIT 1
4357
+ Completed 200 OK in 0.8ms (Views: 0.2ms | ActiveRecord: 0.1ms)
4358
+  (0.3ms) rollback transaction
4359
+  (0.0ms) begin transaction
4360
+  (0.0ms) SAVEPOINT active_record_1
4361
+ SQL (0.2ms) INSERT INTO "lti_provider_launches" ("canvas_url", "created_at", "nonce", "provider_params", "updated_at") VALUES (?, ?, ?, ?, ?) [["canvas_url", "http://canvas"], ["created_at", Sat, 11 Oct 2014 02:58:23 UTC +00:00], ["nonce", "abcd"], ["provider_params", "---\ncustom_canvas_course_id: 1\ncustom_canvas_user_id: 2\ntool_consumer_instance_guid: 123abc\n"], ["updated_at", Sat, 11 Oct 2014 02:58:23 UTC +00:00]]
4362
+  (0.0ms) RELEASE SAVEPOINT active_record_1
4363
+ Processing by LtiProvider::LtiController#consume_launch as HTML
4364
+ Parameters: {"nonce"=>"invalid"}
4365
+ LtiProvider::Launch Load (0.1ms) SELECT "lti_provider_launches".* FROM "lti_provider_launches" WHERE "lti_provider_launches"."nonce" = 'invalid' AND (created_at > '2014-10-11 02:53:23.901398') LIMIT 1
4366
+ Completed 200 OK in 0.8ms (Views: 0.2ms | ActiveRecord: 0.1ms)
4367
+  (0.3ms) rollback transaction
4368
+  (0.0ms) begin transaction
4369
+  (0.0ms) rollback transaction
4370
+  (0.0ms) begin transaction
4371
+  (0.0ms) rollback transaction
4372
+  (0.0ms) begin transaction
4373
+  (0.0ms) rollback transaction
4374
+  (0.0ms) begin transaction
4375
+  (0.0ms) rollback transaction
4376
+  (0.0ms) begin transaction
4377
+  (0.0ms) rollback transaction
4378
+  (0.0ms) begin transaction
4379
+  (0.1ms) rollback transaction
4380
+  (0.1ms) begin transaction
4381
+  (0.0ms) rollback transaction
4382
+  (0.0ms) begin transaction
4383
+  (0.0ms) rollback transaction
4384
+  (0.0ms) begin transaction
4385
+  (0.0ms) rollback transaction
4386
+  (0.0ms) begin transaction
4387
+  (0.0ms) rollback transaction
4388
+  (0.0ms) begin transaction
4389
+  (0.0ms) rollback transaction
4390
+  (0.0ms) begin transaction
4391
+  (0.0ms) rollback transaction
4392
+  (0.0ms) begin transaction
4393
+  (0.0ms) rollback transaction
4394
+  (0.0ms) begin transaction
4395
+  (0.0ms) rollback transaction
4396
+ Initializing LTI key and secret using configuration in /Users/simon/Instructure/projects/lti_provider_engine/spec/dummy/config/lti.yml
4397
+ Initializing LTI XML config using configuration in /Users/simon/Instructure/projects/lti_provider_engine/spec/dummy/config/lti_xml.yml
4398
+ Connecting to database specified by database.yml
4399
+  (0.2ms) begin transaction
4400
+  (0.0ms) SAVEPOINT active_record_1
4401
+ SQL (3.1ms) INSERT INTO "lti_provider_launches" ("canvas_url", "created_at", "nonce", "provider_params", "updated_at") VALUES (?, ?, ?, ?, ?) [["canvas_url", "http://canvas"], ["created_at", Sat, 11 Oct 2014 03:03:21 UTC +00:00], ["nonce", "abcd"], ["provider_params", "---\ncustom_canvas_course_id: 1\ncustom_canvas_user_id: 2\ntool_consumer_instance_guid: 123abc\n"], ["updated_at", Sat, 11 Oct 2014 03:03:21 UTC +00:00]]
4402
+  (0.0ms) RELEASE SAVEPOINT active_record_1
4403
+ Processing by LtiProvider::LtiController#consume_launch as HTML
4404
+ Parameters: {"nonce"=>"invalid"}
4405
+ LtiProvider::Launch Load (0.1ms) SELECT "lti_provider_launches".* FROM "lti_provider_launches" WHERE "lti_provider_launches"."nonce" = 'invalid' AND (created_at > '2014-10-11 02:58:21.607277') LIMIT 1
4406
+ Rendered text template (0.0ms)
4407
+ Completed 200 OK in 9.3ms (Views: 6.2ms | ActiveRecord: 0.1ms)
4408
+  (1.1ms) rollback transaction
4409
+  (0.1ms) begin transaction
4410
+  (0.0ms) SAVEPOINT active_record_1
4411
+ SQL (0.4ms) INSERT INTO "lti_provider_launches" ("canvas_url", "created_at", "nonce", "provider_params", "updated_at") VALUES (?, ?, ?, ?, ?) [["canvas_url", "http://canvas"], ["created_at", Sat, 11 Oct 2014 03:03:21 UTC +00:00], ["nonce", "abcd"], ["provider_params", "---\ncustom_canvas_course_id: 1\ncustom_canvas_user_id: 2\ntool_consumer_instance_guid: 123abc\n"], ["updated_at", Sat, 11 Oct 2014 03:03:21 UTC +00:00]]
4412
+  (0.0ms) RELEASE SAVEPOINT active_record_1
4413
+ Processing by LtiProvider::LtiController#consume_launch as HTML
4414
+ Parameters: {"nonce"=>"abcd"}
4415
+ LtiProvider::Launch Load (0.1ms) SELECT "lti_provider_launches".* FROM "lti_provider_launches" WHERE "lti_provider_launches"."nonce" = 'abcd' AND (created_at > '2014-10-11 02:58:21.624362') LIMIT 1
4416
+  (0.0ms) SAVEPOINT active_record_1
4417
+ SQL (0.8ms) DELETE FROM "lti_provider_launches" WHERE "lti_provider_launches"."id" = ? [["id", 1]]
4418
+  (0.0ms) RELEASE SAVEPOINT active_record_1
4419
+ Redirected to http://test.host/
4420
+ Completed 302 Found in 5.0ms (ActiveRecord: 0.9ms)
4421
+  (0.4ms) rollback transaction
4422
+  (0.0ms) begin transaction
4423
+  (0.0ms) SAVEPOINT active_record_1
4424
+ SQL (0.3ms) INSERT INTO "lti_provider_launches" ("canvas_url", "created_at", "nonce", "provider_params", "updated_at") VALUES (?, ?, ?, ?, ?) [["canvas_url", "http://canvas"], ["created_at", Sat, 11 Oct 2014 03:03:21 UTC +00:00], ["nonce", "abcd"], ["provider_params", "---\ncustom_canvas_course_id: 1\ncustom_canvas_user_id: 2\ntool_consumer_instance_guid: 123abc\n"], ["updated_at", Sat, 11 Oct 2014 03:03:21 UTC +00:00]]
4425
+  (0.0ms) RELEASE SAVEPOINT active_record_1
4426
+ Processing by LtiProvider::LtiController#consume_launch as HTML
4427
+ Parameters: {"nonce"=>"abcd"}
4428
+ LtiProvider::Launch Load (0.1ms) SELECT "lti_provider_launches".* FROM "lti_provider_launches" WHERE "lti_provider_launches"."nonce" = 'abcd' AND (created_at > '2014-10-11 02:58:21.634356') LIMIT 1
4429
+  (0.0ms) SAVEPOINT active_record_1
4430
+ SQL (0.2ms) DELETE FROM "lti_provider_launches" WHERE "lti_provider_launches"."id" = ? [["id", 1]]
4431
+  (0.0ms) RELEASE SAVEPOINT active_record_1
4432
+ Redirected to http://test.host/
4433
+ Completed 302 Found in 1.8ms (ActiveRecord: 0.3ms)
4434
+  (0.0ms) SELECT COUNT(*) FROM "lti_provider_launches"
4435
+  (0.4ms) rollback transaction
4436
+  (0.0ms) begin transaction
4437
+  (0.0ms) SAVEPOINT active_record_1
4438
+ SQL (0.2ms) INSERT INTO "lti_provider_launches" ("canvas_url", "created_at", "nonce", "provider_params", "updated_at") VALUES (?, ?, ?, ?, ?) [["canvas_url", "http://canvas"], ["created_at", Sat, 11 Oct 2014 03:03:21 UTC +00:00], ["nonce", "abcd"], ["provider_params", "---\ncustom_canvas_course_id: 1\ncustom_canvas_user_id: 2\ntool_consumer_instance_guid: 123abc\n"], ["updated_at", Sat, 11 Oct 2014 03:03:21 UTC +00:00]]
4439
+  (0.0ms) RELEASE SAVEPOINT active_record_1
4440
+  (0.0ms) SAVEPOINT active_record_1
4441
+  (0.2ms) UPDATE "lti_provider_launches" SET "created_at" = '2014-10-11 02:53:21.639698', "updated_at" = '2014-10-11 03:03:21.640018', "provider_params" = '---
4442
+ custom_canvas_course_id: 1
4443
+ custom_canvas_user_id: 2
4444
+ tool_consumer_instance_guid: 123abc
4445
+ ' WHERE "lti_provider_launches"."id" = 1
4446
+  (0.0ms) RELEASE SAVEPOINT active_record_1
4447
+ Processing by LtiProvider::LtiController#consume_launch as HTML
4448
+ Parameters: {"nonce"=>"abcd"}
4449
+ LtiProvider::Launch Load (0.1ms) SELECT "lti_provider_launches".* FROM "lti_provider_launches" WHERE "lti_provider_launches"."nonce" = 'abcd' AND (created_at > '2014-10-11 02:58:21.642343') LIMIT 1
4450
+ Completed 200 OK in 1.0ms (Views: 0.2ms | ActiveRecord: 0.1ms)
4451
+  (0.4ms) rollback transaction
4452
+  (0.0ms) begin transaction
4453
+ Processing by LtiProvider::LtiController#cookie_test as HTML
4454
+ Completed 200 OK in 1.4ms (Views: 1.1ms | ActiveRecord: 0.0ms)
4455
+  (0.0ms) rollback transaction
4456
+  (0.0ms) begin transaction
4457
+ Processing by LtiProvider::LtiController#cookie_test as HTML
4458
+ Completed 200 OK in 0.6ms (Views: 0.5ms | ActiveRecord: 0.0ms)
4459
+  (0.0ms) rollback transaction
4460
+  (0.0ms) begin transaction
4461
+ Processing by LtiProvider::LtiController#launch as HTML
4462
+ Parameters: {"oauth_consumer_key"=>"12345", "oauth_signature_method"=>"HMAC-SHA1", "oauth_timestamp"=>"1412996601", "oauth_nonce"=>"jQJRSDDDZYRFhhvfwl97M4IlRjl9yAsUjRsVl3ebIw", "oauth_version"=>"1.0", "custom_canvas_user_id"=>"1", "launch_presentation_return_url"=>"http://test.canvas", "launch_url"=>"http://test.host", "lti_message_type"=>"basic-lti-launch-request", "lti_version"=>"LTI-1p0", "oauth_signature"=>"lBb72gvEqFL3UodKu12xnX9U9Ho="}
4463
+ Completed 200 OK in 1.5ms (Views: 0.2ms | ActiveRecord: 0.0ms)
4464
+  (0.1ms) rollback transaction
4465
+  (0.0ms) begin transaction
4466
+ Processing by LtiProvider::LtiController#launch as HTML
4467
+ Parameters: {"oauth_consumer_key"=>"12345", "oauth_signature_method"=>"HMAC-SHA1", "oauth_timestamp"=>"1412996601", "oauth_nonce"=>"oJiPlMllYp6mXe18emUAAyq8HdsiBWubAGQiLAd2U", "oauth_version"=>"1.0", "custom_canvas_user_id"=>"1", "launch_presentation_return_url"=>"http://test.canvas", "launch_url"=>"http://test.host", "lti_message_type"=>"basic-lti-launch-request", "lti_version"=>"LTI-1p0", "oauth_signature"=>"WjWsf1fN23pPR/RZezs+x7WjX5s="}
4468
+  (0.0ms) SAVEPOINT active_record_1
4469
+ SQL (0.3ms) INSERT INTO "lti_provider_launches" ("canvas_url", "created_at", "nonce", "provider_params", "updated_at") VALUES (?, ?, ?, ?, ?) [["canvas_url", "http://test.canvas"], ["created_at", Sat, 11 Oct 2014 03:03:21 UTC +00:00], ["nonce", "oJiPlMllYp6mXe18emUAAyq8HdsiBWubAGQiLAd2U"], ["provider_params", "---\nlaunch_presentation_return_url: http://test.canvas\nlti_message_type: basic-lti-launch-request\nlti_version: LTI-1p0\noauth_consumer_key: '12345'\noauth_nonce: oJiPlMllYp6mXe18emUAAyq8HdsiBWubAGQiLAd2U\noauth_signature: WjWsf1fN23pPR/RZezs+x7WjX5s=\noauth_signature_method: HMAC-SHA1\noauth_timestamp: '1412996601'\noauth_version: '1.0'\ncustom_canvas_user_id: '1'\n"], ["updated_at", Sat, 11 Oct 2014 03:03:21 UTC +00:00]]
4470
+  (0.0ms) RELEASE SAVEPOINT active_record_1
4471
+ Redirected to http://test.host/cookie_test?nonce=oJiPlMllYp6mXe18emUAAyq8HdsiBWubAGQiLAd2U
4472
+ Completed 302 Found in 2.8ms (ActiveRecord: 0.4ms)
4473
+  (0.5ms) rollback transaction
4474
+  (0.1ms) begin transaction
4475
+ Processing by LtiProvider::LtiController#launch as HTML
4476
+ Parameters: {"oauth_consumer_key"=>"12345", "oauth_signature_method"=>"HMAC-SHA1", "oauth_timestamp"=>"1412996601", "oauth_nonce"=>"1JAdrzo22oKfsIOgwP6msfaUNnGnbzA4w0HRKvIFw", "oauth_version"=>"1.0", "custom_canvas_user_id"=>"1", "launch_presentation_return_url"=>"http://test.canvas", "launch_url"=>"http://test.host", "lti_message_type"=>"basic-lti-launch-request", "lti_version"=>"LTI-1p0", "oauth_signature"=>"UOD8WoDbNPUy7+yg4NyaheICStk="}
4477
+  (0.0ms) SAVEPOINT active_record_1
4478
+ SQL (0.6ms) INSERT INTO "lti_provider_launches" ("canvas_url", "created_at", "nonce", "provider_params", "updated_at") VALUES (?, ?, ?, ?, ?) [["canvas_url", "http://test.canvas"], ["created_at", Sat, 11 Oct 2014 03:03:21 UTC +00:00], ["nonce", "1JAdrzo22oKfsIOgwP6msfaUNnGnbzA4w0HRKvIFw"], ["provider_params", "---\nlaunch_presentation_return_url: http://test.canvas\nlti_message_type: basic-lti-launch-request\nlti_version: LTI-1p0\noauth_consumer_key: '12345'\noauth_nonce: 1JAdrzo22oKfsIOgwP6msfaUNnGnbzA4w0HRKvIFw\noauth_signature: UOD8WoDbNPUy7+yg4NyaheICStk=\noauth_signature_method: HMAC-SHA1\noauth_timestamp: '1412996601'\noauth_version: '1.0'\ncustom_canvas_user_id: '1'\n"], ["updated_at", Sat, 11 Oct 2014 03:03:21 UTC +00:00]]
4479
+  (0.0ms) RELEASE SAVEPOINT active_record_1
4480
+ Redirected to http://test.host/cookie_test?nonce=1JAdrzo22oKfsIOgwP6msfaUNnGnbzA4w0HRKvIFw
4481
+ Completed 302 Found in 5.1ms (ActiveRecord: 0.7ms)
4482
+ LtiProvider::Launch Load (0.1ms) SELECT "lti_provider_launches".* FROM "lti_provider_launches" LIMIT 1
4483
+  (0.4ms) rollback transaction
4484
+  (0.0ms) begin transaction
4485
+ Processing by LtiProvider::LtiController#launch as HTML
4486
+ Parameters: {"oauth_signature_method"=>"HMAC-SHA1", "oauth_timestamp"=>"1412996601", "oauth_nonce"=>"9wHnVg94Bcv1AVNNsZDWAfRnDcc5Tcbs2WTtFQ2rFh0", "oauth_version"=>"1.0", "custom_canvas_user_id"=>"1", "launch_presentation_return_url"=>"http://test.canvas", "launch_url"=>"http://test.host", "lti_message_type"=>"basic-lti-launch-request", "lti_version"=>"LTI-1p0", "oauth_signature"=>"etQeKcB1n3/6zBZgPwDk9eAMJJI="}
4487
+ Completed 200 OK in 0.7ms (Views: 0.2ms | ActiveRecord: 0.0ms)
4488
+  (0.0ms) rollback transaction
4489
+  (0.0ms) begin transaction
4490
+ Processing by LtiProvider::LtiController#configure as XML
4491
+ Completed 200 OK in 1.2ms (Views: 0.1ms | ActiveRecord: 0.0ms)
4492
+  (0.0ms) rollback transaction
4493
+  (0.0ms) begin transaction
4494
+  (0.0ms) rollback transaction
4495
+  (0.0ms) begin transaction
4496
+  (0.0ms) rollback transaction
4497
+  (0.0ms) begin transaction
4498
+  (0.0ms) rollback transaction
4499
+  (0.0ms) begin transaction
4500
+  (0.0ms) rollback transaction
4501
+  (0.0ms) begin transaction
4502
+  (0.0ms) rollback transaction
4503
+  (0.0ms) begin transaction
4504
+  (0.0ms) rollback transaction
4505
+  (0.0ms) begin transaction
4506
+  (0.0ms) rollback transaction
4507
+  (0.0ms) begin transaction
4508
+  (0.0ms) rollback transaction
4509
+  (0.0ms) begin transaction
4510
+  (0.0ms) rollback transaction
4511
+  (0.0ms) begin transaction
4512
+  (0.0ms) rollback transaction
4513
+  (0.0ms) begin transaction
4514
+  (0.0ms) rollback transaction
4515
+  (0.0ms) begin transaction
4516
+  (0.0ms) rollback transaction
4517
+  (0.0ms) begin transaction
4518
+  (0.0ms) rollback transaction
4519
+  (0.0ms) begin transaction
4520
+  (0.0ms) rollback transaction
4521
+ Initializing LTI key and secret using configuration in /Users/simon/Instructure/projects/lti_provider_engine/spec/dummy/config/lti.yml
4522
+ Initializing LTI XML config using configuration in /Users/simon/Instructure/projects/lti_provider_engine/spec/dummy/config/lti_xml.yml
4523
+ Connecting to database specified by database.yml
4524
+  (0.3ms) begin transaction
4525
+  (0.0ms) rollback transaction
4526
+  (0.0ms) begin transaction
4527
+  (0.0ms) rollback transaction
4528
+  (0.0ms) begin transaction
4529
+  (0.0ms) rollback transaction
4530
+  (0.0ms) begin transaction
4531
+  (0.0ms) rollback transaction
4532
+  (0.0ms) begin transaction
4533
+  (0.0ms) rollback transaction
4534
+  (0.0ms) begin transaction
4535
+  (0.0ms) rollback transaction
4536
+  (0.0ms) begin transaction
4537
+  (0.0ms) rollback transaction
4538
+  (0.0ms) begin transaction
4539
+  (0.0ms) rollback transaction
4540
+  (0.0ms) begin transaction
4541
+  (0.0ms) rollback transaction
4542
+  (0.0ms) begin transaction
4543
+  (0.0ms) rollback transaction
4544
+  (0.0ms) begin transaction
4545
+  (0.0ms) rollback transaction
4546
+  (0.0ms) begin transaction
4547
+  (0.0ms) rollback transaction
4548
+  (0.0ms) begin transaction
4549
+  (0.0ms) rollback transaction
4550
+  (0.0ms) begin transaction
4551
+  (0.0ms) rollback transaction
4552
+  (0.0ms) begin transaction
4553
+ Processing by LtiProvider::LtiController#launch as HTML
4554
+ Parameters: {"oauth_signature_method"=>"HMAC-SHA1", "oauth_timestamp"=>"1412996973", "oauth_nonce"=>"F2ZJ7j635tSdQP2yww0tklTWkABiwN9eEtB4fl3w", "oauth_version"=>"1.0", "custom_canvas_user_id"=>"1", "launch_presentation_return_url"=>"http://test.canvas", "launch_url"=>"http://test.host", "lti_message_type"=>"basic-lti-launch-request", "lti_version"=>"LTI-1p0", "oauth_signature"=>"zIT6mCdhj0zL0B7mmH2Kd38ocho="}
4555
+ Rendered text template (0.0ms)
4556
+ Completed 200 OK in 7.2ms (Views: 6.5ms | ActiveRecord: 0.0ms)
4557
+  (0.0ms) rollback transaction
4558
+  (0.0ms) begin transaction
4559
+ Processing by LtiProvider::LtiController#launch as HTML
4560
+ Parameters: {"oauth_consumer_key"=>"12345", "oauth_signature_method"=>"HMAC-SHA1", "oauth_timestamp"=>"1412996973", "oauth_nonce"=>"YV2r7GEuL9sNXig2mbWgttRuZILmtI6R7AQtUoA", "oauth_version"=>"1.0", "custom_canvas_user_id"=>"1", "launch_presentation_return_url"=>"http://test.canvas", "launch_url"=>"http://test.host", "lti_message_type"=>"basic-lti-launch-request", "lti_version"=>"LTI-1p0", "oauth_signature"=>"VTJxoIntvO5TvSWgEco2o0ErKJk="}
4561
+  (0.1ms) SAVEPOINT active_record_1
4562
+ SQL (3.4ms) INSERT INTO "lti_provider_launches" ("canvas_url", "created_at", "nonce", "provider_params", "updated_at") VALUES (?, ?, ?, ?, ?) [["canvas_url", "http://test.canvas"], ["created_at", Sat, 11 Oct 2014 03:09:33 UTC +00:00], ["nonce", "YV2r7GEuL9sNXig2mbWgttRuZILmtI6R7AQtUoA"], ["provider_params", "---\nlaunch_presentation_return_url: http://test.canvas\nlti_message_type: basic-lti-launch-request\nlti_version: LTI-1p0\noauth_consumer_key: '12345'\noauth_nonce: YV2r7GEuL9sNXig2mbWgttRuZILmtI6R7AQtUoA\noauth_signature: VTJxoIntvO5TvSWgEco2o0ErKJk=\noauth_signature_method: HMAC-SHA1\noauth_timestamp: '1412996973'\noauth_version: '1.0'\ncustom_canvas_user_id: '1'\n"], ["updated_at", Sat, 11 Oct 2014 03:09:33 UTC +00:00]]
4563
+  (0.0ms) RELEASE SAVEPOINT active_record_1
4564
+ Redirected to http://test.host/cookie_test?nonce=YV2r7GEuL9sNXig2mbWgttRuZILmtI6R7AQtUoA
4565
+ Completed 302 Found in 7.0ms (ActiveRecord: 3.5ms)
4566
+ LtiProvider::Launch Load (0.1ms) SELECT "lti_provider_launches".* FROM "lti_provider_launches" LIMIT 1
4567
+  (1.1ms) rollback transaction
4568
+  (0.1ms) begin transaction
4569
+ Processing by LtiProvider::LtiController#launch as HTML
4570
+ Parameters: {"oauth_consumer_key"=>"12345", "oauth_signature_method"=>"HMAC-SHA1", "oauth_timestamp"=>"1412996973", "oauth_nonce"=>"pXYXTd2jvVoNPnL1AAqo5BEzTqc6dGrpRAVKp9ylIw", "oauth_version"=>"1.0", "custom_canvas_user_id"=>"1", "launch_presentation_return_url"=>"http://test.canvas", "launch_url"=>"http://test.host", "lti_message_type"=>"basic-lti-launch-request", "lti_version"=>"LTI-1p0", "oauth_signature"=>"9yKSmwKRtUz9BvBTI8JgY7Bt5QY="}
4571
+  (0.1ms) SAVEPOINT active_record_1
4572
+ SQL (0.5ms) INSERT INTO "lti_provider_launches" ("canvas_url", "created_at", "nonce", "provider_params", "updated_at") VALUES (?, ?, ?, ?, ?) [["canvas_url", "http://test.canvas"], ["created_at", Sat, 11 Oct 2014 03:09:33 UTC +00:00], ["nonce", "pXYXTd2jvVoNPnL1AAqo5BEzTqc6dGrpRAVKp9ylIw"], ["provider_params", "---\nlaunch_presentation_return_url: http://test.canvas\nlti_message_type: basic-lti-launch-request\nlti_version: LTI-1p0\noauth_consumer_key: '12345'\noauth_nonce: pXYXTd2jvVoNPnL1AAqo5BEzTqc6dGrpRAVKp9ylIw\noauth_signature: 9yKSmwKRtUz9BvBTI8JgY7Bt5QY=\noauth_signature_method: HMAC-SHA1\noauth_timestamp: '1412996973'\noauth_version: '1.0'\ncustom_canvas_user_id: '1'\n"], ["updated_at", Sat, 11 Oct 2014 03:09:33 UTC +00:00]]
4573
+  (0.0ms) RELEASE SAVEPOINT active_record_1
4574
+ Redirected to http://test.host/cookie_test?nonce=pXYXTd2jvVoNPnL1AAqo5BEzTqc6dGrpRAVKp9ylIw
4575
+ Completed 302 Found in 5.3ms (ActiveRecord: 0.6ms)
4576
+  (0.4ms) rollback transaction
4577
+  (0.0ms) begin transaction
4578
+ Processing by LtiProvider::LtiController#launch as HTML
4579
+ Parameters: {"oauth_consumer_key"=>"12345", "oauth_signature_method"=>"HMAC-SHA1", "oauth_timestamp"=>"1412996973", "oauth_nonce"=>"Seny52UD68aDiRQmJTYpMBi9VARNoc49hEvDcOlQQA", "oauth_version"=>"1.0", "custom_canvas_user_id"=>"1", "launch_presentation_return_url"=>"http://test.canvas", "launch_url"=>"http://test.host", "lti_message_type"=>"basic-lti-launch-request", "lti_version"=>"LTI-1p0", "oauth_signature"=>"/2x6yDIGENsenGCdcKg3WSgMvXw="}
4580
+ Completed 200 OK in 1.3ms (Views: 0.2ms | ActiveRecord: 0.0ms)
4581
+  (0.1ms) rollback transaction
4582
+  (0.1ms) begin transaction
4583
+ Processing by LtiProvider::LtiController#cookie_test as HTML
4584
+ Completed 200 OK in 1.9ms (Views: 1.6ms | ActiveRecord: 0.0ms)
4585
+  (0.0ms) rollback transaction
4586
+  (0.0ms) begin transaction
4587
+ Processing by LtiProvider::LtiController#cookie_test as HTML
4588
+ Completed 200 OK in 0.7ms (Views: 0.6ms | ActiveRecord: 0.0ms)
4589
+  (0.0ms) rollback transaction
4590
+  (0.0ms) begin transaction
4591
+ Processing by LtiProvider::LtiController#configure as XML
4592
+ Completed 200 OK in 1.3ms (Views: 0.1ms | ActiveRecord: 0.0ms)
4593
+  (0.0ms) rollback transaction
4594
+  (0.0ms) begin transaction
4595
+  (0.0ms) SAVEPOINT active_record_1
4596
+ SQL (0.3ms) INSERT INTO "lti_provider_launches" ("canvas_url", "created_at", "nonce", "provider_params", "updated_at") VALUES (?, ?, ?, ?, ?) [["canvas_url", "http://canvas"], ["created_at", Sat, 11 Oct 2014 03:09:33 UTC +00:00], ["nonce", "abcd"], ["provider_params", "---\ncustom_canvas_course_id: 1\ncustom_canvas_user_id: 2\ntool_consumer_instance_guid: 123abc\n"], ["updated_at", Sat, 11 Oct 2014 03:09:33 UTC +00:00]]
4597
+  (0.0ms) RELEASE SAVEPOINT active_record_1
4598
+  (0.0ms) SAVEPOINT active_record_1
4599
+  (0.7ms) UPDATE "lti_provider_launches" SET "created_at" = '2014-10-11 02:59:33.794349', "updated_at" = '2014-10-11 03:09:33.794726', "provider_params" = '---
4600
+ custom_canvas_course_id: 1
4601
+ custom_canvas_user_id: 2
4602
+ tool_consumer_instance_guid: 123abc
4603
+ ' WHERE "lti_provider_launches"."id" = 1
4604
+  (0.0ms) RELEASE SAVEPOINT active_record_1
4605
+ Processing by LtiProvider::LtiController#consume_launch as HTML
4606
+ Parameters: {"nonce"=>"abcd"}
4607
+ LtiProvider::Launch Load (0.1ms) SELECT "lti_provider_launches".* FROM "lti_provider_launches" WHERE "lti_provider_launches"."nonce" = 'abcd' AND (created_at > '2014-10-11 03:04:33.798180') LIMIT 1
4608
+ Completed 200 OK in 3.7ms (Views: 0.3ms | ActiveRecord: 0.1ms)
4609
+  (0.4ms) rollback transaction
4610
+  (0.0ms) begin transaction
4611
+  (0.0ms) SAVEPOINT active_record_1
4612
+ SQL (0.3ms) INSERT INTO "lti_provider_launches" ("canvas_url", "created_at", "nonce", "provider_params", "updated_at") VALUES (?, ?, ?, ?, ?) [["canvas_url", "http://canvas"], ["created_at", Sat, 11 Oct 2014 03:09:33 UTC +00:00], ["nonce", "abcd"], ["provider_params", "---\ncustom_canvas_course_id: 1\ncustom_canvas_user_id: 2\ntool_consumer_instance_guid: 123abc\n"], ["updated_at", Sat, 11 Oct 2014 03:09:33 UTC +00:00]]
4613
+  (0.0ms) RELEASE SAVEPOINT active_record_1
4614
+ Processing by LtiProvider::LtiController#consume_launch as HTML
4615
+ Parameters: {"nonce"=>"abcd"}
4616
+ LtiProvider::Launch Load (0.1ms) SELECT "lti_provider_launches".* FROM "lti_provider_launches" WHERE "lti_provider_launches"."nonce" = 'abcd' AND (created_at > '2014-10-11 03:04:33.806785') LIMIT 1
4617
+  (0.0ms) SAVEPOINT active_record_1
4618
+ SQL (0.3ms) DELETE FROM "lti_provider_launches" WHERE "lti_provider_launches"."id" = ? [["id", 1]]
4619
+  (0.0ms) RELEASE SAVEPOINT active_record_1
4620
+ Redirected to http://test.host/
4621
+ Completed 302 Found in 3.1ms (ActiveRecord: 0.4ms)
4622
+  (0.0ms) SELECT COUNT(*) FROM "lti_provider_launches" 
4623
+  (0.4ms) rollback transaction
4624
+  (0.0ms) begin transaction
4625
+  (0.0ms) SAVEPOINT active_record_1
4626
+ SQL (0.2ms) INSERT INTO "lti_provider_launches" ("canvas_url", "created_at", "nonce", "provider_params", "updated_at") VALUES (?, ?, ?, ?, ?) [["canvas_url", "http://canvas"], ["created_at", Sat, 11 Oct 2014 03:09:33 UTC +00:00], ["nonce", "abcd"], ["provider_params", "---\ncustom_canvas_course_id: 1\ncustom_canvas_user_id: 2\ntool_consumer_instance_guid: 123abc\n"], ["updated_at", Sat, 11 Oct 2014 03:09:33 UTC +00:00]]
4627
+  (0.0ms) RELEASE SAVEPOINT active_record_1
4628
+ Processing by LtiProvider::LtiController#consume_launch as HTML
4629
+ Parameters: {"nonce"=>"abcd"}
4630
+ LtiProvider::Launch Load (0.1ms) SELECT "lti_provider_launches".* FROM "lti_provider_launches" WHERE "lti_provider_launches"."nonce" = 'abcd' AND (created_at > '2014-10-11 03:04:33.813758') LIMIT 1
4631
+  (0.0ms) SAVEPOINT active_record_1
4632
+ SQL (0.2ms) DELETE FROM "lti_provider_launches" WHERE "lti_provider_launches"."id" = ? [["id", 1]]
4633
+  (0.0ms) RELEASE SAVEPOINT active_record_1
4634
+ Redirected to http://test.host/
4635
+ Completed 302 Found in 1.4ms (ActiveRecord: 0.3ms)
4636
+  (0.3ms) rollback transaction
4637
+  (0.0ms) begin transaction
4638
+  (0.0ms) SAVEPOINT active_record_1
4639
+ SQL (0.2ms) INSERT INTO "lti_provider_launches" ("canvas_url", "created_at", "nonce", "provider_params", "updated_at") VALUES (?, ?, ?, ?, ?) [["canvas_url", "http://canvas"], ["created_at", Sat, 11 Oct 2014 03:09:33 UTC +00:00], ["nonce", "abcd"], ["provider_params", "---\ncustom_canvas_course_id: 1\ncustom_canvas_user_id: 2\ntool_consumer_instance_guid: 123abc\n"], ["updated_at", Sat, 11 Oct 2014 03:09:33 UTC +00:00]]
4640
+  (0.0ms) RELEASE SAVEPOINT active_record_1
4641
+ Processing by LtiProvider::LtiController#consume_launch as HTML
4642
+ Parameters: {"nonce"=>"invalid"}
4643
+ LtiProvider::Launch Load (0.1ms) SELECT "lti_provider_launches".* FROM "lti_provider_launches" WHERE "lti_provider_launches"."nonce" = 'invalid' AND (created_at > '2014-10-11 03:04:33.818949') LIMIT 1
4644
+ Completed 200 OK in 0.8ms (Views: 0.2ms | ActiveRecord: 0.1ms)
4645
+  (0.4ms) rollback transaction
4646
+ Initializing LTI key and secret using configuration in /Users/simon/Instructure/projects/lti_provider_engine/spec/dummy/config/lti.yml
4647
+ Initializing LTI XML config using configuration in /Users/simon/Instructure/projects/lti_provider_engine/spec/dummy/config/lti_xml.yml
4648
+ Connecting to database specified by database.yml
4649
+  (0.2ms) begin transaction
4650
+  (0.0ms) rollback transaction
4651
+  (0.0ms) begin transaction
4652
+  (0.0ms) rollback transaction
4653
+  (0.0ms) begin transaction
4654
+  (0.0ms) rollback transaction
4655
+  (0.0ms) begin transaction
4656
+  (0.0ms) rollback transaction
4657
+  (0.0ms) begin transaction
4658
+  (0.0ms) rollback transaction
4659
+  (0.0ms) begin transaction
4660
+  (0.0ms) rollback transaction
4661
+  (0.0ms) begin transaction
4662
+  (0.0ms) rollback transaction
4663
+  (0.0ms) begin transaction
4664
+  (0.0ms) rollback transaction
4665
+  (0.0ms) begin transaction
4666
+  (0.0ms) rollback transaction
4667
+  (0.0ms) begin transaction
4668
+  (0.0ms) rollback transaction
4669
+  (0.0ms) begin transaction
4670
+  (0.0ms) rollback transaction
4671
+  (0.0ms) begin transaction
4672
+  (0.1ms) rollback transaction
4673
+  (0.0ms) begin transaction
4674
+  (0.0ms) rollback transaction
4675
+  (0.0ms) begin transaction
4676
+  (0.0ms) rollback transaction
4677
+  (0.0ms) begin transaction
4678
+ Processing by LtiProvider::LtiController#configure as XML
4679
+ Completed 200 OK in 1.1ms (Views: 0.1ms | ActiveRecord: 0.0ms)
4680
+  (0.0ms) rollback transaction
4681
+  (0.0ms) begin transaction
4682
+  (0.0ms) SAVEPOINT active_record_1
4683
+ SQL (3.1ms) INSERT INTO "lti_provider_launches" ("canvas_url", "created_at", "nonce", "provider_params", "updated_at") VALUES (?, ?, ?, ?, ?) [["canvas_url", "http://canvas"], ["created_at", Sat, 11 Oct 2014 03:14:05 UTC +00:00], ["nonce", "abcd"], ["provider_params", "---\ncustom_canvas_course_id: 1\ncustom_canvas_user_id: 2\ntool_consumer_instance_guid: 123abc\n"], ["updated_at", Sat, 11 Oct 2014 03:14:05 UTC +00:00]]
4684
+  (0.0ms) RELEASE SAVEPOINT active_record_1
4685
+  (0.0ms) SAVEPOINT active_record_1
4686
+  (0.9ms) UPDATE "lti_provider_launches" SET "created_at" = '2014-10-11 03:04:05.752141', "updated_at" = '2014-10-11 03:14:05.752496', "provider_params" = '---
4687
+ custom_canvas_course_id: 1
4688
+ custom_canvas_user_id: 2
4689
+ tool_consumer_instance_guid: 123abc
4690
+ ' WHERE "lti_provider_launches"."id" = 1
4691
+  (0.0ms) RELEASE SAVEPOINT active_record_1
4692
+ Processing by LtiProvider::LtiController#consume_launch as HTML
4693
+ Parameters: {"nonce"=>"abcd"}
4694
+ LtiProvider::Launch Load (0.1ms) SELECT "lti_provider_launches".* FROM "lti_provider_launches" WHERE "lti_provider_launches"."nonce" = 'abcd' AND (created_at > '2014-10-11 03:09:05.755907') LIMIT 1
4695
+ Completed 200 OK in 28.5ms (Views: 25.7ms | ActiveRecord: 0.1ms)
4696
+  (1.0ms) rollback transaction
4697
+  (0.1ms) begin transaction
4698
+  (0.0ms) SAVEPOINT active_record_1
4699
+ SQL (0.3ms) INSERT INTO "lti_provider_launches" ("canvas_url", "created_at", "nonce", "provider_params", "updated_at") VALUES (?, ?, ?, ?, ?) [["canvas_url", "http://canvas"], ["created_at", Sat, 11 Oct 2014 03:14:05 UTC +00:00], ["nonce", "abcd"], ["provider_params", "---\ncustom_canvas_course_id: 1\ncustom_canvas_user_id: 2\ntool_consumer_instance_guid: 123abc\n"], ["updated_at", Sat, 11 Oct 2014 03:14:05 UTC +00:00]]
4700
+  (0.0ms) RELEASE SAVEPOINT active_record_1
4701
+ Processing by LtiProvider::LtiController#consume_launch as HTML
4702
+ Parameters: {"nonce"=>"invalid"}
4703
+ LtiProvider::Launch Load (0.1ms) SELECT "lti_provider_launches".* FROM "lti_provider_launches" WHERE "lti_provider_launches"."nonce" = 'invalid' AND (created_at > '2014-10-11 03:09:05.791752') LIMIT 1
4704
+ Completed 200 OK in 1.0ms (Views: 0.2ms | ActiveRecord: 0.1ms)
4705
+  (0.3ms) rollback transaction
4706
+  (0.0ms) begin transaction
4707
+  (0.0ms) SAVEPOINT active_record_1
4708
+ SQL (0.3ms) INSERT INTO "lti_provider_launches" ("canvas_url", "created_at", "nonce", "provider_params", "updated_at") VALUES (?, ?, ?, ?, ?) [["canvas_url", "http://canvas"], ["created_at", Sat, 11 Oct 2014 03:14:05 UTC +00:00], ["nonce", "abcd"], ["provider_params", "---\ncustom_canvas_course_id: 1\ncustom_canvas_user_id: 2\ntool_consumer_instance_guid: 123abc\n"], ["updated_at", Sat, 11 Oct 2014 03:14:05 UTC +00:00]]
4709
+  (0.0ms) RELEASE SAVEPOINT active_record_1
4710
+ Processing by LtiProvider::LtiController#consume_launch as HTML
4711
+ Parameters: {"nonce"=>"abcd"}
4712
+ LtiProvider::Launch Load (0.1ms) SELECT "lti_provider_launches".* FROM "lti_provider_launches" WHERE "lti_provider_launches"."nonce" = 'abcd' AND (created_at > '2014-10-11 03:09:05.797173') LIMIT 1
4713
+  (0.0ms) SAVEPOINT active_record_1
4714
+ SQL (0.3ms) DELETE FROM "lti_provider_launches" WHERE "lti_provider_launches"."id" = ? [["id", 1]]
4715
+  (0.0ms) RELEASE SAVEPOINT active_record_1
4716
+ Redirected to http://test.host/
4717
+ Completed 302 Found in 3.8ms (ActiveRecord: 0.4ms)
4718
+  (0.0ms) SELECT COUNT(*) FROM "lti_provider_launches"
4719
+  (0.4ms) rollback transaction
4720
+  (0.0ms) begin transaction
4721
+  (0.0ms) SAVEPOINT active_record_1
4722
+ SQL (0.2ms) INSERT INTO "lti_provider_launches" ("canvas_url", "created_at", "nonce", "provider_params", "updated_at") VALUES (?, ?, ?, ?, ?) [["canvas_url", "http://canvas"], ["created_at", Sat, 11 Oct 2014 03:14:05 UTC +00:00], ["nonce", "abcd"], ["provider_params", "---\ncustom_canvas_course_id: 1\ncustom_canvas_user_id: 2\ntool_consumer_instance_guid: 123abc\n"], ["updated_at", Sat, 11 Oct 2014 03:14:05 UTC +00:00]]
4723
+  (0.0ms) RELEASE SAVEPOINT active_record_1
4724
+ Processing by LtiProvider::LtiController#consume_launch as HTML
4725
+ Parameters: {"nonce"=>"abcd"}
4726
+ LtiProvider::Launch Load (0.1ms) SELECT "lti_provider_launches".* FROM "lti_provider_launches" WHERE "lti_provider_launches"."nonce" = 'abcd' AND (created_at > '2014-10-11 03:09:05.805315') LIMIT 1
4727
+  (0.0ms) SAVEPOINT active_record_1
4728
+ SQL (0.2ms) DELETE FROM "lti_provider_launches" WHERE "lti_provider_launches"."id" = ? [["id", 1]]
4729
+  (0.0ms) RELEASE SAVEPOINT active_record_1
4730
+ Redirected to http://test.host/
4731
+ Completed 302 Found in 1.6ms (ActiveRecord: 0.3ms)
4732
+  (0.3ms) rollback transaction
4733
+  (0.0ms) begin transaction
4734
+ Processing by LtiProvider::LtiController#cookie_test as HTML
4735
+ Completed 200 OK in 1.3ms (Views: 1.1ms | ActiveRecord: 0.0ms)
4736
+  (0.0ms) rollback transaction
4737
+  (0.0ms) begin transaction
4738
+ Processing by LtiProvider::LtiController#cookie_test as HTML
4739
+ Completed 200 OK in 0.7ms (Views: 0.5ms | ActiveRecord: 0.0ms)
4740
+  (0.0ms) rollback transaction
4741
+  (0.0ms) begin transaction
4742
+  (0.0ms) rollback transaction
4743
+  (0.0ms) begin transaction
4744
+  (0.0ms) rollback transaction
4745
+  (0.0ms) begin transaction
4746
+  (0.0ms) rollback transaction
4747
+  (0.0ms) begin transaction
4748
+  (0.0ms) rollback transaction
4749
+ Initializing LTI key and secret using configuration in /Users/simon/Instructure/projects/lti_provider_engine/spec/dummy/config/lti.yml
4750
+ Initializing LTI XML config using configuration in /Users/simon/Instructure/projects/lti_provider_engine/spec/dummy/config/lti_xml.yml
4751
+ Connecting to database specified by database.yml
4752
+  (0.3ms) begin transaction
4753
+  (0.0ms) rollback transaction
4754
+  (0.0ms) begin transaction
4755
+  (0.0ms) rollback transaction
4756
+  (0.0ms) begin transaction
4757
+  (0.0ms) rollback transaction
4758
+  (0.0ms) begin transaction
4759
+  (0.0ms) rollback transaction
4760
+  (0.0ms) begin transaction
4761
+  (0.0ms) rollback transaction
4762
+  (0.0ms) begin transaction
4763
+  (0.0ms) rollback transaction
4764
+  (0.0ms) begin transaction
4765
+  (0.0ms) rollback transaction
4766
+  (0.0ms) begin transaction
4767
+  (0.1ms) rollback transaction
4768
+  (0.0ms) begin transaction
4769
+  (0.0ms) rollback transaction
4770
+  (0.0ms) begin transaction
4771
+  (0.0ms) rollback transaction
4772
+  (0.0ms) begin transaction
4773
+  (0.0ms) rollback transaction
4774
+  (0.0ms) begin transaction
4775
+  (0.1ms) rollback transaction
4776
+  (0.0ms) begin transaction
4777
+  (0.0ms) rollback transaction
4778
+  (0.0ms) begin transaction
4779
+  (0.0ms) rollback transaction
4780
+  (0.0ms) begin transaction
4781
+ Processing by LtiProvider::LtiController#configure as XML
4782
+ Completed 200 OK in 1.1ms (Views: 0.1ms | ActiveRecord: 0.0ms)
4783
+  (0.0ms) rollback transaction
4784
+  (0.0ms) begin transaction
4785
+ Processing by LtiProvider::LtiController#cookie_test as HTML
4786
+ Completed 200 OK in 6.2ms (Views: 6.1ms | ActiveRecord: 0.0ms)
4787
+  (0.0ms) rollback transaction
4788
+  (0.0ms) begin transaction
4789
+ Processing by LtiProvider::LtiController#cookie_test as HTML
4790
+ Completed 200 OK in 3.8ms (Views: 3.7ms | ActiveRecord: 0.0ms)
4791
+  (0.0ms) rollback transaction
4792
+  (0.0ms) begin transaction
4793
+  (0.0ms) SAVEPOINT active_record_1
4794
+ SQL (3.3ms) INSERT INTO "lti_provider_launches" ("canvas_url", "created_at", "nonce", "provider_params", "updated_at") VALUES (?, ?, ?, ?, ?) [["canvas_url", "http://canvas"], ["created_at", Sat, 11 Oct 2014 03:14:26 UTC +00:00], ["nonce", "abcd"], ["provider_params", "---\ncustom_canvas_course_id: 1\ncustom_canvas_user_id: 2\ntool_consumer_instance_guid: 123abc\n"], ["updated_at", Sat, 11 Oct 2014 03:14:26 UTC +00:00]]
4795
+  (0.0ms) RELEASE SAVEPOINT active_record_1
4796
+ Processing by LtiProvider::LtiController#consume_launch as HTML
4797
+ Parameters: {"nonce"=>"invalid"}
4798
+ LtiProvider::Launch Load (0.1ms) SELECT "lti_provider_launches".* FROM "lti_provider_launches" WHERE "lti_provider_launches"."nonce" = 'invalid' AND (created_at > '2014-10-11 03:09:26.169594') LIMIT 1
4799
+ Completed 200 OK in 4.9ms (Views: 1.4ms | ActiveRecord: 0.1ms)
4800
+  (0.9ms) rollback transaction
4801
+  (0.1ms) begin transaction
4802
+  (0.0ms) SAVEPOINT active_record_1
4803
+ SQL (0.3ms) INSERT INTO "lti_provider_launches" ("canvas_url", "created_at", "nonce", "provider_params", "updated_at") VALUES (?, ?, ?, ?, ?) [["canvas_url", "http://canvas"], ["created_at", Sat, 11 Oct 2014 03:14:26 UTC +00:00], ["nonce", "abcd"], ["provider_params", "---\ncustom_canvas_course_id: 1\ncustom_canvas_user_id: 2\ntool_consumer_instance_guid: 123abc\n"], ["updated_at", Sat, 11 Oct 2014 03:14:26 UTC +00:00]]
4804
+  (0.0ms) RELEASE SAVEPOINT active_record_1
4805
+  (0.0ms) SAVEPOINT active_record_1
4806
+  (0.7ms) UPDATE "lti_provider_launches" SET "created_at" = '2014-10-11 03:04:26.180055', "updated_at" = '2014-10-11 03:14:26.180499', "provider_params" = '---
4807
+ custom_canvas_course_id: 1
4808
+ custom_canvas_user_id: 2
4809
+ tool_consumer_instance_guid: 123abc
4810
+ ' WHERE "lti_provider_launches"."id" = 1
4811
+  (0.0ms) RELEASE SAVEPOINT active_record_1
4812
+ Processing by LtiProvider::LtiController#consume_launch as HTML
4813
+ Parameters: {"nonce"=>"abcd"}
4814
+ LtiProvider::Launch Load (0.1ms) SELECT "lti_provider_launches".* FROM "lti_provider_launches" WHERE "lti_provider_launches"."nonce" = 'abcd' AND (created_at > '2014-10-11 03:09:26.184032') LIMIT 1
4815
+ Completed 200 OK in 0.9ms (Views: 0.2ms | ActiveRecord: 0.1ms)
4816
+  (0.4ms) rollback transaction
4817
+  (0.0ms) begin transaction
4818
+  (0.0ms) SAVEPOINT active_record_1
4819
+ SQL (0.3ms) INSERT INTO "lti_provider_launches" ("canvas_url", "created_at", "nonce", "provider_params", "updated_at") VALUES (?, ?, ?, ?, ?) [["canvas_url", "http://canvas"], ["created_at", Sat, 11 Oct 2014 03:14:26 UTC +00:00], ["nonce", "abcd"], ["provider_params", "---\ncustom_canvas_course_id: 1\ncustom_canvas_user_id: 2\ntool_consumer_instance_guid: 123abc\n"], ["updated_at", Sat, 11 Oct 2014 03:14:26 UTC +00:00]]
4820
+  (0.0ms) RELEASE SAVEPOINT active_record_1
4821
+ Processing by LtiProvider::LtiController#consume_launch as HTML
4822
+ Parameters: {"nonce"=>"abcd"}
4823
+ LtiProvider::Launch Load (0.1ms) SELECT "lti_provider_launches".* FROM "lti_provider_launches" WHERE "lti_provider_launches"."nonce" = 'abcd' AND (created_at > '2014-10-11 03:09:26.190336') LIMIT 1
4824
+  (0.0ms) SAVEPOINT active_record_1
4825
+ SQL (0.3ms) DELETE FROM "lti_provider_launches" WHERE "lti_provider_launches"."id" = ? [["id", 1]]
4826
+  (0.0ms) RELEASE SAVEPOINT active_record_1
4827
+ Redirected to http://test.host/
4828
+ Completed 302 Found in 4.2ms (ActiveRecord: 0.4ms)
4829
+  (0.0ms) SELECT COUNT(*) FROM "lti_provider_launches"
4830
+  (0.4ms) rollback transaction
4831
+  (0.0ms) begin transaction
4832
+  (0.0ms) SAVEPOINT active_record_1
4833
+ SQL (0.2ms) INSERT INTO "lti_provider_launches" ("canvas_url", "created_at", "nonce", "provider_params", "updated_at") VALUES (?, ?, ?, ?, ?) [["canvas_url", "http://canvas"], ["created_at", Sat, 11 Oct 2014 03:14:26 UTC +00:00], ["nonce", "abcd"], ["provider_params", "---\ncustom_canvas_course_id: 1\ncustom_canvas_user_id: 2\ntool_consumer_instance_guid: 123abc\n"], ["updated_at", Sat, 11 Oct 2014 03:14:26 UTC +00:00]]
4834
+  (0.0ms) RELEASE SAVEPOINT active_record_1
4835
+ Processing by LtiProvider::LtiController#consume_launch as HTML
4836
+ Parameters: {"nonce"=>"abcd"}
4837
+ LtiProvider::Launch Load (0.1ms) SELECT "lti_provider_launches".* FROM "lti_provider_launches" WHERE "lti_provider_launches"."nonce" = 'abcd' AND (created_at > '2014-10-11 03:09:26.198838') LIMIT 1
4838
+  (0.0ms) SAVEPOINT active_record_1
4839
+ SQL (0.2ms) DELETE FROM "lti_provider_launches" WHERE "lti_provider_launches"."id" = ? [["id", 1]]
4840
+  (0.0ms) RELEASE SAVEPOINT active_record_1
4841
+ Redirected to http://test.host/
4842
+ Completed 302 Found in 1.4ms (ActiveRecord: 0.3ms)
4843
+  (0.4ms) rollback transaction
4844
+  (0.0ms) begin transaction
4845
+ Processing by LtiProvider::LtiController#launch as HTML
4846
+ Parameters: {"oauth_consumer_key"=>"12345", "oauth_signature_method"=>"HMAC-SHA1", "oauth_timestamp"=>"1412997266", "oauth_nonce"=>"UWGbqGGRptx0Yh4zs7aKEnSYU0omq555DLEjQBYjsk", "oauth_version"=>"1.0", "custom_canvas_user_id"=>"1", "launch_presentation_return_url"=>"http://test.canvas", "launch_url"=>"http://test.host", "lti_message_type"=>"basic-lti-launch-request", "lti_version"=>"LTI-1p0", "oauth_signature"=>"aVunKw9WL7OWa6KlxI/F2FIKUa0="}
4847
+ Completed 200 OK in 1.4ms (Views: 0.2ms | ActiveRecord: 0.0ms)
4848
+  (0.0ms) rollback transaction
4849
+  (0.0ms) begin transaction
4850
+ Processing by LtiProvider::LtiController#launch as HTML
4851
+ Parameters: {"oauth_signature_method"=>"HMAC-SHA1", "oauth_timestamp"=>"1412997266", "oauth_nonce"=>"gifRXok3FKOhwqD7IY3NoeDBrQ8uYfyM6wPkiEjKjc", "oauth_version"=>"1.0", "custom_canvas_user_id"=>"1", "launch_presentation_return_url"=>"http://test.canvas", "launch_url"=>"http://test.host", "lti_message_type"=>"basic-lti-launch-request", "lti_version"=>"LTI-1p0", "oauth_signature"=>"VejLF2G7rLd9EETk8sh6v8rxJac="}
4852
+ Completed 200 OK in 0.7ms (Views: 0.2ms | ActiveRecord: 0.0ms)
4853
+  (0.0ms) rollback transaction
4854
+  (0.0ms) begin transaction
4855
+ Processing by LtiProvider::LtiController#launch as HTML
4856
+ Parameters: {"oauth_consumer_key"=>"12345", "oauth_signature_method"=>"HMAC-SHA1", "oauth_timestamp"=>"1412997266", "oauth_nonce"=>"4YK09uiM04ODfLmslxf7wvSPoRoG5HaOsY0rZnIzN4", "oauth_version"=>"1.0", "custom_canvas_user_id"=>"1", "launch_presentation_return_url"=>"http://test.canvas", "launch_url"=>"http://test.host", "lti_message_type"=>"basic-lti-launch-request", "lti_version"=>"LTI-1p0", "oauth_signature"=>"YUbAC48zzKrSCwOp1Hc7CxBcVg4="}
4857
+  (0.0ms) SAVEPOINT active_record_1
4858
+ SQL (0.5ms) INSERT INTO "lti_provider_launches" ("canvas_url", "created_at", "nonce", "provider_params", "updated_at") VALUES (?, ?, ?, ?, ?) [["canvas_url", "http://test.canvas"], ["created_at", Sat, 11 Oct 2014 03:14:26 UTC +00:00], ["nonce", "4YK09uiM04ODfLmslxf7wvSPoRoG5HaOsY0rZnIzN4"], ["provider_params", "---\nlaunch_presentation_return_url: http://test.canvas\nlti_message_type: basic-lti-launch-request\nlti_version: LTI-1p0\noauth_consumer_key: '12345'\noauth_nonce: 4YK09uiM04ODfLmslxf7wvSPoRoG5HaOsY0rZnIzN4\noauth_signature: YUbAC48zzKrSCwOp1Hc7CxBcVg4=\noauth_signature_method: HMAC-SHA1\noauth_timestamp: '1412997266'\noauth_version: '1.0'\ncustom_canvas_user_id: '1'\n"], ["updated_at", Sat, 11 Oct 2014 03:14:26 UTC +00:00]]
4859
+  (0.0ms) RELEASE SAVEPOINT active_record_1
4860
+ Redirected to http://test.host/cookie_test?nonce=4YK09uiM04ODfLmslxf7wvSPoRoG5HaOsY0rZnIzN4
4861
+ Completed 302 Found in 4.4ms (ActiveRecord: 0.5ms)
4862
+ LtiProvider::Launch Load (0.1ms) SELECT "lti_provider_launches".* FROM "lti_provider_launches" LIMIT 1
4863
+  (0.6ms) rollback transaction
4864
+  (0.1ms) begin transaction
4865
+ Processing by LtiProvider::LtiController#launch as HTML
4866
+ Parameters: {"oauth_consumer_key"=>"12345", "oauth_signature_method"=>"HMAC-SHA1", "oauth_timestamp"=>"1412997266", "oauth_nonce"=>"q568AvlvL7t0dfPZLnIUBmNsbQ4MYhG8ddkn8Kczwc", "oauth_version"=>"1.0", "custom_canvas_user_id"=>"1", "launch_presentation_return_url"=>"http://test.canvas", "launch_url"=>"http://test.host", "lti_message_type"=>"basic-lti-launch-request", "lti_version"=>"LTI-1p0", "oauth_signature"=>"ct9xGwDykza5C+CCPfg6Sv3G7+I="}
4867
+  (0.0ms) SAVEPOINT active_record_1
4868
+ SQL (0.3ms) INSERT INTO "lti_provider_launches" ("canvas_url", "created_at", "nonce", "provider_params", "updated_at") VALUES (?, ?, ?, ?, ?) [["canvas_url", "http://test.canvas"], ["created_at", Sat, 11 Oct 2014 03:14:26 UTC +00:00], ["nonce", "q568AvlvL7t0dfPZLnIUBmNsbQ4MYhG8ddkn8Kczwc"], ["provider_params", "---\nlaunch_presentation_return_url: http://test.canvas\nlti_message_type: basic-lti-launch-request\nlti_version: LTI-1p0\noauth_consumer_key: '12345'\noauth_nonce: q568AvlvL7t0dfPZLnIUBmNsbQ4MYhG8ddkn8Kczwc\noauth_signature: ct9xGwDykza5C+CCPfg6Sv3G7+I=\noauth_signature_method: HMAC-SHA1\noauth_timestamp: '1412997266'\noauth_version: '1.0'\ncustom_canvas_user_id: '1'\n"], ["updated_at", Sat, 11 Oct 2014 03:14:26 UTC +00:00]]
4869
+  (0.0ms) RELEASE SAVEPOINT active_record_1
4870
+ Redirected to http://test.host/cookie_test?nonce=q568AvlvL7t0dfPZLnIUBmNsbQ4MYhG8ddkn8Kczwc
4871
+ Completed 302 Found in 3.2ms (ActiveRecord: 0.4ms)
4872
+  (0.5ms) rollback transaction
4873
+ Initializing LTI key and secret using configuration in /Users/simon/Instructure/projects/lti_provider_engine/spec/dummy/config/lti.yml
4874
+ Initializing LTI XML config using configuration in /Users/simon/Instructure/projects/lti_provider_engine/spec/dummy/config/lti_xml.yml
4875
+ Connecting to database specified by database.yml
4876
+  (0.2ms) begin transaction
4877
+  (0.0ms) rollback transaction
4878
+  (0.0ms) begin transaction
4879
+  (0.0ms) rollback transaction
4880
+  (0.0ms) begin transaction
4881
+  (0.0ms) rollback transaction
4882
+  (0.0ms) begin transaction
4883
+  (0.0ms) rollback transaction
4884
+  (0.0ms) begin transaction
4885
+  (0.0ms) rollback transaction
4886
+  (0.0ms) begin transaction
4887
+  (0.0ms) rollback transaction
4888
+  (0.0ms) begin transaction
4889
+  (0.0ms) rollback transaction
4890
+  (0.0ms) begin transaction
4891
+  (0.0ms) rollback transaction
4892
+  (0.0ms) begin transaction
4893
+  (0.0ms) rollback transaction
4894
+  (0.0ms) begin transaction
4895
+  (0.0ms) rollback transaction
4896
+  (0.0ms) begin transaction
4897
+  (0.0ms) rollback transaction
4898
+  (0.0ms) begin transaction
4899
+  (0.0ms) rollback transaction
4900
+  (0.0ms) begin transaction
4901
+  (0.0ms) rollback transaction
4902
+  (0.0ms) begin transaction
4903
+  (0.0ms) rollback transaction
4904
+  (0.0ms) begin transaction
4905
+ Processing by LtiProvider::LtiController#configure as XML
4906
+ Completed 200 OK in 1.2ms (Views: 0.1ms | ActiveRecord: 0.0ms)
4907
+  (0.0ms) rollback transaction
4908
+  (0.0ms) begin transaction
4909
+  (0.0ms) SAVEPOINT active_record_1
4910
+ SQL (3.0ms) INSERT INTO "lti_provider_launches" ("canvas_url", "created_at", "nonce", "provider_params", "updated_at") VALUES (?, ?, ?, ?, ?) [["canvas_url", "http://canvas"], ["created_at", Sat, 11 Oct 2014 03:17:27 UTC +00:00], ["nonce", "abcd"], ["provider_params", "---\ncustom_canvas_course_id: 1\ncustom_canvas_user_id: 2\ntool_consumer_instance_guid: 123abc\n"], ["updated_at", Sat, 11 Oct 2014 03:17:27 UTC +00:00]]
4911
+  (0.0ms) RELEASE SAVEPOINT active_record_1
4912
+  (0.0ms) SAVEPOINT active_record_1
4913
+  (0.8ms) UPDATE "lti_provider_launches" SET "created_at" = '2014-10-11 03:07:27.358650', "updated_at" = '2014-10-11 03:17:27.359046', "provider_params" = '---
4914
+ custom_canvas_course_id: 1
4915
+ custom_canvas_user_id: 2
4916
+ tool_consumer_instance_guid: 123abc
4917
+ ' WHERE "lti_provider_launches"."id" = 1
4918
+  (0.0ms) RELEASE SAVEPOINT active_record_1
4919
+ Processing by LtiProvider::LtiController#consume_launch as HTML
4920
+ Parameters: {"nonce"=>"abcd"}
4921
+ LtiProvider::Launch Load (0.1ms) SELECT "lti_provider_launches".* FROM "lti_provider_launches" WHERE "lti_provider_launches"."nonce" = 'abcd' AND (created_at > '2014-10-11 03:12:27.362411') LIMIT 1
4922
+ Completed 200 OK in 28.2ms (Views: 25.6ms | ActiveRecord: 0.1ms)
4923
+  (0.6ms) rollback transaction
4924
+  (0.1ms) begin transaction
4925
+  (0.0ms) SAVEPOINT active_record_1
4926
+ SQL (0.4ms) INSERT INTO "lti_provider_launches" ("canvas_url", "created_at", "nonce", "provider_params", "updated_at") VALUES (?, ?, ?, ?, ?) [["canvas_url", "http://canvas"], ["created_at", Sat, 11 Oct 2014 03:17:27 UTC +00:00], ["nonce", "abcd"], ["provider_params", "---\ncustom_canvas_course_id: 1\ncustom_canvas_user_id: 2\ntool_consumer_instance_guid: 123abc\n"], ["updated_at", Sat, 11 Oct 2014 03:17:27 UTC +00:00]]
4927
+  (0.0ms) RELEASE SAVEPOINT active_record_1
4928
+ Processing by LtiProvider::LtiController#consume_launch as HTML
4929
+ Parameters: {"nonce"=>"abcd"}
4930
+ LtiProvider::Launch Load (0.1ms) SELECT "lti_provider_launches".* FROM "lti_provider_launches" WHERE "lti_provider_launches"."nonce" = 'abcd' AND (created_at > '2014-10-11 03:12:27.397798') LIMIT 1
4931
+  (0.0ms) SAVEPOINT active_record_1
4932
+ SQL (0.4ms) DELETE FROM "lti_provider_launches" WHERE "lti_provider_launches"."id" = ? [["id", 1]]
4933
+  (0.0ms) RELEASE SAVEPOINT active_record_1
4934
+ Redirected to http://test.host/
4935
+ Completed 302 Found in 4.7ms (ActiveRecord: 0.5ms)
4936
+  (0.1ms) SELECT COUNT(*) FROM "lti_provider_launches"
4937
+  (0.5ms) rollback transaction
4938
+  (0.0ms) begin transaction
4939
+  (0.0ms) SAVEPOINT active_record_1
4940
+ SQL (0.3ms) INSERT INTO "lti_provider_launches" ("canvas_url", "created_at", "nonce", "provider_params", "updated_at") VALUES (?, ?, ?, ?, ?) [["canvas_url", "http://canvas"], ["created_at", Sat, 11 Oct 2014 03:17:27 UTC +00:00], ["nonce", "abcd"], ["provider_params", "---\ncustom_canvas_course_id: 1\ncustom_canvas_user_id: 2\ntool_consumer_instance_guid: 123abc\n"], ["updated_at", Sat, 11 Oct 2014 03:17:27 UTC +00:00]]
4941
+  (0.0ms) RELEASE SAVEPOINT active_record_1
4942
+ Processing by LtiProvider::LtiController#consume_launch as HTML
4943
+ Parameters: {"nonce"=>"abcd"}
4944
+ LtiProvider::Launch Load (0.1ms) SELECT "lti_provider_launches".* FROM "lti_provider_launches" WHERE "lti_provider_launches"."nonce" = 'abcd' AND (created_at > '2014-10-11 03:12:27.407898') LIMIT 1
4945
+  (0.0ms) SAVEPOINT active_record_1
4946
+ SQL (0.2ms) DELETE FROM "lti_provider_launches" WHERE "lti_provider_launches"."id" = ? [["id", 1]]
4947
+  (0.0ms) RELEASE SAVEPOINT active_record_1
4948
+ Redirected to http://test.host/
4949
+ Completed 302 Found in 1.6ms (ActiveRecord: 0.3ms)
4950
+  (0.4ms) rollback transaction
4951
+  (0.0ms) begin transaction
4952
+  (0.0ms) SAVEPOINT active_record_1
4953
+ SQL (0.2ms) INSERT INTO "lti_provider_launches" ("canvas_url", "created_at", "nonce", "provider_params", "updated_at") VALUES (?, ?, ?, ?, ?) [["canvas_url", "http://canvas"], ["created_at", Sat, 11 Oct 2014 03:17:27 UTC +00:00], ["nonce", "abcd"], ["provider_params", "---\ncustom_canvas_course_id: 1\ncustom_canvas_user_id: 2\ntool_consumer_instance_guid: 123abc\n"], ["updated_at", Sat, 11 Oct 2014 03:17:27 UTC +00:00]]
4954
+  (0.0ms) RELEASE SAVEPOINT active_record_1
4955
+ Processing by LtiProvider::LtiController#consume_launch as HTML
4956
+ Parameters: {"nonce"=>"invalid"}
4957
+ LtiProvider::Launch Load (0.1ms) SELECT "lti_provider_launches".* FROM "lti_provider_launches" WHERE "lti_provider_launches"."nonce" = 'invalid' AND (created_at > '2014-10-11 03:12:27.413211') LIMIT 1
4958
+ Completed 200 OK in 0.7ms (Views: 0.2ms | ActiveRecord: 0.1ms)
4959
+  (0.3ms) rollback transaction
4960
+  (0.0ms) begin transaction
4961
+ Processing by LtiProvider::LtiController#launch as HTML
4962
+ Parameters: {"oauth_signature_method"=>"HMAC-SHA1", "oauth_timestamp"=>"1412997447", "oauth_nonce"=>"NbQ5uijqDR1tE7nTmkg0ZsKLV8jSEFY5UGX5WWCee2s", "oauth_version"=>"1.0", "custom_canvas_user_id"=>"1", "launch_presentation_return_url"=>"http://test.canvas", "launch_url"=>"http://test.host", "lti_message_type"=>"basic-lti-launch-request", "lti_version"=>"LTI-1p0", "oauth_signature"=>"o9ja3Cqh7apWuz+P7IhHvDa4Ylw="}
4963
+ Completed 200 OK in 0.9ms (Views: 0.2ms | ActiveRecord: 0.0ms)
4964
+  (0.0ms) rollback transaction
4965
+  (0.0ms) begin transaction
4966
+ Processing by LtiProvider::LtiController#launch as HTML
4967
+ Parameters: {"oauth_consumer_key"=>"12345", "oauth_signature_method"=>"HMAC-SHA1", "oauth_timestamp"=>"1412997447", "oauth_nonce"=>"q71e3BZz9MJ10YvnkkQr6dosOZ5uJ47jHLoGuYhV4I", "oauth_version"=>"1.0", "custom_canvas_user_id"=>"1", "launch_presentation_return_url"=>"http://test.canvas", "launch_url"=>"http://test.host", "lti_message_type"=>"basic-lti-launch-request", "lti_version"=>"LTI-1p0", "oauth_signature"=>"qVq2BpDYwtNMjqzM3cqYgFlKOLw="}
4968
+  (0.0ms) SAVEPOINT active_record_1
4969
+ SQL (0.3ms) INSERT INTO "lti_provider_launches" ("canvas_url", "created_at", "nonce", "provider_params", "updated_at") VALUES (?, ?, ?, ?, ?) [["canvas_url", "http://test.canvas"], ["created_at", Sat, 11 Oct 2014 03:17:27 UTC +00:00], ["nonce", "q71e3BZz9MJ10YvnkkQr6dosOZ5uJ47jHLoGuYhV4I"], ["provider_params", "---\nlaunch_presentation_return_url: http://test.canvas\nlti_message_type: basic-lti-launch-request\nlti_version: LTI-1p0\noauth_consumer_key: '12345'\noauth_nonce: q71e3BZz9MJ10YvnkkQr6dosOZ5uJ47jHLoGuYhV4I\noauth_signature: qVq2BpDYwtNMjqzM3cqYgFlKOLw=\noauth_signature_method: HMAC-SHA1\noauth_timestamp: '1412997447'\noauth_version: '1.0'\ncustom_canvas_user_id: '1'\n"], ["updated_at", Sat, 11 Oct 2014 03:17:27 UTC +00:00]]
4970
+  (0.0ms) RELEASE SAVEPOINT active_record_1
4971
+ Redirected to http://test.host/cookie_test?nonce=q71e3BZz9MJ10YvnkkQr6dosOZ5uJ47jHLoGuYhV4I
4972
+ Completed 302 Found in 2.8ms (ActiveRecord: 0.4ms)
4973
+ LtiProvider::Launch Load (0.1ms) SELECT "lti_provider_launches".* FROM "lti_provider_launches" LIMIT 1
4974
+  (0.4ms) rollback transaction
4975
+  (0.1ms) begin transaction
4976
+ Processing by LtiProvider::LtiController#launch as HTML
4977
+ Parameters: {"oauth_consumer_key"=>"12345", "oauth_signature_method"=>"HMAC-SHA1", "oauth_timestamp"=>"1412997447", "oauth_nonce"=>"j8PaXgowMAGAC9M0ARTfYEbC5EYxEuEHP2saeeGyIG8", "oauth_version"=>"1.0", "custom_canvas_user_id"=>"1", "launch_presentation_return_url"=>"http://test.canvas", "launch_url"=>"http://test.host", "lti_message_type"=>"basic-lti-launch-request", "lti_version"=>"LTI-1p0", "oauth_signature"=>"Mu8h0BWPbNbIhaq9T10TKRaa8nE="}
4978
+  (0.0ms) SAVEPOINT active_record_1
4979
+ SQL (0.3ms) INSERT INTO "lti_provider_launches" ("canvas_url", "created_at", "nonce", "provider_params", "updated_at") VALUES (?, ?, ?, ?, ?) [["canvas_url", "http://test.canvas"], ["created_at", Sat, 11 Oct 2014 03:17:27 UTC +00:00], ["nonce", "j8PaXgowMAGAC9M0ARTfYEbC5EYxEuEHP2saeeGyIG8"], ["provider_params", "---\nlaunch_presentation_return_url: http://test.canvas\nlti_message_type: basic-lti-launch-request\nlti_version: LTI-1p0\noauth_consumer_key: '12345'\noauth_nonce: j8PaXgowMAGAC9M0ARTfYEbC5EYxEuEHP2saeeGyIG8\noauth_signature: Mu8h0BWPbNbIhaq9T10TKRaa8nE=\noauth_signature_method: HMAC-SHA1\noauth_timestamp: '1412997447'\noauth_version: '1.0'\ncustom_canvas_user_id: '1'\n"], ["updated_at", Sat, 11 Oct 2014 03:17:27 UTC +00:00]]
4980
+  (0.1ms) RELEASE SAVEPOINT active_record_1
4981
+ Redirected to http://test.host/cookie_test?nonce=j8PaXgowMAGAC9M0ARTfYEbC5EYxEuEHP2saeeGyIG8
4982
+ Completed 302 Found in 3.8ms (ActiveRecord: 0.4ms)
4983
+  (0.4ms) rollback transaction
4984
+  (0.0ms) begin transaction
4985
+ Processing by LtiProvider::LtiController#launch as HTML
4986
+ Parameters: {"oauth_consumer_key"=>"12345", "oauth_signature_method"=>"HMAC-SHA1", "oauth_timestamp"=>"1412997447", "oauth_nonce"=>"OPG97DS02VudFPCIntKc6uzzNYOxVd0D5khpZzj6OE", "oauth_version"=>"1.0", "custom_canvas_user_id"=>"1", "launch_presentation_return_url"=>"http://test.canvas", "launch_url"=>"http://test.host", "lti_message_type"=>"basic-lti-launch-request", "lti_version"=>"LTI-1p0", "oauth_signature"=>"PxX69NaKvVYue/jrhgDZi6FuSS4="}
4987
+ Completed 200 OK in 1.1ms (Views: 0.2ms | ActiveRecord: 0.0ms)
4988
+  (0.0ms) rollback transaction
4989
+  (0.0ms) begin transaction
4990
+ Processing by LtiProvider::LtiController#cookie_test as HTML
4991
+ Completed 200 OK in 1.2ms (Views: 1.0ms | ActiveRecord: 0.0ms)
4992
+  (0.0ms) rollback transaction
4993
+  (0.0ms) begin transaction
4994
+ Processing by LtiProvider::LtiController#cookie_test as HTML
4995
+ Completed 200 OK in 0.5ms (Views: 0.4ms | ActiveRecord: 0.0ms)
4996
+  (0.0ms) rollback transaction
4997
+ Initializing LTI key and secret using configuration in /Users/simon/Instructure/projects/lti_provider_engine/spec/dummy/config/lti.yml
4998
+ Initializing LTI XML config using configuration in /Users/simon/Instructure/projects/lti_provider_engine/spec/dummy/config/lti_xml.yml
4999
+ Initializing LTI key and secret using configuration in /Users/simon/Instructure/projects/lti_provider_engine/spec/dummy/config/lti.yml
5000
+ Initializing LTI XML config using configuration in /Users/simon/Instructure/projects/lti_provider_engine/spec/dummy/config/lti_xml.yml
5001
+  (0.3ms) begin transaction
5002
+  (0.0ms) rollback transaction
5003
+  (0.0ms) begin transaction
5004
+  (0.0ms) rollback transaction
5005
+  (0.0ms) begin transaction
5006
+  (0.0ms) rollback transaction
5007
+  (0.0ms) begin transaction
5008
+  (0.1ms) rollback transaction
5009
+  (0.0ms) begin transaction
5010
+  (0.0ms) rollback transaction
5011
+  (0.0ms) begin transaction
5012
+  (0.1ms) rollback transaction
5013
+  (0.0ms) begin transaction
5014
+  (0.0ms) rollback transaction
5015
+  (0.0ms) begin transaction
5016
+  (0.0ms) rollback transaction
5017
+  (0.0ms) begin transaction
5018
+  (0.1ms) rollback transaction
5019
+  (0.0ms) begin transaction
5020
+  (0.0ms) rollback transaction
5021
+  (0.0ms) begin transaction
5022
+  (0.0ms) rollback transaction
5023
+  (0.0ms) begin transaction
5024
+  (0.0ms) rollback transaction
5025
+  (0.0ms) begin transaction
5026
+  (0.0ms) rollback transaction
5027
+  (0.0ms) begin transaction
5028
+  (0.0ms) rollback transaction
5029
+  (0.0ms) begin transaction
5030
+ Processing by LtiProvider::LtiController#configure as XML
5031
+ Completed 200 OK in 1ms (Views: 0.1ms | ActiveRecord: 0.0ms)
5032
+  (0.1ms) rollback transaction
5033
+  (0.0ms) begin transaction
5034
+ Processing by LtiProvider::LtiController#cookie_test as HTML
5035
+ Completed 200 OK in 8ms (Views: 8.3ms | ActiveRecord: 0.0ms)
5036
+  (0.1ms) rollback transaction
5037
+  (0.0ms) begin transaction
5038
+ Processing by LtiProvider::LtiController#cookie_test as HTML
5039
+ Completed 200 OK in 1ms (Views: 0.6ms | ActiveRecord: 0.0ms)
5040
+  (0.1ms) rollback transaction
5041
+  (0.0ms) begin transaction
5042
+ Processing by LtiProvider::LtiController#launch as HTML
5043
+ Parameters: {"oauth_consumer_key"=>"12345", "oauth_signature_method"=>"HMAC-SHA1", "oauth_timestamp"=>"1412998760", "oauth_nonce"=>"ipBW6sAoOQBButYCQar8D4oxrfaFKANDof2v163HMqI", "oauth_version"=>"1.0", "custom_canvas_user_id"=>"1", "launch_presentation_return_url"=>"http://test.canvas", "launch_url"=>"http://test.host", "lti_message_type"=>"basic-lti-launch-request", "lti_version"=>"LTI-1p0", "oauth_signature"=>"QSZm/QZenW4oSLwNUmpIUGsW7Nk="}
5044
+ Completed 200 OK in 2ms (Views: 1.3ms | ActiveRecord: 0.0ms)
5045
+  (0.1ms) rollback transaction
5046
+  (0.0ms) begin transaction
5047
+ Processing by LtiProvider::LtiController#launch as HTML
5048
+ Parameters: {"oauth_consumer_key"=>"12345", "oauth_signature_method"=>"HMAC-SHA1", "oauth_timestamp"=>"1412998760", "oauth_nonce"=>"sivpkcwIZHEWPeisdhmTMh1aKyltVg5HK9Pc5cRazk", "oauth_version"=>"1.0", "custom_canvas_user_id"=>"1", "launch_presentation_return_url"=>"http://test.canvas", "launch_url"=>"http://test.host", "lti_message_type"=>"basic-lti-launch-request", "lti_version"=>"LTI-1p0", "oauth_signature"=>"08vh3dWMEfodc8UG2JcrTqYQbc4="}
5049
+  (0.0ms) SAVEPOINT active_record_1
5050
+ SQL (26.2ms) INSERT INTO "lti_provider_launches" ("canvas_url", "created_at", "nonce", "provider_params", "updated_at") VALUES (?, ?, ?, ?, ?) [["canvas_url", "http://test.canvas"], ["created_at", Sat, 11 Oct 2014 03:39:20 UTC +00:00], ["nonce", "sivpkcwIZHEWPeisdhmTMh1aKyltVg5HK9Pc5cRazk"], ["provider_params", "---\nlaunch_presentation_return_url: http://test.canvas\nlti_message_type: basic-lti-launch-request\nlti_version: LTI-1p0\noauth_consumer_key: '12345'\noauth_nonce: sivpkcwIZHEWPeisdhmTMh1aKyltVg5HK9Pc5cRazk\noauth_signature: 08vh3dWMEfodc8UG2JcrTqYQbc4=\noauth_signature_method: HMAC-SHA1\noauth_timestamp: '1412998760'\noauth_version: '1.0'\ncustom_canvas_user_id: '1'\n"], ["updated_at", Sat, 11 Oct 2014 03:39:20 UTC +00:00]]
5051
+  (0.1ms) RELEASE SAVEPOINT active_record_1
5052
+ Redirected to http://test.host/cookie_test?nonce=sivpkcwIZHEWPeisdhmTMh1aKyltVg5HK9Pc5cRazk
5053
+ Completed 302 Found in 30ms (ActiveRecord: 26.3ms)
5054
+ LtiProvider::Launch Load (0.1ms) SELECT "lti_provider_launches".* FROM "lti_provider_launches" ORDER BY "lti_provider_launches"."id" ASC LIMIT 1
5055
+  (0.4ms) rollback transaction
5056
+  (0.0ms) begin transaction
5057
+ Processing by LtiProvider::LtiController#launch as HTML
5058
+ Parameters: {"oauth_consumer_key"=>"12345", "oauth_signature_method"=>"HMAC-SHA1", "oauth_timestamp"=>"1412998760", "oauth_nonce"=>"89viYH9ztPf8BQF4y9uaKBO2yifhaR1LQ3v5vZqZvU", "oauth_version"=>"1.0", "custom_canvas_user_id"=>"1", "launch_presentation_return_url"=>"http://test.canvas", "launch_url"=>"http://test.host", "lti_message_type"=>"basic-lti-launch-request", "lti_version"=>"LTI-1p0", "oauth_signature"=>"T/u6e/LdKRnDeEGsSLiJ3wYDMQo="}
5059
+  (0.0ms) SAVEPOINT active_record_1
5060
+ SQL (0.3ms) INSERT INTO "lti_provider_launches" ("canvas_url", "created_at", "nonce", "provider_params", "updated_at") VALUES (?, ?, ?, ?, ?) [["canvas_url", "http://test.canvas"], ["created_at", Sat, 11 Oct 2014 03:39:20 UTC +00:00], ["nonce", "89viYH9ztPf8BQF4y9uaKBO2yifhaR1LQ3v5vZqZvU"], ["provider_params", "---\nlaunch_presentation_return_url: http://test.canvas\nlti_message_type: basic-lti-launch-request\nlti_version: LTI-1p0\noauth_consumer_key: '12345'\noauth_nonce: 89viYH9ztPf8BQF4y9uaKBO2yifhaR1LQ3v5vZqZvU\noauth_signature: T/u6e/LdKRnDeEGsSLiJ3wYDMQo=\noauth_signature_method: HMAC-SHA1\noauth_timestamp: '1412998760'\noauth_version: '1.0'\ncustom_canvas_user_id: '1'\n"], ["updated_at", Sat, 11 Oct 2014 03:39:20 UTC +00:00]]
5061
+  (0.0ms) RELEASE SAVEPOINT active_record_1
5062
+ Redirected to http://test.host/cookie_test?nonce=89viYH9ztPf8BQF4y9uaKBO2yifhaR1LQ3v5vZqZvU
5063
+ Completed 302 Found in 4ms (ActiveRecord: 0.4ms)
5064
+  (0.5ms) rollback transaction
5065
+  (0.0ms) begin transaction
5066
+ Processing by LtiProvider::LtiController#launch as HTML
5067
+ Parameters: {"oauth_signature_method"=>"HMAC-SHA1", "oauth_timestamp"=>"1412998760", "oauth_nonce"=>"OO9mxEVp0hL6AIfRu1lgOYfGjbJmYLH8w7aoaVS1XSg", "oauth_version"=>"1.0", "custom_canvas_user_id"=>"1", "launch_presentation_return_url"=>"http://test.canvas", "launch_url"=>"http://test.host", "lti_message_type"=>"basic-lti-launch-request", "lti_version"=>"LTI-1p0", "oauth_signature"=>"T2HREqu1Gx2rwDXhd4KkpLNYyL4="}
5068
+ Completed 200 OK in 1ms (Views: 0.2ms | ActiveRecord: 0.0ms)
5069
+  (0.1ms) rollback transaction
5070
+  (0.0ms) begin transaction
5071
+  (0.0ms) rollback transaction
5072
+  (0.0ms) begin transaction
5073
+  (0.0ms) rollback transaction
5074
+  (0.0ms) begin transaction
5075
+  (0.0ms) rollback transaction
5076
+  (0.0ms) begin transaction
5077
+  (0.0ms) rollback transaction
5078
+ Initializing LTI key and secret using configuration in /Users/simon/Instructure/projects/lti_provider_engine/spec/dummy/config/lti.yml
5079
+ Initializing LTI XML config using configuration in /Users/simon/Instructure/projects/lti_provider_engine/spec/dummy/config/lti_xml.yml
5080
+  (0.3ms) begin transaction
5081
+  (0.1ms) rollback transaction
5082
+  (0.0ms) begin transaction
5083
+  (0.0ms) rollback transaction
5084
+  (0.0ms) begin transaction
5085
+  (0.0ms) rollback transaction
5086
+  (0.0ms) begin transaction
5087
+  (0.0ms) rollback transaction
5088
+  (0.0ms) begin transaction
5089
+  (0.0ms) rollback transaction
5090
+  (0.0ms) begin transaction
5091
+  (0.0ms) rollback transaction
5092
+  (0.0ms) begin transaction
5093
+  (0.1ms) rollback transaction
5094
+  (0.0ms) begin transaction
5095
+  (0.0ms) rollback transaction
5096
+  (0.0ms) begin transaction
5097
+  (0.0ms) rollback transaction
5098
+  (0.0ms) begin transaction
5099
+  (0.0ms) rollback transaction
5100
+  (0.0ms) begin transaction
5101
+  (0.0ms) rollback transaction
5102
+  (0.0ms) begin transaction
5103
+  (0.0ms) rollback transaction
5104
+  (0.0ms) begin transaction
5105
+  (0.0ms) rollback transaction
5106
+  (0.0ms) begin transaction
5107
+  (0.0ms) rollback transaction
5108
+  (0.0ms) begin transaction
5109
+ Processing by LtiProvider::LtiController#launch as HTML
5110
+ Parameters: {"oauth_signature_method"=>"HMAC-SHA1", "oauth_timestamp"=>"1412998850", "oauth_nonce"=>"4uoOqswLqUbdxbeNtYoU2BIAHGHEBYsPAdZHxeZWs", "oauth_version"=>"1.0", "custom_canvas_user_id"=>"1", "launch_presentation_return_url"=>"http://test.canvas", "launch_url"=>"http://test.host", "lti_message_type"=>"basic-lti-launch-request", "lti_version"=>"LTI-1p0", "oauth_signature"=>"epMlS5+dwOiOjaFTa+edyHgLq98="}
5111
+ Rendered text template (0.0ms)
5112
+ Completed 200 OK in 8ms (Views: 6.8ms | ActiveRecord: 0.0ms)
5113
+  (0.1ms) rollback transaction
5114
+  (0.0ms) begin transaction
5115
+ Processing by LtiProvider::LtiController#launch as HTML
5116
+ Parameters: {"oauth_consumer_key"=>"12345", "oauth_signature_method"=>"HMAC-SHA1", "oauth_timestamp"=>"1412998850", "oauth_nonce"=>"vzRyuX1PIEHHOMsBuu6Q92NNMv0M0eBKd5O3XZe7w", "oauth_version"=>"1.0", "custom_canvas_user_id"=>"1", "launch_presentation_return_url"=>"http://test.canvas", "launch_url"=>"http://test.host", "lti_message_type"=>"basic-lti-launch-request", "lti_version"=>"LTI-1p0", "oauth_signature"=>"5BJQhh1KMfCfPEADgvjdUH/n2r8="}
5117
+  (0.0ms) SAVEPOINT active_record_1
5118
+ SQL (25.1ms) INSERT INTO "lti_provider_launches" ("canvas_url", "created_at", "nonce", "provider_params", "updated_at") VALUES (?, ?, ?, ?, ?) [["canvas_url", "http://test.canvas"], ["created_at", Sat, 11 Oct 2014 03:40:50 UTC +00:00], ["nonce", "vzRyuX1PIEHHOMsBuu6Q92NNMv0M0eBKd5O3XZe7w"], ["provider_params", "---\nlaunch_presentation_return_url: http://test.canvas\nlti_message_type: basic-lti-launch-request\nlti_version: LTI-1p0\noauth_consumer_key: '12345'\noauth_nonce: vzRyuX1PIEHHOMsBuu6Q92NNMv0M0eBKd5O3XZe7w\noauth_signature: 5BJQhh1KMfCfPEADgvjdUH/n2r8=\noauth_signature_method: HMAC-SHA1\noauth_timestamp: '1412998850'\noauth_version: '1.0'\ncustom_canvas_user_id: '1'\n"], ["updated_at", Sat, 11 Oct 2014 03:40:50 UTC +00:00]]
5119
+  (0.0ms) RELEASE SAVEPOINT active_record_1
5120
+ Redirected to http://test.host/cookie_test?nonce=vzRyuX1PIEHHOMsBuu6Q92NNMv0M0eBKd5O3XZe7w
5121
+ Completed 302 Found in 29ms (ActiveRecord: 25.2ms)
5122
+ LtiProvider::Launch Load (0.1ms) SELECT "lti_provider_launches".* FROM "lti_provider_launches" ORDER BY "lti_provider_launches"."id" ASC LIMIT 1
5123
+  (0.9ms) rollback transaction
5124
+  (0.0ms) begin transaction
5125
+ Processing by LtiProvider::LtiController#launch as HTML
5126
+ Parameters: {"oauth_consumer_key"=>"12345", "oauth_signature_method"=>"HMAC-SHA1", "oauth_timestamp"=>"1412998850", "oauth_nonce"=>"AB9ouncShFB7D8YnFSZW8OGcRqWxE6qCBb56VdChc8", "oauth_version"=>"1.0", "custom_canvas_user_id"=>"1", "launch_presentation_return_url"=>"http://test.canvas", "launch_url"=>"http://test.host", "lti_message_type"=>"basic-lti-launch-request", "lti_version"=>"LTI-1p0", "oauth_signature"=>"hDPTLzlNUCjVqVcZXBG1T4/PswU="}
5127
+  (0.1ms) SAVEPOINT active_record_1
5128
+ SQL (0.3ms) INSERT INTO "lti_provider_launches" ("canvas_url", "created_at", "nonce", "provider_params", "updated_at") VALUES (?, ?, ?, ?, ?) [["canvas_url", "http://test.canvas"], ["created_at", Sat, 11 Oct 2014 03:40:50 UTC +00:00], ["nonce", "AB9ouncShFB7D8YnFSZW8OGcRqWxE6qCBb56VdChc8"], ["provider_params", "---\nlaunch_presentation_return_url: http://test.canvas\nlti_message_type: basic-lti-launch-request\nlti_version: LTI-1p0\noauth_consumer_key: '12345'\noauth_nonce: AB9ouncShFB7D8YnFSZW8OGcRqWxE6qCBb56VdChc8\noauth_signature: hDPTLzlNUCjVqVcZXBG1T4/PswU=\noauth_signature_method: HMAC-SHA1\noauth_timestamp: '1412998850'\noauth_version: '1.0'\ncustom_canvas_user_id: '1'\n"], ["updated_at", Sat, 11 Oct 2014 03:40:50 UTC +00:00]]
5129
+  (0.0ms) RELEASE SAVEPOINT active_record_1
5130
+ Redirected to http://test.host/cookie_test?nonce=AB9ouncShFB7D8YnFSZW8OGcRqWxE6qCBb56VdChc8
5131
+ Completed 302 Found in 4ms (ActiveRecord: 0.3ms)
5132
+  (0.5ms) rollback transaction
5133
+  (0.0ms) begin transaction
5134
+ Processing by LtiProvider::LtiController#launch as HTML
5135
+ Parameters: {"oauth_consumer_key"=>"12345", "oauth_signature_method"=>"HMAC-SHA1", "oauth_timestamp"=>"1412998850", "oauth_nonce"=>"cFPLwPVjWW7Ph0WSullMYKGBcWtuvY8cHaZgqkws9w", "oauth_version"=>"1.0", "custom_canvas_user_id"=>"1", "launch_presentation_return_url"=>"http://test.canvas", "launch_url"=>"http://test.host", "lti_message_type"=>"basic-lti-launch-request", "lti_version"=>"LTI-1p0", "oauth_signature"=>"aOa74HUIuxMeD0m1asXoR5c71GY="}
5136
+ Completed 200 OK in 1ms (Views: 0.2ms | ActiveRecord: 0.0ms)
5137
+  (0.0ms) rollback transaction
5138
+  (0.0ms) begin transaction
5139
+ Processing by LtiProvider::LtiController#configure as XML
5140
+ Completed 200 OK in 4ms (Views: 0.2ms | ActiveRecord: 0.0ms)
5141
+  (0.1ms) rollback transaction
5142
+  (0.0ms) begin transaction
5143
+ Processing by LtiProvider::LtiController#cookie_test as HTML
5144
+ Completed 200 OK in 2ms (Views: 1.6ms | ActiveRecord: 0.0ms)
5145
+  (0.0ms) rollback transaction
5146
+  (0.0ms) begin transaction
5147
+ Processing by LtiProvider::LtiController#cookie_test as HTML
5148
+ Completed 200 OK in 1ms (Views: 0.4ms | ActiveRecord: 0.0ms)
5149
+  (0.0ms) rollback transaction
5150
+  (0.0ms) begin transaction
5151
+  (0.0ms) SAVEPOINT active_record_1
5152
+ SQL (0.4ms) INSERT INTO "lti_provider_launches" ("canvas_url", "created_at", "nonce", "provider_params", "updated_at") VALUES (?, ?, ?, ?, ?) [["canvas_url", "http://canvas"], ["created_at", Sat, 11 Oct 2014 03:40:50 UTC +00:00], ["nonce", "abcd"], ["provider_params", "---\ncustom_canvas_course_id: 1\ncustom_canvas_user_id: 2\ntool_consumer_instance_guid: 123abc\n"], ["updated_at", Sat, 11 Oct 2014 03:40:50 UTC +00:00]]
5153
+  (0.0ms) RELEASE SAVEPOINT active_record_1
5154
+  (0.0ms) SAVEPOINT active_record_1
5155
+ SQL (0.8ms) UPDATE "lti_provider_launches" SET "created_at" = ?, "updated_at" = ?, "provider_params" = ? WHERE "lti_provider_launches"."id" = 1 [["created_at", Sat, 11 Oct 2014 03:30:50 UTC +00:00], ["updated_at", Sat, 11 Oct 2014 03:40:50 UTC +00:00], ["provider_params", "---\ncustom_canvas_course_id: 1\ncustom_canvas_user_id: 2\ntool_consumer_instance_guid: 123abc\n"]]
5156
+  (0.0ms) RELEASE SAVEPOINT active_record_1
5157
+ Processing by LtiProvider::LtiController#consume_launch as HTML
5158
+ Parameters: {"nonce"=>"abcd"}
5159
+ LtiProvider::Launch Load (0.1ms) SELECT "lti_provider_launches".* FROM "lti_provider_launches" WHERE (created_at > '2014-10-11 03:35:50.211343') AND "lti_provider_launches"."nonce" = 'abcd' LIMIT 1
5160
+ Completed 200 OK in 3ms (Views: 0.2ms | ActiveRecord: 0.1ms)
5161
+  (0.5ms) rollback transaction
5162
+  (0.0ms) begin transaction
5163
+  (0.0ms) SAVEPOINT active_record_1
5164
+ SQL (0.3ms) INSERT INTO "lti_provider_launches" ("canvas_url", "created_at", "nonce", "provider_params", "updated_at") VALUES (?, ?, ?, ?, ?) [["canvas_url", "http://canvas"], ["created_at", Sat, 11 Oct 2014 03:40:50 UTC +00:00], ["nonce", "abcd"], ["provider_params", "---\ncustom_canvas_course_id: 1\ncustom_canvas_user_id: 2\ntool_consumer_instance_guid: 123abc\n"], ["updated_at", Sat, 11 Oct 2014 03:40:50 UTC +00:00]]
5165
+  (0.0ms) RELEASE SAVEPOINT active_record_1
5166
+ Processing by LtiProvider::LtiController#consume_launch as HTML
5167
+ Parameters: {"nonce"=>"abcd"}
5168
+ LtiProvider::Launch Load (0.1ms) SELECT "lti_provider_launches".* FROM "lti_provider_launches" WHERE (created_at > '2014-10-11 03:35:50.218815') AND "lti_provider_launches"."nonce" = 'abcd' LIMIT 1
5169
+  (0.0ms) SAVEPOINT active_record_1
5170
+ SQL (0.3ms) DELETE FROM "lti_provider_launches" WHERE "lti_provider_launches"."id" = ? [["id", 1]]
5171
+  (0.0ms) RELEASE SAVEPOINT active_record_1
5172
+ Redirected to http://test.host/
5173
+ Completed 302 Found in 4ms (ActiveRecord: 0.5ms)
5174
+  (0.1ms) SELECT COUNT(*) FROM "lti_provider_launches"
5175
+  (0.4ms) rollback transaction
5176
+  (0.0ms) begin transaction
5177
+  (0.0ms) SAVEPOINT active_record_1
5178
+ SQL (0.3ms) INSERT INTO "lti_provider_launches" ("canvas_url", "created_at", "nonce", "provider_params", "updated_at") VALUES (?, ?, ?, ?, ?) [["canvas_url", "http://canvas"], ["created_at", Sat, 11 Oct 2014 03:40:50 UTC +00:00], ["nonce", "abcd"], ["provider_params", "---\ncustom_canvas_course_id: 1\ncustom_canvas_user_id: 2\ntool_consumer_instance_guid: 123abc\n"], ["updated_at", Sat, 11 Oct 2014 03:40:50 UTC +00:00]]
5179
+  (0.0ms) RELEASE SAVEPOINT active_record_1
5180
+ Processing by LtiProvider::LtiController#consume_launch as HTML
5181
+ Parameters: {"nonce"=>"abcd"}
5182
+ LtiProvider::Launch Load (0.2ms) SELECT "lti_provider_launches".* FROM "lti_provider_launches" WHERE (created_at > '2014-10-11 03:35:50.228066') AND "lti_provider_launches"."nonce" = 'abcd' LIMIT 1
5183
+  (0.1ms) SAVEPOINT active_record_1
5184
+ SQL (0.5ms) DELETE FROM "lti_provider_launches" WHERE "lti_provider_launches"."id" = ? [["id", 1]]
5185
+  (0.1ms) RELEASE SAVEPOINT active_record_1
5186
+ Redirected to http://test.host/
5187
+ Completed 302 Found in 4ms (ActiveRecord: 0.9ms)
5188
+  (0.4ms) rollback transaction
5189
+  (0.0ms) begin transaction
5190
+  (0.0ms) SAVEPOINT active_record_1
5191
+ SQL (0.2ms) INSERT INTO "lti_provider_launches" ("canvas_url", "created_at", "nonce", "provider_params", "updated_at") VALUES (?, ?, ?, ?, ?) [["canvas_url", "http://canvas"], ["created_at", Sat, 11 Oct 2014 03:40:50 UTC +00:00], ["nonce", "abcd"], ["provider_params", "---\ncustom_canvas_course_id: 1\ncustom_canvas_user_id: 2\ntool_consumer_instance_guid: 123abc\n"], ["updated_at", Sat, 11 Oct 2014 03:40:50 UTC +00:00]]
5192
+  (0.0ms) RELEASE SAVEPOINT active_record_1
5193
+ Processing by LtiProvider::LtiController#consume_launch as HTML
5194
+ Parameters: {"nonce"=>"invalid"}
5195
+ LtiProvider::Launch Load (0.1ms) SELECT "lti_provider_launches".* FROM "lti_provider_launches" WHERE (created_at > '2014-10-11 03:35:50.236208') AND "lti_provider_launches"."nonce" = 'invalid' LIMIT 1
5196
+ Completed 200 OK in 1ms (Views: 0.2ms | ActiveRecord: 0.1ms)
5197
+  (0.5ms) rollback transaction
5198
+ Initializing LTI key and secret using configuration in /Users/simon/Instructure/projects/lti_provider_engine/spec/dummy/config/lti.yml
5199
+ Initializing LTI XML config using configuration in /Users/simon/Instructure/projects/lti_provider_engine/spec/dummy/config/lti_xml.yml
5200
+  (0.3ms) begin transaction
5201
+ Processing by LtiProvider::LtiController#cookie_test as HTML
5202
+ Rendered /Users/simon/Instructure/projects/lti_provider_engine/app/views/lti_provider/lti/cookie_test.html.erb within layouts/lti_provider/application (0.2ms)
5203
+ Completed 200 OK in 38ms (Views: 37.7ms | ActiveRecord: 0.0ms)
5204
+  (0.1ms) rollback transaction
5205
+  (0.0ms) begin transaction
5206
+ Processing by LtiProvider::LtiController#cookie_test as HTML
5207
+ Completed 200 OK in 1ms (Views: 0.5ms | ActiveRecord: 0.0ms)
5208
+  (0.0ms) rollback transaction
5209
+  (0.0ms) begin transaction
5210
+ Processing by LtiProvider::LtiController#launch as HTML
5211
+ Parameters: {"oauth_consumer_key"=>"12345", "oauth_signature_method"=>"HMAC-SHA1", "oauth_timestamp"=>"1412999031", "oauth_nonce"=>"m5smpJNh8fA6HJTVSuGM8sOkUgeaCN6AxkSyJur0oiE", "oauth_version"=>"1.0", "custom_canvas_user_id"=>"1", "launch_presentation_return_url"=>"http://test.canvas", "launch_url"=>"http://test.host", "lti_message_type"=>"basic-lti-launch-request", "lti_version"=>"LTI-1p0", "oauth_signature"=>"iYD254IaLVrjnm81OR8BZPomMyY="}
5212
+  (0.0ms) SAVEPOINT active_record_1
5213
+ SQL (0.5ms) INSERT INTO "lti_provider_launches" ("canvas_url", "created_at", "nonce", "provider_params", "updated_at") VALUES (?, ?, ?, ?, ?) [["canvas_url", "http://test.canvas"], ["created_at", "2014-10-11 03:43:51.132244"], ["nonce", "m5smpJNh8fA6HJTVSuGM8sOkUgeaCN6AxkSyJur0oiE"], ["provider_params", "---\nlaunch_presentation_return_url: http://test.canvas\nlti_message_type: basic-lti-launch-request\nlti_version: LTI-1p0\noauth_consumer_key: '12345'\noauth_nonce: m5smpJNh8fA6HJTVSuGM8sOkUgeaCN6AxkSyJur0oiE\noauth_signature: iYD254IaLVrjnm81OR8BZPomMyY=\noauth_signature_method: HMAC-SHA1\noauth_timestamp: '1412999031'\noauth_version: '1.0'\ncustom_canvas_user_id: '1'\n"], ["updated_at", "2014-10-11 03:43:51.132244"]]
5214
+  (0.0ms) RELEASE SAVEPOINT active_record_1
5215
+ Redirected to http://test.host/cookie_test?nonce=m5smpJNh8fA6HJTVSuGM8sOkUgeaCN6AxkSyJur0oiE
5216
+ Completed 302 Found in 15ms (ActiveRecord: 1.9ms)
5217
+  (0.4ms) rollback transaction
5218
+  (0.0ms) begin transaction
5219
+ Processing by LtiProvider::LtiController#launch as HTML
5220
+ Parameters: {"oauth_consumer_key"=>"12345", "oauth_signature_method"=>"HMAC-SHA1", "oauth_timestamp"=>"1412999031", "oauth_nonce"=>"m5yidBHiBBN747hU4ATg0TzKtQc85sjuhk8dtY3oqC4", "oauth_version"=>"1.0", "custom_canvas_user_id"=>"1", "launch_presentation_return_url"=>"http://test.canvas", "launch_url"=>"http://test.host", "lti_message_type"=>"basic-lti-launch-request", "lti_version"=>"LTI-1p0", "oauth_signature"=>"ouxrlmuvk+z2NvGgI+srs19C42Q="}
5221
+  (0.0ms) SAVEPOINT active_record_1
5222
+ SQL (0.2ms) INSERT INTO "lti_provider_launches" ("canvas_url", "created_at", "nonce", "provider_params", "updated_at") VALUES (?, ?, ?, ?, ?) [["canvas_url", "http://test.canvas"], ["created_at", "2014-10-11 03:43:51.145076"], ["nonce", "m5yidBHiBBN747hU4ATg0TzKtQc85sjuhk8dtY3oqC4"], ["provider_params", "---\nlaunch_presentation_return_url: http://test.canvas\nlti_message_type: basic-lti-launch-request\nlti_version: LTI-1p0\noauth_consumer_key: '12345'\noauth_nonce: m5yidBHiBBN747hU4ATg0TzKtQc85sjuhk8dtY3oqC4\noauth_signature: ouxrlmuvk+z2NvGgI+srs19C42Q=\noauth_signature_method: HMAC-SHA1\noauth_timestamp: '1412999031'\noauth_version: '1.0'\ncustom_canvas_user_id: '1'\n"], ["updated_at", "2014-10-11 03:43:51.145076"]]
5223
+  (0.0ms) RELEASE SAVEPOINT active_record_1
5224
+ Redirected to http://test.host/cookie_test?nonce=m5yidBHiBBN747hU4ATg0TzKtQc85sjuhk8dtY3oqC4
5225
+ Completed 302 Found in 3ms (ActiveRecord: 0.2ms)
5226
+ LtiProvider::Launch Load (0.1ms) SELECT "lti_provider_launches".* FROM "lti_provider_launches" ORDER BY "lti_provider_launches"."id" ASC LIMIT 1
5227
+  (0.6ms) rollback transaction
5228
+  (0.1ms) begin transaction
5229
+ Processing by LtiProvider::LtiController#launch as HTML
5230
+ Parameters: {"oauth_signature_method"=>"HMAC-SHA1", "oauth_timestamp"=>"1412999031", "oauth_nonce"=>"H3QYGgG6M1XWQyYqSVYycNpG12pbfggn2WYCpgPg", "oauth_version"=>"1.0", "custom_canvas_user_id"=>"1", "launch_presentation_return_url"=>"http://test.canvas", "launch_url"=>"http://test.host", "lti_message_type"=>"basic-lti-launch-request", "lti_version"=>"LTI-1p0", "oauth_signature"=>"6TSQ4AcDrUVY4ds0FZZ+dT0c4pg="}
5231
+ Completed 200 OK in 3ms (Views: 2.0ms | ActiveRecord: 0.0ms)
5232
+  (0.1ms) rollback transaction
5233
+  (0.0ms) begin transaction
5234
+ Processing by LtiProvider::LtiController#launch as HTML
5235
+ Parameters: {"oauth_consumer_key"=>"12345", "oauth_signature_method"=>"HMAC-SHA1", "oauth_timestamp"=>"1412999031", "oauth_nonce"=>"Z1Y8qQvsOCydB1ZGuQ25GoNgemPBX4cc3GPuvxfyQ", "oauth_version"=>"1.0", "custom_canvas_user_id"=>"1", "launch_presentation_return_url"=>"http://test.canvas", "launch_url"=>"http://test.host", "lti_message_type"=>"basic-lti-launch-request", "lti_version"=>"LTI-1p0", "oauth_signature"=>"MeFxo4WnGFfiQEDPj8+cWh51F20="}
5236
+ Completed 200 OK in 1ms (Views: 0.2ms | ActiveRecord: 0.0ms)
5237
+  (0.0ms) rollback transaction
5238
+  (0.0ms) begin transaction
5239
+  (0.0ms) SAVEPOINT active_record_1
5240
+ SQL (0.3ms) INSERT INTO "lti_provider_launches" ("canvas_url", "created_at", "nonce", "provider_params", "updated_at") VALUES (?, ?, ?, ?, ?) [["canvas_url", "http://canvas"], ["created_at", "2014-10-11 03:43:51.201020"], ["nonce", "abcd"], ["provider_params", "---\ncustom_canvas_course_id: 1\ncustom_canvas_user_id: 2\ntool_consumer_instance_guid: 123abc\n"], ["updated_at", "2014-10-11 03:43:51.201020"]]
5241
+  (0.0ms) RELEASE SAVEPOINT active_record_1
5242
+ Processing by LtiProvider::LtiController#consume_launch as HTML
5243
+ Parameters: {"nonce"=>"abcd"}
5244
+ LtiProvider::Launch Load (0.1ms) SELECT "lti_provider_launches".* FROM "lti_provider_launches" WHERE (created_at > '2014-10-11 03:38:51.204050') AND "lti_provider_launches"."nonce" = 'abcd' LIMIT 1
5245
+  (0.0ms) SAVEPOINT active_record_1
5246
+ SQL (0.8ms) DELETE FROM "lti_provider_launches" WHERE "lti_provider_launches"."id" = ? [["id", 1]]
5247
+  (0.0ms) RELEASE SAVEPOINT active_record_1
5248
+ Redirected to http://test.host/
5249
+ Completed 302 Found in 10ms (ActiveRecord: 1.0ms)
5250
+  (0.5ms) rollback transaction
5251
+  (0.0ms) begin transaction
5252
+  (0.0ms) SAVEPOINT active_record_1
5253
+ SQL (0.2ms) INSERT INTO "lti_provider_launches" ("canvas_url", "created_at", "nonce", "provider_params", "updated_at") VALUES (?, ?, ?, ?, ?) [["canvas_url", "http://canvas"], ["created_at", "2014-10-11 03:43:51.216605"], ["nonce", "abcd"], ["provider_params", "---\ncustom_canvas_course_id: 1\ncustom_canvas_user_id: 2\ntool_consumer_instance_guid: 123abc\n"], ["updated_at", "2014-10-11 03:43:51.216605"]]
5254
+  (0.0ms) RELEASE SAVEPOINT active_record_1
5255
+ Processing by LtiProvider::LtiController#consume_launch as HTML
5256
+ Parameters: {"nonce"=>"abcd"}
5257
+ LtiProvider::Launch Load (0.1ms) SELECT "lti_provider_launches".* FROM "lti_provider_launches" WHERE (created_at > '2014-10-11 03:38:51.219530') AND "lti_provider_launches"."nonce" = 'abcd' LIMIT 1
5258
+  (0.1ms) SAVEPOINT active_record_1
5259
+ SQL (0.4ms) DELETE FROM "lti_provider_launches" WHERE "lti_provider_launches"."id" = ? [["id", 1]]
5260
+  (0.0ms) RELEASE SAVEPOINT active_record_1
5261
+ Redirected to http://test.host/
5262
+ Completed 302 Found in 3ms (ActiveRecord: 0.6ms)
5263
+  (0.1ms) SELECT COUNT(*) FROM "lti_provider_launches"
5264
+  (0.5ms) rollback transaction
5265
+  (0.0ms) begin transaction
5266
+  (0.0ms) SAVEPOINT active_record_1
5267
+ SQL (0.2ms) INSERT INTO "lti_provider_launches" ("canvas_url", "created_at", "nonce", "provider_params", "updated_at") VALUES (?, ?, ?, ?, ?) [["canvas_url", "http://canvas"], ["created_at", "2014-10-11 03:43:51.225774"], ["nonce", "abcd"], ["provider_params", "---\ncustom_canvas_course_id: 1\ncustom_canvas_user_id: 2\ntool_consumer_instance_guid: 123abc\n"], ["updated_at", "2014-10-11 03:43:51.225774"]]
5268
+  (0.0ms) RELEASE SAVEPOINT active_record_1
5269
+  (0.0ms) SAVEPOINT active_record_1
5270
+ SQL (0.3ms) UPDATE "lti_provider_launches" SET "created_at" = ?, "provider_params" = ?, "updated_at" = ? WHERE "lti_provider_launches"."id" = 1 [["created_at", "2014-10-11 03:33:51.227478"], ["provider_params", "---\ncustom_canvas_course_id: 1\ncustom_canvas_user_id: 2\ntool_consumer_instance_guid: 123abc\n"], ["updated_at", "2014-10-11 03:43:51.227679"]]
5271
+  (0.0ms) RELEASE SAVEPOINT active_record_1
5272
+ Processing by LtiProvider::LtiController#consume_launch as HTML
5273
+ Parameters: {"nonce"=>"abcd"}
5274
+ LtiProvider::Launch Load (0.1ms) SELECT "lti_provider_launches".* FROM "lti_provider_launches" WHERE (created_at > '2014-10-11 03:38:51.229999') AND "lti_provider_launches"."nonce" = 'abcd' LIMIT 1
5275
+ Completed 200 OK in 1ms (Views: 0.2ms | ActiveRecord: 0.1ms)
5276
+  (0.4ms) rollback transaction
5277
+  (0.0ms) begin transaction
5278
+  (0.0ms) SAVEPOINT active_record_1
5279
+ SQL (0.1ms) INSERT INTO "lti_provider_launches" ("canvas_url", "created_at", "nonce", "provider_params", "updated_at") VALUES (?, ?, ?, ?, ?) [["canvas_url", "http://canvas"], ["created_at", "2014-10-11 03:43:51.232680"], ["nonce", "abcd"], ["provider_params", "---\ncustom_canvas_course_id: 1\ncustom_canvas_user_id: 2\ntool_consumer_instance_guid: 123abc\n"], ["updated_at", "2014-10-11 03:43:51.232680"]]
5280
+  (0.0ms) RELEASE SAVEPOINT active_record_1
5281
+ Processing by LtiProvider::LtiController#consume_launch as HTML
5282
+ Parameters: {"nonce"=>"invalid"}
5283
+ LtiProvider::Launch Load (0.1ms) SELECT "lti_provider_launches".* FROM "lti_provider_launches" WHERE (created_at > '2014-10-11 03:38:51.234753') AND "lti_provider_launches"."nonce" = 'invalid' LIMIT 1
5284
+ Completed 200 OK in 1ms (Views: 0.2ms | ActiveRecord: 0.1ms)
5285
+  (0.3ms) rollback transaction
5286
+  (0.0ms) begin transaction
5287
+ Processing by LtiProvider::LtiController#configure as XML
5288
+ Completed 200 OK in 1ms (Views: 0.1ms | ActiveRecord: 0.0ms)
5289
+  (0.0ms) rollback transaction
5290
+  (0.0ms) begin transaction
5291
+  (0.1ms) rollback transaction
5292
+  (0.0ms) begin transaction
5293
+  (0.0ms) rollback transaction
5294
+  (0.0ms) begin transaction
5295
+  (0.0ms) rollback transaction
5296
+  (0.0ms) begin transaction
5297
+  (0.0ms) rollback transaction
5298
+  (0.0ms) begin transaction
5299
+  (0.0ms) rollback transaction
5300
+  (0.0ms) begin transaction
5301
+  (0.0ms) rollback transaction
5302
+  (0.0ms) begin transaction
5303
+  (0.0ms) rollback transaction
5304
+  (0.0ms) begin transaction
5305
+  (0.0ms) rollback transaction
5306
+  (0.0ms) begin transaction
5307
+  (0.0ms) rollback transaction
5308
+  (0.0ms) begin transaction
5309
+  (0.0ms) rollback transaction
5310
+  (0.0ms) begin transaction
5311
+  (0.0ms) rollback transaction
5312
+  (0.0ms) begin transaction
5313
+  (0.0ms) rollback transaction
5314
+  (0.0ms) begin transaction
5315
+  (0.0ms) rollback transaction
5316
+  (0.0ms) begin transaction
5317
+  (0.0ms) rollback transaction
5318
+ Initializing LTI key and secret using configuration in /Users/simon/Instructure/projects/lti_provider_engine/spec/dummy/config/lti.yml
5319
+ Initializing LTI XML config using configuration in /Users/simon/Instructure/projects/lti_provider_engine/spec/dummy/config/lti_xml.yml
5320
+ Connecting to database specified by database.yml
5321
+ Initializing LTI key and secret using configuration in /Users/simon/Instructure/projects/lti_provider_engine/spec/dummy/config/lti.yml
5322
+ Initializing LTI XML config using configuration in /Users/simon/Instructure/projects/lti_provider_engine/spec/dummy/config/lti_xml.yml
5323
+  (0.3ms) begin transaction
5324
+  (0.0ms) rollback transaction
5325
+  (0.0ms) begin transaction
5326
+  (0.1ms) rollback transaction
5327
+  (0.0ms) begin transaction
5328
+  (0.0ms) rollback transaction
5329
+  (0.0ms) begin transaction
5330
+  (0.0ms) rollback transaction
5331
+  (0.0ms) begin transaction
5332
+  (0.0ms) rollback transaction
5333
+  (0.0ms) begin transaction
5334
+  (0.1ms) rollback transaction
5335
+  (0.0ms) begin transaction
5336
+  (0.0ms) rollback transaction
5337
+  (0.0ms) begin transaction
5338
+  (0.0ms) rollback transaction
5339
+  (0.0ms) begin transaction
5340
+  (0.0ms) rollback transaction
5341
+  (0.0ms) begin transaction
5342
+  (0.0ms) rollback transaction
5343
+  (0.0ms) begin transaction
5344
+  (0.0ms) rollback transaction
5345
+  (0.0ms) begin transaction
5346
+  (0.1ms) rollback transaction
5347
+  (0.0ms) begin transaction
5348
+  (0.1ms) rollback transaction
5349
+  (0.1ms) begin transaction
5350
+  (0.0ms) rollback transaction
5351
+  (0.0ms) begin transaction
5352
+ Processing by LtiProvider::LtiController#configure as XML
5353
+ Completed 200 OK in 1ms (Views: 0.1ms | ActiveRecord: 0.0ms)
5354
+  (0.1ms) rollback transaction
5355
+  (0.0ms) begin transaction
5356
+ Processing by LtiProvider::LtiController#cookie_test as HTML
5357
+ Completed 200 OK in 36ms (Views: 36.2ms | ActiveRecord: 0.0ms)
5358
+  (0.1ms) rollback transaction
5359
+  (0.1ms) begin transaction
5360
+ Processing by LtiProvider::LtiController#cookie_test as HTML
5361
+ Completed 200 OK in 1ms (Views: 0.8ms | ActiveRecord: 0.0ms)
5362
+  (0.1ms) rollback transaction
5363
+  (0.0ms) begin transaction
5364
+  (0.0ms) SAVEPOINT active_record_1
5365
+ SQL (0.5ms) INSERT INTO "lti_provider_launches" ("canvas_url", "created_at", "nonce", "provider_params", "updated_at") VALUES (?, ?, ?, ?, ?) [["canvas_url", "http://canvas"], ["created_at", "2014-11-25 19:53:51.718111"], ["nonce", "abcd"], ["provider_params", "---\ncustom_canvas_course_id: 1\ncustom_canvas_user_id: 2\ntool_consumer_instance_guid: 123abc\n"], ["updated_at", "2014-11-25 19:53:51.718111"]]
5366
+  (0.0ms) RELEASE SAVEPOINT active_record_1
5367
+ Processing by LtiProvider::LtiController#consume_launch as HTML
5368
+ Parameters: {"nonce"=>"invalid"}
5369
+ LtiProvider::Launch Load (0.1ms) SELECT "lti_provider_launches".* FROM "lti_provider_launches" WHERE (created_at > '2014-11-25 19:48:51.723954') AND "lti_provider_launches"."nonce" = 'invalid' LIMIT 1
5370
+ Completed 200 OK in 9ms (Views: 1.5ms | ActiveRecord: 0.1ms)
5371
+  (0.6ms) rollback transaction
5372
+  (0.1ms) begin transaction
5373
+  (0.1ms) SAVEPOINT active_record_1
5374
+ SQL (0.3ms) INSERT INTO "lti_provider_launches" ("canvas_url", "created_at", "nonce", "provider_params", "updated_at") VALUES (?, ?, ?, ?, ?) [["canvas_url", "http://canvas"], ["created_at", "2014-11-25 19:53:51.736084"], ["nonce", "abcd"], ["provider_params", "---\ncustom_canvas_course_id: 1\ncustom_canvas_user_id: 2\ntool_consumer_instance_guid: 123abc\n"], ["updated_at", "2014-11-25 19:53:51.736084"]]
5375
+  (0.0ms) RELEASE SAVEPOINT active_record_1
5376
+  (0.0ms) SAVEPOINT active_record_1
5377
+ SQL (0.8ms) UPDATE "lti_provider_launches" SET "created_at" = ?, "provider_params" = ?, "updated_at" = ? WHERE "lti_provider_launches"."id" = 1 [["created_at", "2014-11-25 19:43:51.738197"], ["provider_params", "---\ncustom_canvas_course_id: 1\ncustom_canvas_user_id: 2\ntool_consumer_instance_guid: 123abc\n"], ["updated_at", "2014-11-25 19:53:51.738454"]]
5378
+  (0.0ms) RELEASE SAVEPOINT active_record_1
5379
+ Processing by LtiProvider::LtiController#consume_launch as HTML
5380
+ Parameters: {"nonce"=>"abcd"}
5381
+ LtiProvider::Launch Load (0.1ms) SELECT "lti_provider_launches".* FROM "lti_provider_launches" WHERE (created_at > '2014-11-25 19:48:51.741653') AND "lti_provider_launches"."nonce" = 'abcd' LIMIT 1
5382
+ Completed 200 OK in 1ms (Views: 0.2ms | ActiveRecord: 0.1ms)
5383
+  (0.7ms) rollback transaction
5384
+  (0.0ms) begin transaction
5385
+  (0.1ms) SAVEPOINT active_record_1
5386
+ SQL (0.3ms) INSERT INTO "lti_provider_launches" ("canvas_url", "created_at", "nonce", "provider_params", "updated_at") VALUES (?, ?, ?, ?, ?) [["canvas_url", "http://canvas"], ["created_at", "2014-11-25 19:53:51.745786"], ["nonce", "abcd"], ["provider_params", "---\ncustom_canvas_course_id: 1\ncustom_canvas_user_id: 2\ntool_consumer_instance_guid: 123abc\n"], ["updated_at", "2014-11-25 19:53:51.745786"]]
5387
+  (0.0ms) RELEASE SAVEPOINT active_record_1
5388
+ Processing by LtiProvider::LtiController#consume_launch as HTML
5389
+ Parameters: {"nonce"=>"abcd"}
5390
+ LtiProvider::Launch Load (0.2ms) SELECT "lti_provider_launches".* FROM "lti_provider_launches" WHERE (created_at > '2014-11-25 19:48:51.749247') AND "lti_provider_launches"."nonce" = 'abcd' LIMIT 1
5391
+  (0.1ms) SAVEPOINT active_record_1
5392
+ SQL (0.4ms) DELETE FROM "lti_provider_launches" WHERE "lti_provider_launches"."id" = ? [["id", 1]]
5393
+  (0.0ms) RELEASE SAVEPOINT active_record_1
5394
+ Redirected to http://test.host/
5395
+ Completed 302 Found in 34ms (ActiveRecord: 0.6ms)
5396
+  (0.1ms) SELECT COUNT(*) FROM "lti_provider_launches"
5397
+  (0.8ms) rollback transaction
5398
+  (0.1ms) begin transaction
5399
+  (0.1ms) SAVEPOINT active_record_1
5400
+ SQL (0.3ms) INSERT INTO "lti_provider_launches" ("canvas_url", "created_at", "nonce", "provider_params", "updated_at") VALUES (?, ?, ?, ?, ?) [["canvas_url", "http://canvas"], ["created_at", "2014-11-25 19:53:51.787408"], ["nonce", "abcd"], ["provider_params", "---\ncustom_canvas_course_id: 1\ncustom_canvas_user_id: 2\ntool_consumer_instance_guid: 123abc\n"], ["updated_at", "2014-11-25 19:53:51.787408"]]
5401
+  (0.1ms) RELEASE SAVEPOINT active_record_1
5402
+ Processing by LtiProvider::LtiController#consume_launch as HTML
5403
+ Parameters: {"nonce"=>"abcd"}
5404
+ LtiProvider::Launch Load (0.1ms) SELECT "lti_provider_launches".* FROM "lti_provider_launches" WHERE (created_at > '2014-11-25 19:48:51.791571') AND "lti_provider_launches"."nonce" = 'abcd' LIMIT 1
5405
+  (0.0ms) SAVEPOINT active_record_1
5406
+ SQL (0.3ms) DELETE FROM "lti_provider_launches" WHERE "lti_provider_launches"."id" = ? [["id", 1]]
5407
+  (0.0ms) RELEASE SAVEPOINT active_record_1
5408
+ Redirected to http://test.host/
5409
+ Completed 302 Found in 3ms (ActiveRecord: 0.5ms)
5410
+  (0.7ms) rollback transaction
5411
+  (0.0ms) begin transaction
5412
+ Processing by LtiProvider::LtiController#launch as HTML
5413
+ Parameters: {"oauth_consumer_key"=>"12345", "oauth_signature_method"=>"HMAC-SHA1", "oauth_timestamp"=>"1416945231", "oauth_nonce"=>"hgFwAeeIt4Il98g9Ru2xSk9qtubRTcs8kHYdK50Fo", "oauth_version"=>"1.0", "custom_canvas_user_id"=>"1", "launch_presentation_return_url"=>"http://test.canvas", "launch_url"=>"http://test.host", "lti_message_type"=>"basic-lti-launch-request", "lti_version"=>"LTI-1p0", "oauth_signature"=>"wu7VF0qIfJhsB/iun/E6m95mBGg="}
5414
+ Completed 200 OK in 1ms (Views: 0.2ms | ActiveRecord: 0.0ms)
5415
+  (0.1ms) rollback transaction
5416
+  (0.0ms) begin transaction
5417
+ Processing by LtiProvider::LtiController#launch as HTML
5418
+ Parameters: {"oauth_signature_method"=>"HMAC-SHA1", "oauth_timestamp"=>"1416945231", "oauth_nonce"=>"tOvhJwkzVSMccAKhXkn2uiEIpihCNCgM5qwaaF5KHs", "oauth_version"=>"1.0", "custom_canvas_user_id"=>"1", "launch_presentation_return_url"=>"http://test.canvas", "launch_url"=>"http://test.host", "lti_message_type"=>"basic-lti-launch-request", "lti_version"=>"LTI-1p0", "oauth_signature"=>"TILAcnLOrFCPo4g1o+HVnYbnjkE="}
5419
+ Completed 200 OK in 1ms (Views: 0.2ms | ActiveRecord: 0.0ms)
5420
+  (0.1ms) rollback transaction
5421
+  (0.1ms) begin transaction
5422
+ Processing by LtiProvider::LtiController#launch as HTML
5423
+ Parameters: {"oauth_consumer_key"=>"12345", "oauth_signature_method"=>"HMAC-SHA1", "oauth_timestamp"=>"1416945231", "oauth_nonce"=>"5YfCfBxxOY0KQUYZuZobArjUzxSf20z4eAZwoD8QB8", "oauth_version"=>"1.0", "custom_canvas_user_id"=>"1", "launch_presentation_return_url"=>"http://test.canvas", "launch_url"=>"http://test.host", "lti_message_type"=>"basic-lti-launch-request", "lti_version"=>"LTI-1p0", "oauth_signature"=>"+hPLRfRgaXVwmm0GGynGxuOIkLo="}
5424
+  (0.0ms) SAVEPOINT active_record_1
5425
+ SQL (0.3ms) INSERT INTO "lti_provider_launches" ("canvas_url", "created_at", "nonce", "provider_params", "updated_at") VALUES (?, ?, ?, ?, ?) [["canvas_url", "http://test.canvas"], ["created_at", "2014-11-25 19:53:51.819444"], ["nonce", "5YfCfBxxOY0KQUYZuZobArjUzxSf20z4eAZwoD8QB8"], ["provider_params", "---\nlaunch_presentation_return_url: http://test.canvas\nlti_message_type: basic-lti-launch-request\nlti_version: LTI-1p0\noauth_consumer_key: '12345'\noauth_nonce: 5YfCfBxxOY0KQUYZuZobArjUzxSf20z4eAZwoD8QB8\noauth_signature: +hPLRfRgaXVwmm0GGynGxuOIkLo=\noauth_signature_method: HMAC-SHA1\noauth_timestamp: '1416945231'\noauth_version: '1.0'\ncustom_canvas_user_id: '1'\n"], ["updated_at", "2014-11-25 19:53:51.819444"]]
5426
+  (0.0ms) RELEASE SAVEPOINT active_record_1
5427
+ Redirected to http://test.host/cookie_test?nonce=5YfCfBxxOY0KQUYZuZobArjUzxSf20z4eAZwoD8QB8
5428
+ Completed 302 Found in 4ms (ActiveRecord: 0.4ms)
5429
+ LtiProvider::Launch Load (0.1ms) SELECT "lti_provider_launches".* FROM "lti_provider_launches" ORDER BY "lti_provider_launches"."id" ASC LIMIT 1
5430
+  (0.4ms) rollback transaction
5431
+  (0.0ms) begin transaction
5432
+ Processing by LtiProvider::LtiController#launch as HTML
5433
+ Parameters: {"oauth_consumer_key"=>"12345", "oauth_signature_method"=>"HMAC-SHA1", "oauth_timestamp"=>"1416945231", "oauth_nonce"=>"MZk5scWUWPPnyax5DdvHxAEz88tnvxgmVFZK60zOziE", "oauth_version"=>"1.0", "custom_canvas_user_id"=>"1", "launch_presentation_return_url"=>"http://test.canvas", "launch_url"=>"http://test.host", "lti_message_type"=>"basic-lti-launch-request", "lti_version"=>"LTI-1p0", "oauth_signature"=>"8IVA09/a2UzP0cQt6dfKQXd3P2k="}
5434
+  (0.0ms) SAVEPOINT active_record_1
5435
+ SQL (0.2ms) INSERT INTO "lti_provider_launches" ("canvas_url", "created_at", "nonce", "provider_params", "updated_at") VALUES (?, ?, ?, ?, ?) [["canvas_url", "http://test.canvas"], ["created_at", "2014-11-25 19:53:51.828930"], ["nonce", "MZk5scWUWPPnyax5DdvHxAEz88tnvxgmVFZK60zOziE"], ["provider_params", "---\nlaunch_presentation_return_url: http://test.canvas\nlti_message_type: basic-lti-launch-request\nlti_version: LTI-1p0\noauth_consumer_key: '12345'\noauth_nonce: MZk5scWUWPPnyax5DdvHxAEz88tnvxgmVFZK60zOziE\noauth_signature: 8IVA09/a2UzP0cQt6dfKQXd3P2k=\noauth_signature_method: HMAC-SHA1\noauth_timestamp: '1416945231'\noauth_version: '1.0'\ncustom_canvas_user_id: '1'\n"], ["updated_at", "2014-11-25 19:53:51.828930"]]
5436
+  (0.0ms) RELEASE SAVEPOINT active_record_1
5437
+ Redirected to http://test.host/cookie_test?nonce=MZk5scWUWPPnyax5DdvHxAEz88tnvxgmVFZK60zOziE
5438
+ Completed 302 Found in 4ms (ActiveRecord: 0.3ms)
5439
+  (0.5ms) rollback transaction
5440
+ Initializing LTI key and secret using configuration in /Users/simon/Instructure/projects/lti_provider_engine/spec/dummy/config/lti.yml
5441
+ Initializing LTI XML config using configuration in /Users/simon/Instructure/projects/lti_provider_engine/spec/dummy/config/lti_xml.yml
5442
+  (0.3ms) begin transaction
5443
+  (0.0ms) rollback transaction
5444
+  (0.0ms) begin transaction
5445
+  (0.0ms) rollback transaction
5446
+  (0.0ms) begin transaction
5447
+  (0.0ms) rollback transaction
5448
+  (0.0ms) begin transaction
5449
+  (0.0ms) rollback transaction
5450
+  (0.0ms) begin transaction
5451
+  (0.0ms) rollback transaction
5452
+  (0.0ms) begin transaction
5453
+  (0.1ms) rollback transaction
5454
+  (0.0ms) begin transaction
5455
+  (0.0ms) rollback transaction
5456
+  (0.0ms) begin transaction
5457
+  (0.0ms) rollback transaction
5458
+  (0.0ms) begin transaction
5459
+  (0.0ms) rollback transaction
5460
+  (0.0ms) begin transaction
5461
+  (0.0ms) rollback transaction
5462
+  (0.0ms) begin transaction
5463
+  (0.0ms) rollback transaction
5464
+  (0.0ms) begin transaction
5465
+  (0.0ms) rollback transaction
5466
+  (0.1ms) begin transaction
5467
+  (0.0ms) rollback transaction
5468
+  (0.0ms) begin transaction
5469
+  (0.0ms) rollback transaction
5470
+  (0.0ms) begin transaction
5471
+ Processing by LtiProvider::LtiController#configure as XML
5472
+ Completed 200 OK in 1ms (Views: 0.1ms | ActiveRecord: 0.0ms)
5473
+  (0.1ms) rollback transaction
5474
+  (0.0ms) begin transaction
5475
+ Processing by LtiProvider::LtiController#cookie_test as HTML
5476
+ Completed 200 OK in 37ms (Views: 37.0ms | ActiveRecord: 0.0ms)
5477
+  (0.1ms) rollback transaction
5478
+  (0.0ms) begin transaction
5479
+ Processing by LtiProvider::LtiController#cookie_test as HTML
5480
+ Completed 200 OK in 1ms (Views: 1.0ms | ActiveRecord: 0.0ms)
5481
+  (0.1ms) rollback transaction
5482
+  (0.1ms) begin transaction
5483
+  (0.1ms) SAVEPOINT active_record_1
5484
+ SQL (0.4ms) INSERT INTO "lti_provider_launches" ("canvas_url", "created_at", "nonce", "provider_params", "updated_at") VALUES (?, ?, ?, ?, ?) [["canvas_url", "http://canvas"], ["created_at", "2014-11-25 19:55:44.315678"], ["nonce", "abcd"], ["provider_params", "---\ncustom_canvas_course_id: 1\ncustom_canvas_user_id: 2\ntool_consumer_instance_guid: 123abc\next_roles: student\n"], ["updated_at", "2014-11-25 19:55:44.315678"]]
5485
+  (0.0ms) RELEASE SAVEPOINT active_record_1
5486
+ Processing by LtiProvider::LtiController#consume_launch as HTML
5487
+ Parameters: {"nonce"=>"invalid"}
5488
+ LtiProvider::Launch Load (0.1ms) SELECT "lti_provider_launches".* FROM "lti_provider_launches" WHERE (created_at > '2014-11-25 19:50:44.322850') AND "lti_provider_launches"."nonce" = 'invalid' LIMIT 1
5489
+ Completed 200 OK in 8ms (Views: 1.2ms | ActiveRecord: 0.1ms)
5490
+  (0.9ms) rollback transaction
5491
+  (0.0ms) begin transaction
5492
+  (0.0ms) SAVEPOINT active_record_1
5493
+ SQL (0.2ms) INSERT INTO "lti_provider_launches" ("canvas_url", "created_at", "nonce", "provider_params", "updated_at") VALUES (?, ?, ?, ?, ?) [["canvas_url", "http://canvas"], ["created_at", "2014-11-25 19:55:44.333440"], ["nonce", "abcd"], ["provider_params", "---\ncustom_canvas_course_id: 1\ncustom_canvas_user_id: 2\ntool_consumer_instance_guid: 123abc\next_roles: student\n"], ["updated_at", "2014-11-25 19:55:44.333440"]]
5494
+  (0.0ms) RELEASE SAVEPOINT active_record_1
5495
+  (0.0ms) SAVEPOINT active_record_1
5496
+ SQL (0.9ms) UPDATE "lti_provider_launches" SET "created_at" = ?, "provider_params" = ?, "updated_at" = ? WHERE "lti_provider_launches"."id" = 1 [["created_at", "2014-11-25 19:45:44.335403"], ["provider_params", "---\ncustom_canvas_course_id: 1\ncustom_canvas_user_id: 2\ntool_consumer_instance_guid: 123abc\next_roles: student\n"], ["updated_at", "2014-11-25 19:55:44.335642"]]
5497
+  (0.0ms) RELEASE SAVEPOINT active_record_1
5498
+ Processing by LtiProvider::LtiController#consume_launch as HTML
5499
+ Parameters: {"nonce"=>"abcd"}
5500
+ LtiProvider::Launch Load (0.1ms) SELECT "lti_provider_launches".* FROM "lti_provider_launches" WHERE (created_at > '2014-11-25 19:50:44.338866') AND "lti_provider_launches"."nonce" = 'abcd' LIMIT 1
5501
+ Completed 200 OK in 1ms (Views: 0.2ms | ActiveRecord: 0.1ms)
5502
+  (0.6ms) rollback transaction
5503
+  (0.0ms) begin transaction
5504
+  (0.0ms) SAVEPOINT active_record_1
5505
+ SQL (0.2ms) INSERT INTO "lti_provider_launches" ("canvas_url", "created_at", "nonce", "provider_params", "updated_at") VALUES (?, ?, ?, ?, ?) [["canvas_url", "http://canvas"], ["created_at", "2014-11-25 19:55:44.342255"], ["nonce", "abcd"], ["provider_params", "---\ncustom_canvas_course_id: 1\ncustom_canvas_user_id: 2\ntool_consumer_instance_guid: 123abc\next_roles: student\n"], ["updated_at", "2014-11-25 19:55:44.342255"]]
5506
+  (0.0ms) RELEASE SAVEPOINT active_record_1
5507
+ Processing by LtiProvider::LtiController#consume_launch as HTML
5508
+ Parameters: {"nonce"=>"abcd"}
5509
+ LtiProvider::Launch Load (0.1ms) SELECT "lti_provider_launches".* FROM "lti_provider_launches" WHERE (created_at > '2014-11-25 19:50:44.345490') AND "lti_provider_launches"."nonce" = 'abcd' LIMIT 1
5510
+  (0.0ms) SAVEPOINT active_record_1
5511
+ SQL (0.3ms) DELETE FROM "lti_provider_launches" WHERE "lti_provider_launches"."id" = ? [["id", 1]]
5512
+  (0.0ms) RELEASE SAVEPOINT active_record_1
5513
+ Redirected to http://test.host/
5514
+ Completed 302 Found in 30ms (ActiveRecord: 0.5ms)
5515
+  (0.1ms) SELECT COUNT(*) FROM "lti_provider_launches"
5516
+  (0.7ms) rollback transaction
5517
+  (0.0ms) begin transaction
5518
+  (0.1ms) SAVEPOINT active_record_1
5519
+ SQL (0.3ms) INSERT INTO "lti_provider_launches" ("canvas_url", "created_at", "nonce", "provider_params", "updated_at") VALUES (?, ?, ?, ?, ?) [["canvas_url", "http://canvas"], ["created_at", "2014-11-25 19:55:44.378753"], ["nonce", "abcd"], ["provider_params", "---\ncustom_canvas_course_id: 1\ncustom_canvas_user_id: 2\ntool_consumer_instance_guid: 123abc\next_roles: student\n"], ["updated_at", "2014-11-25 19:55:44.378753"]]
5520
+  (0.0ms) RELEASE SAVEPOINT active_record_1
5521
+ Processing by LtiProvider::LtiController#consume_launch as HTML
5522
+ Parameters: {"nonce"=>"abcd"}
5523
+ LtiProvider::Launch Load (0.1ms) SELECT "lti_provider_launches".* FROM "lti_provider_launches" WHERE (created_at > '2014-11-25 19:50:44.382118') AND "lti_provider_launches"."nonce" = 'abcd' LIMIT 1
5524
+  (0.0ms) SAVEPOINT active_record_1
5525
+ SQL (0.2ms) DELETE FROM "lti_provider_launches" WHERE "lti_provider_launches"."id" = ? [["id", 1]]
5526
+  (0.0ms) RELEASE SAVEPOINT active_record_1
5527
+ Redirected to http://test.host/
5528
+ Completed 302 Found in 2ms (ActiveRecord: 0.4ms)
5529
+  (0.6ms) rollback transaction
5530
+  (0.0ms) begin transaction
5531
+ Processing by LtiProvider::LtiController#launch as HTML
5532
+ Parameters: {"oauth_consumer_key"=>"12345", "oauth_signature_method"=>"HMAC-SHA1", "oauth_timestamp"=>"1416945344", "oauth_nonce"=>"qkjr2snuEmgy37j01QGv3R4POfE4evZkY5QDvbAC7o", "oauth_version"=>"1.0", "custom_canvas_user_id"=>"1", "launch_presentation_return_url"=>"http://test.canvas", "launch_url"=>"http://test.host", "lti_message_type"=>"basic-lti-launch-request", "lti_version"=>"LTI-1p0", "oauth_signature"=>"MJf6bU5jYltvp6M1BOL6i7jlK9M="}
5533
+ Completed 200 OK in 2ms (Views: 0.2ms | ActiveRecord: 0.0ms)
5534
+  (0.1ms) rollback transaction
5535
+  (0.0ms) begin transaction
5536
+ Processing by LtiProvider::LtiController#launch as HTML
5537
+ Parameters: {"oauth_signature_method"=>"HMAC-SHA1", "oauth_timestamp"=>"1416945344", "oauth_nonce"=>"Qnwm8qGIcTLsyM0PNJOT0EtFYbLjcWSRQn7WYu9hE0", "oauth_version"=>"1.0", "custom_canvas_user_id"=>"1", "launch_presentation_return_url"=>"http://test.canvas", "launch_url"=>"http://test.host", "lti_message_type"=>"basic-lti-launch-request", "lti_version"=>"LTI-1p0", "oauth_signature"=>"r8XzLH5iq9HDOr/Mbcf6Oji1YhI="}
5538
+ Completed 200 OK in 1ms (Views: 0.3ms | ActiveRecord: 0.0ms)
5539
+  (0.1ms) rollback transaction
5540
+  (0.0ms) begin transaction
5541
+ Processing by LtiProvider::LtiController#launch as HTML
5542
+ Parameters: {"oauth_consumer_key"=>"12345", "oauth_signature_method"=>"HMAC-SHA1", "oauth_timestamp"=>"1416945344", "oauth_nonce"=>"D2bsTX4WLWncEwPH1TA2AEgDuSl1rdEjvcebQcftVI", "oauth_version"=>"1.0", "custom_canvas_user_id"=>"1", "launch_presentation_return_url"=>"http://test.canvas", "launch_url"=>"http://test.host", "lti_message_type"=>"basic-lti-launch-request", "lti_version"=>"LTI-1p0", "oauth_signature"=>"KqgEpAx+d1crRLgH6jC7oVWdB98="}
5543
+  (0.0ms) SAVEPOINT active_record_1
5544
+ SQL (0.3ms) INSERT INTO "lti_provider_launches" ("canvas_url", "created_at", "nonce", "provider_params", "updated_at") VALUES (?, ?, ?, ?, ?) [["canvas_url", "http://test.canvas"], ["created_at", "2014-11-25 19:55:44.406498"], ["nonce", "D2bsTX4WLWncEwPH1TA2AEgDuSl1rdEjvcebQcftVI"], ["provider_params", "---\nlaunch_presentation_return_url: http://test.canvas\nlti_message_type: basic-lti-launch-request\nlti_version: LTI-1p0\noauth_consumer_key: '12345'\noauth_nonce: D2bsTX4WLWncEwPH1TA2AEgDuSl1rdEjvcebQcftVI\noauth_signature: KqgEpAx+d1crRLgH6jC7oVWdB98=\noauth_signature_method: HMAC-SHA1\noauth_timestamp: '1416945344'\noauth_version: '1.0'\ncustom_canvas_user_id: '1'\n"], ["updated_at", "2014-11-25 19:55:44.406498"]]
5545
+  (0.0ms) RELEASE SAVEPOINT active_record_1
5546
+ Redirected to http://test.host/cookie_test?nonce=D2bsTX4WLWncEwPH1TA2AEgDuSl1rdEjvcebQcftVI
5547
+ Completed 302 Found in 4ms (ActiveRecord: 0.3ms)
5548
+ LtiProvider::Launch Load (0.1ms) SELECT "lti_provider_launches".* FROM "lti_provider_launches" ORDER BY "lti_provider_launches"."id" ASC LIMIT 1
5549
+  (0.4ms) rollback transaction
5550
+  (0.0ms) begin transaction
5551
+ Processing by LtiProvider::LtiController#launch as HTML
5552
+ Parameters: {"oauth_consumer_key"=>"12345", "oauth_signature_method"=>"HMAC-SHA1", "oauth_timestamp"=>"1416945344", "oauth_nonce"=>"ZGPvV4gwXerMzzlENVRfU6RmPM1mrt45rb99TBaE", "oauth_version"=>"1.0", "custom_canvas_user_id"=>"1", "launch_presentation_return_url"=>"http://test.canvas", "launch_url"=>"http://test.host", "lti_message_type"=>"basic-lti-launch-request", "lti_version"=>"LTI-1p0", "oauth_signature"=>"f4XaeXYBH/+moYOlOdFXoQ5gKMA="}
5553
+  (0.0ms) SAVEPOINT active_record_1
5554
+ SQL (0.2ms) INSERT INTO "lti_provider_launches" ("canvas_url", "created_at", "nonce", "provider_params", "updated_at") VALUES (?, ?, ?, ?, ?) [["canvas_url", "http://test.canvas"], ["created_at", "2014-11-25 19:55:44.415862"], ["nonce", "ZGPvV4gwXerMzzlENVRfU6RmPM1mrt45rb99TBaE"], ["provider_params", "---\nlaunch_presentation_return_url: http://test.canvas\nlti_message_type: basic-lti-launch-request\nlti_version: LTI-1p0\noauth_consumer_key: '12345'\noauth_nonce: ZGPvV4gwXerMzzlENVRfU6RmPM1mrt45rb99TBaE\noauth_signature: f4XaeXYBH/+moYOlOdFXoQ5gKMA=\noauth_signature_method: HMAC-SHA1\noauth_timestamp: '1416945344'\noauth_version: '1.0'\ncustom_canvas_user_id: '1'\n"], ["updated_at", "2014-11-25 19:55:44.415862"]]
5555
+  (0.0ms) RELEASE SAVEPOINT active_record_1
5556
+ Redirected to http://test.host/cookie_test?nonce=ZGPvV4gwXerMzzlENVRfU6RmPM1mrt45rb99TBaE
5557
+ Completed 302 Found in 3ms (ActiveRecord: 0.3ms)
5558
+  (0.4ms) rollback transaction