lti_provider_engine 0.0.3 → 0.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -8,15 +8,15 @@ describe LtiProvider::Launch do
8
8
  l
9
9
  end
10
10
 
11
- it { should validate_presence_of :canvas_url }
12
- it { should validate_presence_of :nonce }
13
- it { should validate_presence_of :provider_params }
11
+ it { is_expected.to validate_presence_of :canvas_url }
12
+ it { is_expected.to validate_presence_of :nonce }
13
+ it { is_expected.to validate_presence_of :provider_params }
14
14
  end
15
15
 
16
16
  describe ".initialize_from_request" do
17
17
  let(:provider) do
18
18
  p = double('provider')
19
- p.stub(
19
+ allow(p).to receive_messages(
20
20
  to_params: {
21
21
  'custom_canvas_course_id' => 1,
22
22
  'custom_canvas_user_id' => 2,
@@ -34,18 +34,18 @@ describe LtiProvider::Launch do
34
34
 
35
35
  let(:request) do
36
36
  r = double('request')
37
- r.stub(env: {'HTTP_REFERER' => "http://example.com"})
37
+ allow(r).to receive_messages(env: {'HTTP_REFERER' => "http://example.com"})
38
38
  r
39
39
  end
40
40
 
41
41
  subject(:launch) { LtiProvider::Launch.initialize_from_request(provider, request) }
42
42
 
43
- its(:course_id) { should == 1 }
44
- its(:tool_consumer_instance_guid) { should == '123abc' }
45
- its(:user_id) { should == 2 }
46
- its(:nonce) { should == 'nonce' }
47
- its(:account_id) { should be_nil }
48
- its(:canvas_url) { should == 'http://example.com' }
43
+ its(:course_id) { is_expected.to eq 1 }
44
+ its(:tool_consumer_instance_guid) { is_expected.to eq '123abc' }
45
+ its(:user_id) { is_expected.to eq 2 }
46
+ its(:nonce) { is_expected.to eq 'nonce' }
47
+ its(:account_id) { is_expected.to be_nil }
48
+ its(:canvas_url) { is_expected.to eq 'http://example.com' }
49
49
  end
50
50
 
51
51
  describe "xml_config" do
@@ -54,22 +54,22 @@ describe LtiProvider::Launch do
54
54
 
55
55
  subject(:xml) { LtiProvider::Launch.xml_config(lti_launch_url) }
56
56
 
57
- it { should match(/\<\?xml/) }
57
+ it { is_expected.to match(/\<\?xml/) }
58
58
 
59
59
  it "includes the launch URL" do
60
- doc.xpath('//blti:launch_url').text.should match lti_launch_url
60
+ expect(doc.xpath('//blti:launch_url').text).to match lti_launch_url
61
61
  end
62
62
 
63
63
  it "includes the course_navigation option and url + text properties" do
64
64
  nav = doc.xpath('//lticm:options[@name="course_navigation"]')
65
- nav.xpath('lticm:property[@name="url"]').text.should == 'http://override.example.com/launch'
66
- nav.xpath('lticm:property[@name="text"]').text.should == "Dummy"
67
- nav.xpath('lticm:property[@name="visibility"]').text.should == "admins"
65
+ expect(nav.xpath('lticm:property[@name="url"]').text).to eq 'http://override.example.com/launch'
66
+ expect(nav.xpath('lticm:property[@name="text"]').text).to eq "Dummy"
67
+ expect(nav.xpath('lticm:property[@name="visibility"]').text).to eq "admins"
68
68
  end
69
69
 
70
70
  it "includes account_navigation" do
71
71
  nav = doc.xpath('//lticm:options[@name="account_navigation"]')
72
- expect(nav).to be
72
+ expect(nav).to be_present
73
73
  end
74
74
 
75
75
  it "includes no user_navigation" do
data/spec/spec_helper.rb CHANGED
@@ -2,7 +2,7 @@
2
2
  ENV["RAILS_ENV"] ||= 'test'
3
3
  require File.expand_path("../dummy/config/environment", __FILE__)
4
4
  require 'rspec/rails'
5
- require 'rspec/autorun'
5
+ require 'rspec/its'
6
6
  require 'webmock/rspec'
7
7
  require 'shoulda/matchers'
8
8
  require 'nokogiri'
@@ -45,6 +45,9 @@ RSpec.configure do |config|
45
45
  # rspec-rails.
46
46
  config.infer_base_class_for_anonymous_controllers = false
47
47
 
48
+ # Automatically infer an example group's spec type from the file location
49
+ config.infer_spec_type_from_file_location!
50
+
48
51
  # Run specs in random order to surface order dependencies. If you find an
49
52
  # order dependency and want to debug it, you can fix the order by providing
50
53
  # the seed, which is printed after each run.
metadata CHANGED
@@ -1,8 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lti_provider_engine
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
5
- prerelease:
4
+ version: 0.0.4
6
5
  platform: ruby
7
6
  authors:
8
7
  - Dave Donahue
@@ -11,28 +10,31 @@ authors:
11
10
  autorequire:
12
11
  bindir: bin
13
12
  cert_chain: []
14
- date: 2014-04-30 00:00:00.000000000 Z
13
+ date: 2014-11-25 00:00:00.000000000 Z
15
14
  dependencies:
16
15
  - !ruby/object:Gem::Dependency
17
16
  name: rails
18
17
  requirement: !ruby/object:Gem::Requirement
19
- none: false
20
18
  requirements:
21
- - - ~>
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
21
+ version: '3.2'
22
+ - - <
22
23
  - !ruby/object:Gem::Version
23
- version: 3.2.12
24
+ version: '4.2'
24
25
  type: :runtime
25
26
  prerelease: false
26
27
  version_requirements: !ruby/object:Gem::Requirement
27
- none: false
28
28
  requirements:
29
- - - ~>
29
+ - - ! '>='
30
+ - !ruby/object:Gem::Version
31
+ version: '3.2'
32
+ - - <
30
33
  - !ruby/object:Gem::Version
31
- version: 3.2.12
34
+ version: '4.2'
32
35
  - !ruby/object:Gem::Dependency
33
36
  name: ims-lti
34
37
  requirement: !ruby/object:Gem::Requirement
35
- none: false
36
38
  requirements:
37
39
  - - '='
38
40
  - !ruby/object:Gem::Version
@@ -40,7 +42,6 @@ dependencies:
40
42
  type: :runtime
41
43
  prerelease: false
42
44
  version_requirements: !ruby/object:Gem::Requirement
43
- none: false
44
45
  requirements:
45
46
  - - '='
46
47
  - !ruby/object:Gem::Version
@@ -48,7 +49,6 @@ dependencies:
48
49
  - !ruby/object:Gem::Dependency
49
50
  name: sqlite3
50
51
  requirement: !ruby/object:Gem::Requirement
51
- none: false
52
52
  requirements:
53
53
  - - ! '>='
54
54
  - !ruby/object:Gem::Version
@@ -56,7 +56,6 @@ dependencies:
56
56
  type: :development
57
57
  prerelease: false
58
58
  version_requirements: !ruby/object:Gem::Requirement
59
- none: false
60
59
  requirements:
61
60
  - - ! '>='
62
61
  - !ruby/object:Gem::Version
@@ -64,7 +63,6 @@ dependencies:
64
63
  - !ruby/object:Gem::Dependency
65
64
  name: nokogiri
66
65
  requirement: !ruby/object:Gem::Requirement
67
- none: false
68
66
  requirements:
69
67
  - - ! '>='
70
68
  - !ruby/object:Gem::Version
@@ -72,7 +70,6 @@ dependencies:
72
70
  type: :development
73
71
  prerelease: false
74
72
  version_requirements: !ruby/object:Gem::Requirement
75
- none: false
76
73
  requirements:
77
74
  - - ! '>='
78
75
  - !ruby/object:Gem::Version
@@ -80,7 +77,6 @@ dependencies:
80
77
  - !ruby/object:Gem::Dependency
81
78
  name: rspec
82
79
  requirement: !ruby/object:Gem::Requirement
83
- none: false
84
80
  requirements:
85
81
  - - ! '>='
86
82
  - !ruby/object:Gem::Version
@@ -88,7 +84,20 @@ dependencies:
88
84
  type: :development
89
85
  prerelease: false
90
86
  version_requirements: !ruby/object:Gem::Requirement
91
- none: false
87
+ requirements:
88
+ - - ! '>='
89
+ - !ruby/object:Gem::Version
90
+ version: '0'
91
+ - !ruby/object:Gem::Dependency
92
+ name: rspec-its
93
+ requirement: !ruby/object:Gem::Requirement
94
+ requirements:
95
+ - - ! '>='
96
+ - !ruby/object:Gem::Version
97
+ version: '0'
98
+ type: :development
99
+ prerelease: false
100
+ version_requirements: !ruby/object:Gem::Requirement
92
101
  requirements:
93
102
  - - ! '>='
94
103
  - !ruby/object:Gem::Version
@@ -96,7 +105,6 @@ dependencies:
96
105
  - !ruby/object:Gem::Dependency
97
106
  name: rspec-rails
98
107
  requirement: !ruby/object:Gem::Requirement
99
- none: false
100
108
  requirements:
101
109
  - - ! '>='
102
110
  - !ruby/object:Gem::Version
@@ -104,7 +112,6 @@ dependencies:
104
112
  type: :development
105
113
  prerelease: false
106
114
  version_requirements: !ruby/object:Gem::Requirement
107
- none: false
108
115
  requirements:
109
116
  - - ! '>='
110
117
  - !ruby/object:Gem::Version
@@ -112,7 +119,6 @@ dependencies:
112
119
  - !ruby/object:Gem::Dependency
113
120
  name: rspec-rails-mocha
114
121
  requirement: !ruby/object:Gem::Requirement
115
- none: false
116
122
  requirements:
117
123
  - - ! '>='
118
124
  - !ruby/object:Gem::Version
@@ -120,7 +126,6 @@ dependencies:
120
126
  type: :development
121
127
  prerelease: false
122
128
  version_requirements: !ruby/object:Gem::Requirement
123
- none: false
124
129
  requirements:
125
130
  - - ! '>='
126
131
  - !ruby/object:Gem::Version
@@ -128,7 +133,6 @@ dependencies:
128
133
  - !ruby/object:Gem::Dependency
129
134
  name: shoulda-matchers
130
135
  requirement: !ruby/object:Gem::Requirement
131
- none: false
132
136
  requirements:
133
137
  - - ! '>='
134
138
  - !ruby/object:Gem::Version
@@ -136,7 +140,6 @@ dependencies:
136
140
  type: :development
137
141
  prerelease: false
138
142
  version_requirements: !ruby/object:Gem::Requirement
139
- none: false
140
143
  requirements:
141
144
  - - ! '>='
142
145
  - !ruby/object:Gem::Version
@@ -144,7 +147,6 @@ dependencies:
144
147
  - !ruby/object:Gem::Dependency
145
148
  name: webmock
146
149
  requirement: !ruby/object:Gem::Requirement
147
- none: false
148
150
  requirements:
149
151
  - - ! '>='
150
152
  - !ruby/object:Gem::Version
@@ -152,7 +154,6 @@ dependencies:
152
154
  type: :development
153
155
  prerelease: false
154
156
  version_requirements: !ruby/object:Gem::Requirement
155
- none: false
156
157
  requirements:
157
158
  - - ! '>='
158
159
  - !ruby/object:Gem::Version
@@ -160,7 +161,6 @@ dependencies:
160
161
  - !ruby/object:Gem::Dependency
161
162
  name: debugger
162
163
  requirement: !ruby/object:Gem::Requirement
163
- none: false
164
164
  requirements:
165
165
  - - ! '>='
166
166
  - !ruby/object:Gem::Version
@@ -168,7 +168,6 @@ dependencies:
168
168
  type: :development
169
169
  prerelease: false
170
170
  version_requirements: !ruby/object:Gem::Requirement
171
- none: false
172
171
  requirements:
173
172
  - - ! '>='
174
173
  - !ruby/object:Gem::Version
@@ -176,7 +175,6 @@ dependencies:
176
175
  - !ruby/object:Gem::Dependency
177
176
  name: guard-rspec
178
177
  requirement: !ruby/object:Gem::Requirement
179
- none: false
180
178
  requirements:
181
179
  - - ! '>='
182
180
  - !ruby/object:Gem::Version
@@ -184,7 +182,6 @@ dependencies:
184
182
  type: :development
185
183
  prerelease: false
186
184
  version_requirements: !ruby/object:Gem::Requirement
187
- none: false
188
185
  requirements:
189
186
  - - ! '>='
190
187
  - !ruby/object:Gem::Version
@@ -192,7 +189,6 @@ dependencies:
192
189
  - !ruby/object:Gem::Dependency
193
190
  name: rb-fsevent
194
191
  requirement: !ruby/object:Gem::Requirement
195
- none: false
196
192
  requirements:
197
193
  - - ! '>='
198
194
  - !ruby/object:Gem::Version
@@ -200,7 +196,6 @@ dependencies:
200
196
  type: :development
201
197
  prerelease: false
202
198
  version_requirements: !ruby/object:Gem::Requirement
203
- none: false
204
199
  requirements:
205
200
  - - ! '>='
206
201
  - !ruby/object:Gem::Version
@@ -213,6 +208,9 @@ executables: []
213
208
  extensions: []
214
209
  extra_rdoc_files: []
215
210
  files:
211
+ - MIT-LICENSE
212
+ - README.md
213
+ - Rakefile
216
214
  - app/controllers/lti_provider/application_controller.rb
217
215
  - app/controllers/lti_provider/lti_controller.rb
218
216
  - app/models/lti_provider/launch.rb
@@ -222,6 +220,7 @@ files:
222
220
  - config/lti_xml.yml.example
223
221
  - config/routes.rb
224
222
  - db/migrate/20130319050003_create_lti_provider_launches.rb
223
+ - lib/lti_provider.rb
225
224
  - lib/lti_provider/config.rb
226
225
  - lib/lti_provider/engine.rb
227
226
  - lib/lti_provider/lti_application.rb
@@ -229,14 +228,12 @@ files:
229
228
  - lib/lti_provider/lti_xml_config.rb
230
229
  - lib/lti_provider/version.rb
231
230
  - lib/lti_provider/xml_config.rb
232
- - lib/lti_provider.rb
233
231
  - lib/tasks/lti_provider_tasks.rake
234
- - MIT-LICENSE
235
- - Rakefile
236
- - README.md
237
232
  - spec/controllers/lti_provider/lti_controller_spec.rb
233
+ - spec/dummy/Rakefile
238
234
  - spec/dummy/app/controllers/application_controller.rb
239
235
  - spec/dummy/app/controllers/welcome_controller.rb
236
+ - spec/dummy/config.ru
240
237
  - spec/dummy/config/application.rb
241
238
  - spec/dummy/config/boot.rb
242
239
  - spec/dummy/config/cucumber.yml
@@ -255,46 +252,41 @@ files:
255
252
  - spec/dummy/config/lti.yml
256
253
  - spec/dummy/config/lti_xml.yml
257
254
  - spec/dummy/config/routes.rb
258
- - spec/dummy/config.ru
259
- - spec/dummy/db/development.sqlite3
260
255
  - spec/dummy/db/migrate/20130319050206_create_lti_provider_launches.lti_provider.rb
261
256
  - spec/dummy/db/schema.rb
262
257
  - spec/dummy/db/test.sqlite3
263
- - spec/dummy/log/development.log
264
258
  - spec/dummy/log/test.log
265
259
  - spec/dummy/public/404.html
266
260
  - spec/dummy/public/422.html
267
261
  - spec/dummy/public/500.html
268
262
  - spec/dummy/public/favicon.ico
269
263
  - spec/dummy/public/robots.txt
270
- - spec/dummy/Rakefile
271
264
  - spec/dummy/script/rails
272
265
  - spec/models/lti_provider/launch_spec.rb
273
266
  - spec/spec_helper.rb
274
267
  homepage: https://github.com/instructure/lti_provider_engine
275
268
  licenses:
276
269
  - MIT
270
+ metadata: {}
277
271
  post_install_message:
278
272
  rdoc_options: []
279
273
  require_paths:
280
274
  - lib
281
275
  required_ruby_version: !ruby/object:Gem::Requirement
282
- none: false
283
276
  requirements:
284
277
  - - ! '>='
285
278
  - !ruby/object:Gem::Version
286
279
  version: '0'
287
280
  required_rubygems_version: !ruby/object:Gem::Requirement
288
- none: false
289
281
  requirements:
290
282
  - - ! '>='
291
283
  - !ruby/object:Gem::Version
292
284
  version: '0'
293
285
  requirements: []
294
286
  rubyforge_project:
295
- rubygems_version: 1.8.23
287
+ rubygems_version: 2.4.1
296
288
  signing_key:
297
- specification_version: 3
289
+ specification_version: 4
298
290
  summary: LtiProvider is a mountable engine for handling the LTI launch and exposing
299
291
  LTI parameters in your rails app.
300
292
  test_files:
@@ -320,11 +312,9 @@ test_files:
320
312
  - spec/dummy/config/lti_xml.yml
321
313
  - spec/dummy/config/routes.rb
322
314
  - spec/dummy/config.ru
323
- - spec/dummy/db/development.sqlite3
324
315
  - spec/dummy/db/migrate/20130319050206_create_lti_provider_launches.lti_provider.rb
325
316
  - spec/dummy/db/schema.rb
326
317
  - spec/dummy/db/test.sqlite3
327
- - spec/dummy/log/development.log
328
318
  - spec/dummy/log/test.log
329
319
  - spec/dummy/public/404.html
330
320
  - spec/dummy/public/422.html
Binary file
@@ -1,266 +0,0 @@
1
- Initializing LTI key and secret using configuration in /Users/simonista/Instructure/lti_provider_engine/spec/dummy/config/lti.yml
2
- Initializing LTI key and secret using configuration in /Users/simonista/Instructure/lti_provider_engine/spec/dummy/config/lti.yml
3
- Initializing LTI key and secret using configuration in /Users/simonista/Instructure/lti_provider_engine/spec/dummy/config/lti.yml
4
-
5
-
6
- Started GET "/" for 127.0.0.1 at 2013-09-26 16:49:23 -0600
7
- Connecting to database specified by database.yml
8
- Processing by WelcomeController#index as HTML
9
- Rendered text template (0.0ms)
10
- Filter chain halted as :require_lti_launch rendered or redirected
11
- Completed 200 OK in 11ms (Views: 10.7ms | ActiveRecord: 0.0ms)
12
-
13
-
14
- Started GET "/favicon.ico" for 127.0.0.1 at 2013-09-26 16:49:24 -0600
15
-
16
- ActionController::RoutingError (No route matches [GET] "/favicon.ico"):
17
- actionpack (3.2.14) lib/action_dispatch/middleware/debug_exceptions.rb:21:in `call'
18
- actionpack (3.2.14) lib/action_dispatch/middleware/show_exceptions.rb:56:in `call'
19
- railties (3.2.14) lib/rails/rack/logger.rb:32:in `call_app'
20
- railties (3.2.14) lib/rails/rack/logger.rb:16:in `block in call'
21
- activesupport (3.2.14) lib/active_support/tagged_logging.rb:22:in `tagged'
22
- railties (3.2.14) lib/rails/rack/logger.rb:16:in `call'
23
- actionpack (3.2.14) lib/action_dispatch/middleware/request_id.rb:22:in `call'
24
- rack (1.4.5) lib/rack/methodoverride.rb:21:in `call'
25
- rack (1.4.5) lib/rack/runtime.rb:17:in `call'
26
- activesupport (3.2.14) lib/active_support/cache/strategy/local_cache.rb:72:in `call'
27
- rack (1.4.5) lib/rack/lock.rb:15:in `call'
28
- actionpack (3.2.14) lib/action_dispatch/middleware/static.rb:63:in `call'
29
- railties (3.2.14) lib/rails/engine.rb:484:in `call'
30
- railties (3.2.14) lib/rails/application.rb:231:in `call'
31
- rack (1.4.5) lib/rack/content_length.rb:14:in `call'
32
- railties (3.2.14) lib/rails/rack/log_tailer.rb:17:in `call'
33
- rack (1.4.5) lib/rack/handler/webrick.rb:59:in `service'
34
- /Users/simonista/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/webrick/httpserver.rb:138:in `service'
35
- /Users/simonista/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/webrick/httpserver.rb:94:in `run'
36
- /Users/simonista/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/webrick/server.rb:191:in `block in start_thread'
37
-
38
-
39
- Rendered /Users/simonista/Instructure/lti_provider_engine/.bundle/gems/ruby/1.9.1/gems/actionpack-3.2.14/lib/action_dispatch/middleware/templates/rescues/routing_error.erb within rescues/layout (7.6ms)
40
- Initializing LTI key and secret using configuration in /Users/simonista/Instructure/lti_provider_engine/spec/dummy/config/lti.yml
41
-
42
-
43
- Started GET "/" for 127.0.0.1 at 2013-09-26 16:51:37 -0600
44
- Connecting to database specified by database.yml
45
- Processing by WelcomeController#index as HTML
46
- Rendered text template (0.0ms)
47
- Filter chain halted as :require_lti_launch rendered or redirected
48
- Completed 200 OK in 8ms (Views: 7.6ms | ActiveRecord: 0.0ms)
49
-
50
-
51
- Started GET "/configure.xml" for 127.0.0.1 at 2013-09-26 16:52:19 -0600
52
-
53
- ActionController::RoutingError (No route matches [GET] "/configure.xml"):
54
- actionpack (3.2.14) lib/action_dispatch/middleware/debug_exceptions.rb:21:in `call'
55
- actionpack (3.2.14) lib/action_dispatch/middleware/show_exceptions.rb:56:in `call'
56
- railties (3.2.14) lib/rails/rack/logger.rb:32:in `call_app'
57
- railties (3.2.14) lib/rails/rack/logger.rb:16:in `block in call'
58
- activesupport (3.2.14) lib/active_support/tagged_logging.rb:22:in `tagged'
59
- railties (3.2.14) lib/rails/rack/logger.rb:16:in `call'
60
- actionpack (3.2.14) lib/action_dispatch/middleware/request_id.rb:22:in `call'
61
- rack (1.4.5) lib/rack/methodoverride.rb:21:in `call'
62
- rack (1.4.5) lib/rack/runtime.rb:17:in `call'
63
- activesupport (3.2.14) lib/active_support/cache/strategy/local_cache.rb:72:in `call'
64
- rack (1.4.5) lib/rack/lock.rb:15:in `call'
65
- actionpack (3.2.14) lib/action_dispatch/middleware/static.rb:63:in `call'
66
- railties (3.2.14) lib/rails/engine.rb:484:in `call'
67
- railties (3.2.14) lib/rails/application.rb:231:in `call'
68
- rack (1.4.5) lib/rack/content_length.rb:14:in `call'
69
- railties (3.2.14) lib/rails/rack/log_tailer.rb:17:in `call'
70
- rack (1.4.5) lib/rack/handler/webrick.rb:59:in `service'
71
- /Users/simonista/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/webrick/httpserver.rb:138:in `service'
72
- /Users/simonista/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/webrick/httpserver.rb:94:in `run'
73
- /Users/simonista/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/webrick/server.rb:191:in `block in start_thread'
74
-
75
-
76
- Rendered /Users/simonista/Instructure/lti_provider_engine/.bundle/gems/ruby/1.9.1/gems/actionpack-3.2.14/lib/action_dispatch/middleware/templates/rescues/routing_error.erb within rescues/layout (2.2ms)
77
- Initializing LTI key and secret using configuration in /Users/simonista/Instructure/lti_provider_engine/spec/dummy/config/lti.yml
78
-
79
-
80
- Started GET "/configure.xml" for 127.0.0.1 at 2013-09-26 16:54:03 -0600
81
- Connecting to database specified by database.yml
82
- Processing by LtiProvider::LtiController#configure as XML
83
- Completed 200 OK in 6ms (Views: 0.1ms | ActiveRecord: 0.0ms)
84
-
85
-
86
- Started GET "/" for 127.0.0.1 at 2013-09-26 16:54:06 -0600
87
- Processing by WelcomeController#index as HTML
88
- Rendered text template (0.0ms)
89
- Filter chain halted as :require_lti_launch rendered or redirected
90
- Completed 200 OK in 8ms (Views: 7.7ms | ActiveRecord: 0.0ms)
91
- Initializing LTI key and secret using configuration in /Users/simonista/Instructure/lti_provider_engine/spec/dummy/config/lti.yml
92
-
93
-
94
- Started GET "/configure.xml" for 127.0.0.1 at 2013-09-26 16:58:05 -0600
95
- Connecting to database specified by database.yml
96
- Processing by LtiProvider::LtiController#configure as XML
97
- Completed 200 OK in 6ms (Views: 0.1ms | ActiveRecord: 0.0ms)
98
-
99
-
100
- Started GET "/configure.xml" for 127.0.0.1 at 2013-09-26 16:58:05 -0600
101
- Processing by LtiProvider::LtiController#configure as XML
102
- Completed 200 OK in 1ms (Views: 0.1ms | ActiveRecord: 0.0ms)
103
-
104
-
105
- Started GET "/configure.xml" for 127.0.0.1 at 2013-09-26 16:58:06 -0600
106
- Processing by LtiProvider::LtiController#configure as XML
107
- Completed 200 OK in 1ms (Views: 0.1ms | ActiveRecord: 0.0ms)
108
-
109
-
110
- Started GET "/configure.xml" for 127.0.0.1 at 2013-09-26 16:58:06 -0600
111
- Processing by LtiProvider::LtiController#configure as XML
112
- Completed 200 OK in 2ms (Views: 0.1ms | ActiveRecord: 0.0ms)
113
-
114
-
115
- Started POST "/launch" for 127.0.0.1 at 2013-09-26 16:58:21 -0600
116
- Processing by LtiProvider::LtiController#launch as HTML
117
- Parameters: {"oauth_consumer_key"=>"12345", "oauth_signature_method"=>"HMAC-SHA1", "oauth_timestamp"=>"1380236301", "oauth_nonce"=>"qlwqKi8SUQPVsmCT2JajtxlnbRqo5RZKIQxB10QOKjc", "oauth_version"=>"1.0", "context_id"=>"4029f7e861f63ccd8b8b604cccf5acc4fde74d8a", "context_label"=>"Testing", "context_title"=>"Testing Course", "custom_canvas_api_domain"=>"localhost", "custom_canvas_course_id"=>"2", "custom_canvas_enrollment_state"=>"active", "custom_canvas_user_id"=>"1", "custom_canvas_user_login_id"=>"simon@instructure.com", "launch_presentation_document_target"=>"iframe", "launch_presentation_height"=>"400", "launch_presentation_locale"=>"en", "launch_presentation_return_url"=>"http://localhost:3000/courses/2", "launch_presentation_width"=>"800", "lis_person_contact_email_primary"=>"simon@instructure.com", "lis_person_name_family"=>"", "lis_person_name_full"=>"simon@instructure.com", "lis_person_name_given"=>"simon@instructure.com", "lti_message_type"=>"basic-lti-launch-request", "lti_version"=>"LTI-1p0", "oauth_callback"=>"about:blank", "resource_link_id"=>"4029f7e861f63ccd8b8b604cccf5acc4fde74d8a", "resource_link_title"=>"LTI Provider", "roles"=>"Instructor,urn:lti:instrole:ims/lis/Administrator", "tool_consumer_info_product_family_code"=>"canvas", "tool_consumer_info_version"=>"cloud", "tool_consumer_instance_contact_email"=>"notifications@unknowndomain.example.com", "tool_consumer_instance_guid"=>"82ef4c4479c3a07a02d4396f95097507af448ed6.localhost:3000", "tool_consumer_instance_name"=>"Simon Development", "user_id"=>"5a6e3f44886dc7294b61ae391c216f9d16b7cda8", "user_image"=>"https://secure.gravatar.com/avatar/2284bced4cd86cf65cec3876a9021b5c?s=50&d=http%3A%2F%2Fcanvas.instructure.com%3A3000%2Fimages%2Fmessages%2Favatar-50.png", "oauth_signature"=>"YacWb4/XrJwobCLgz2w5e8koj0Y="}
118
- Completed 500 Internal Server Error in 35ms
119
-
120
- ActiveRecord::StatementInvalid (Could not find table 'lti_provider_launches'):
121
- activerecord (3.2.14) lib/active_record/connection_adapters/sqlite_adapter.rb:472:in `table_structure'
122
- activerecord (3.2.14) lib/active_record/connection_adapters/sqlite_adapter.rb:346:in `columns'
123
- activerecord (3.2.14) lib/active_record/connection_adapters/schema_cache.rb:12:in `block in initialize'
124
- activerecord (3.2.14) lib/active_record/model_schema.rb:229:in `yield'
125
- activerecord (3.2.14) lib/active_record/model_schema.rb:229:in `default'
126
- activerecord (3.2.14) lib/active_record/model_schema.rb:229:in `columns'
127
- activerecord (3.2.14) lib/active_record/model_schema.rb:244:in `column_defaults'
128
- activerecord (3.2.14) lib/active_record/base.rb:482:in `initialize'
129
- /Users/simonista/Instructure/lti_provider_engine/app/models/lti_provider/launch.rb:12:in `new'
130
- /Users/simonista/Instructure/lti_provider_engine/app/models/lti_provider/launch.rb:12:in `initialize_from_request'
131
- /Users/simonista/Instructure/lti_provider_engine/app/controllers/lti_provider/lti_controller.rb:9:in `launch'
132
- actionpack (3.2.14) lib/action_controller/metal/implicit_render.rb:4:in `send_action'
133
- actionpack (3.2.14) lib/abstract_controller/base.rb:167:in `process_action'
134
- actionpack (3.2.14) lib/action_controller/metal/rendering.rb:10:in `process_action'
135
- actionpack (3.2.14) lib/abstract_controller/callbacks.rb:18:in `block in process_action'
136
- activesupport (3.2.14) lib/active_support/callbacks.rb:403:in `_run__2020360029404163652__process_action__1422311094428903085__callbacks'
137
- activesupport (3.2.14) lib/active_support/callbacks.rb:405:in `__run_callback'
138
- activesupport (3.2.14) lib/active_support/callbacks.rb:385:in `_run_process_action_callbacks'
139
- activesupport (3.2.14) lib/active_support/callbacks.rb:81:in `run_callbacks'
140
- actionpack (3.2.14) lib/abstract_controller/callbacks.rb:17:in `process_action'
141
- actionpack (3.2.14) lib/action_controller/metal/rescue.rb:29:in `process_action'
142
- actionpack (3.2.14) lib/action_controller/metal/instrumentation.rb:30:in `block in process_action'
143
- activesupport (3.2.14) lib/active_support/notifications.rb:123:in `block in instrument'
144
- activesupport (3.2.14) lib/active_support/notifications/instrumenter.rb:20:in `instrument'
145
- activesupport (3.2.14) lib/active_support/notifications.rb:123:in `instrument'
146
- actionpack (3.2.14) lib/action_controller/metal/instrumentation.rb:29:in `process_action'
147
- actionpack (3.2.14) lib/action_controller/metal/params_wrapper.rb:207:in `process_action'
148
- activerecord (3.2.14) lib/active_record/railties/controller_runtime.rb:18:in `process_action'
149
- actionpack (3.2.14) lib/abstract_controller/base.rb:121:in `process'
150
- actionpack (3.2.14) lib/abstract_controller/rendering.rb:45:in `process'
151
- actionpack (3.2.14) lib/action_controller/metal.rb:203:in `dispatch'
152
- actionpack (3.2.14) lib/action_controller/metal/rack_delegation.rb:14:in `dispatch'
153
- actionpack (3.2.14) lib/action_controller/metal.rb:246:in `block in action'
154
- actionpack (3.2.14) lib/action_dispatch/routing/route_set.rb:73:in `call'
155
- actionpack (3.2.14) lib/action_dispatch/routing/route_set.rb:73:in `dispatch'
156
- actionpack (3.2.14) lib/action_dispatch/routing/route_set.rb:36:in `call'
157
- journey (1.0.4) lib/journey/router.rb:68:in `block in call'
158
- journey (1.0.4) lib/journey/router.rb:56:in `each'
159
- journey (1.0.4) lib/journey/router.rb:56:in `call'
160
- actionpack (3.2.14) lib/action_dispatch/routing/route_set.rb:608:in `call'
161
- railties (3.2.14) lib/rails/engine.rb:484:in `call'
162
- railties (3.2.14) lib/rails/railtie/configurable.rb:30:in `method_missing'
163
- journey (1.0.4) lib/journey/router.rb:68:in `block in call'
164
- journey (1.0.4) lib/journey/router.rb:56:in `each'
165
- journey (1.0.4) lib/journey/router.rb:56:in `call'
166
- actionpack (3.2.14) lib/action_dispatch/routing/route_set.rb:608:in `call'
167
- actionpack (3.2.14) lib/action_dispatch/middleware/best_standards_support.rb:17:in `call'
168
- rack (1.4.5) lib/rack/etag.rb:23:in `call'
169
- rack (1.4.5) lib/rack/conditionalget.rb:35:in `call'
170
- actionpack (3.2.14) lib/action_dispatch/middleware/head.rb:14:in `call'
171
- actionpack (3.2.14) lib/action_dispatch/middleware/params_parser.rb:21:in `call'
172
- actionpack (3.2.14) lib/action_dispatch/middleware/flash.rb:242:in `call'
173
- rack (1.4.5) lib/rack/session/abstract/id.rb:210:in `context'
174
- rack (1.4.5) lib/rack/session/abstract/id.rb:205:in `call'
175
- actionpack (3.2.14) lib/action_dispatch/middleware/cookies.rb:341:in `call'
176
- activerecord (3.2.14) lib/active_record/query_cache.rb:64:in `call'
177
- activerecord (3.2.14) lib/active_record/connection_adapters/abstract/connection_pool.rb:479:in `call'
178
- actionpack (3.2.14) lib/action_dispatch/middleware/callbacks.rb:28:in `block in call'
179
- activesupport (3.2.14) lib/active_support/callbacks.rb:405:in `_run__2358984166821573666__call__534996777588375431__callbacks'
180
- activesupport (3.2.14) lib/active_support/callbacks.rb:405:in `__run_callback'
181
- activesupport (3.2.14) lib/active_support/callbacks.rb:385:in `_run_call_callbacks'
182
- activesupport (3.2.14) lib/active_support/callbacks.rb:81:in `run_callbacks'
183
- actionpack (3.2.14) lib/action_dispatch/middleware/callbacks.rb:27:in `call'
184
- actionpack (3.2.14) lib/action_dispatch/middleware/reloader.rb:65:in `call'
185
- actionpack (3.2.14) lib/action_dispatch/middleware/remote_ip.rb:31:in `call'
186
- actionpack (3.2.14) lib/action_dispatch/middleware/debug_exceptions.rb:16:in `call'
187
- actionpack (3.2.14) lib/action_dispatch/middleware/show_exceptions.rb:56:in `call'
188
- railties (3.2.14) lib/rails/rack/logger.rb:32:in `call_app'
189
- railties (3.2.14) lib/rails/rack/logger.rb:16:in `block in call'
190
- activesupport (3.2.14) lib/active_support/tagged_logging.rb:22:in `tagged'
191
- railties (3.2.14) lib/rails/rack/logger.rb:16:in `call'
192
- actionpack (3.2.14) lib/action_dispatch/middleware/request_id.rb:22:in `call'
193
- rack (1.4.5) lib/rack/methodoverride.rb:21:in `call'
194
- rack (1.4.5) lib/rack/runtime.rb:17:in `call'
195
- activesupport (3.2.14) lib/active_support/cache/strategy/local_cache.rb:72:in `call'
196
- rack (1.4.5) lib/rack/lock.rb:15:in `call'
197
- actionpack (3.2.14) lib/action_dispatch/middleware/static.rb:63:in `call'
198
- railties (3.2.14) lib/rails/engine.rb:484:in `call'
199
- railties (3.2.14) lib/rails/application.rb:231:in `call'
200
- rack (1.4.5) lib/rack/content_length.rb:14:in `call'
201
- railties (3.2.14) lib/rails/rack/log_tailer.rb:17:in `call'
202
- rack (1.4.5) lib/rack/handler/webrick.rb:59:in `service'
203
- /Users/simonista/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/webrick/httpserver.rb:138:in `service'
204
- /Users/simonista/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/webrick/httpserver.rb:94:in `run'
205
- /Users/simonista/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/webrick/server.rb:191:in `block in start_thread'
206
-
207
-
208
- Rendered /Users/simonista/Instructure/lti_provider_engine/.bundle/gems/ruby/1.9.1/gems/actionpack-3.2.14/lib/action_dispatch/middleware/templates/rescues/_trace.erb (2.1ms)
209
- Rendered /Users/simonista/Instructure/lti_provider_engine/.bundle/gems/ruby/1.9.1/gems/actionpack-3.2.14/lib/action_dispatch/middleware/templates/rescues/_request_and_response.erb (2.0ms)
210
- Rendered /Users/simonista/Instructure/lti_provider_engine/.bundle/gems/ruby/1.9.1/gems/actionpack-3.2.14/lib/action_dispatch/middleware/templates/rescues/diagnostics.erb within rescues/layout (92.9ms)
211
- Connecting to database specified by database.yml
212
- Initializing LTI key and secret using configuration in /Users/simonista/Instructure/lti_provider_engine/spec/dummy/config/lti.yml
213
-  (0.1ms) select sqlite_version(*)
214
-  (3.0ms) CREATE TABLE "schema_migrations" ("version" varchar(255) NOT NULL)
215
-  (1.6ms) CREATE UNIQUE INDEX "unique_schema_migrations" ON "schema_migrations" ("version")
216
-  (0.1ms) SELECT "schema_migrations"."version" FROM "schema_migrations"
217
- Migrating to CreateLtiProviderLaunches (20130319050206)
218
-  (0.0ms) begin transaction
219
-  (0.3ms) CREATE TABLE "lti_provider_launches" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "canvas_url" varchar(255), "nonce" varchar(255), "provider_params" text, "created_at" datetime NOT NULL, "updated_at" datetime NOT NULL)
220
-  (0.1ms) INSERT INTO "schema_migrations" ("version") VALUES ('20130319050206')
221
-  (1.4ms) commit transaction
222
-  (0.1ms) SELECT "schema_migrations"."version" FROM "schema_migrations" 
223
- Initializing LTI key and secret using configuration in /Users/simonista/Instructure/lti_provider_engine/spec/dummy/config/lti.yml
224
-
225
-
226
- Started POST "/launch" for 127.0.0.1 at 2013-09-26 16:59:53 -0600
227
- Connecting to database specified by database.yml
228
- Processing by LtiProvider::LtiController#launch as HTML
229
- Parameters: {"oauth_consumer_key"=>"12345", "oauth_signature_method"=>"HMAC-SHA1", "oauth_timestamp"=>"1380236392", "oauth_nonce"=>"9PriqXcKKPOP7cFUbjNkewYKlxAZLZ8rr6xrIE0i3A", "oauth_version"=>"1.0", "context_id"=>"4029f7e861f63ccd8b8b604cccf5acc4fde74d8a", "context_label"=>"Testing", "context_title"=>"Testing Course", "custom_canvas_api_domain"=>"localhost", "custom_canvas_course_id"=>"2", "custom_canvas_enrollment_state"=>"active", "custom_canvas_user_id"=>"1", "custom_canvas_user_login_id"=>"simon@instructure.com", "launch_presentation_document_target"=>"iframe", "launch_presentation_height"=>"400", "launch_presentation_locale"=>"en", "launch_presentation_return_url"=>"http://localhost:3000/courses/2", "launch_presentation_width"=>"800", "lis_person_contact_email_primary"=>"simon@instructure.com", "lis_person_name_family"=>"", "lis_person_name_full"=>"simon@instructure.com", "lis_person_name_given"=>"simon@instructure.com", "lti_message_type"=>"basic-lti-launch-request", "lti_version"=>"LTI-1p0", "oauth_callback"=>"about:blank", "resource_link_id"=>"4029f7e861f63ccd8b8b604cccf5acc4fde74d8a", "resource_link_title"=>"LTI Provider", "roles"=>"Instructor,urn:lti:instrole:ims/lis/Administrator", "tool_consumer_info_product_family_code"=>"canvas", "tool_consumer_info_version"=>"cloud", "tool_consumer_instance_contact_email"=>"notifications@unknowndomain.example.com", "tool_consumer_instance_guid"=>"82ef4c4479c3a07a02d4396f95097507af448ed6.localhost:3000", "tool_consumer_instance_name"=>"Simon Development", "user_id"=>"5a6e3f44886dc7294b61ae391c216f9d16b7cda8", "user_image"=>"https://secure.gravatar.com/avatar/2284bced4cd86cf65cec3876a9021b5c?s=50&d=http%3A%2F%2Fcanvas.instructure.com%3A3000%2Fimages%2Fmessages%2Favatar-50.png", "oauth_signature"=>"WRLybxwKbHD7N9nxnIxQrDGJ1pI="}
230
-  (0.0ms) begin transaction
231
- SQL (3.8ms) INSERT INTO "lti_provider_launches" ("canvas_url", "created_at", "nonce", "provider_params", "updated_at") VALUES (?, ?, ?, ?, ?) [["canvas_url", "http://localhost:3000"], ["created_at", Thu, 26 Sep 2013 22:59:53 UTC +00:00], ["nonce", "9PriqXcKKPOP7cFUbjNkewYKlxAZLZ8rr6xrIE0i3A"], ["provider_params", "---\ncontext_id: 4029f7e861f63ccd8b8b604cccf5acc4fde74d8a\ncontext_label: Testing\ncontext_title: Testing Course\nlaunch_presentation_document_target: iframe\nlaunch_presentation_height: '400'\nlaunch_presentation_locale: en\nlaunch_presentation_return_url: http://localhost:3000/courses/2\nlaunch_presentation_width: '800'\nlis_person_contact_email_primary: simon@instructure.com\nlis_person_name_family: ''\nlis_person_name_full: simon@instructure.com\nlis_person_name_given: simon@instructure.com\nlti_message_type: basic-lti-launch-request\nlti_version: LTI-1p0\noauth_callback: about:blank\noauth_consumer_key: '12345'\noauth_nonce: 9PriqXcKKPOP7cFUbjNkewYKlxAZLZ8rr6xrIE0i3A\noauth_signature: WRLybxwKbHD7N9nxnIxQrDGJ1pI=\noauth_signature_method: HMAC-SHA1\noauth_timestamp: '1380236392'\noauth_version: '1.0'\nresource_link_id: 4029f7e861f63ccd8b8b604cccf5acc4fde74d8a\nresource_link_title: LTI Provider\nroles: Instructor,Urn:lti:instrole:ims/lis/administrator\ntool_consumer_info_product_family_code: canvas\ntool_consumer_info_version: cloud\ntool_consumer_instance_contact_email: notifications@unknowndomain.example.com\ntool_consumer_instance_guid: 82ef4c4479c3a07a02d4396f95097507af448ed6.localhost:3000\ntool_consumer_instance_name: Simon Development\nuser_id: 5a6e3f44886dc7294b61ae391c216f9d16b7cda8\nuser_image: https://secure.gravatar.com/avatar/2284bced4cd86cf65cec3876a9021b5c?s=50&d=http%3A%2F%2Fcanvas.instructure.com%3A3000%2Fimages%2Fmessages%2Favatar-50.png\ncustom_canvas_api_domain: localhost\ncustom_canvas_course_id: '2'\ncustom_canvas_enrollment_state: active\ncustom_canvas_user_id: '1'\ncustom_canvas_user_login_id: simon@instructure.com\n"], ["updated_at", Thu, 26 Sep 2013 22:59:53 UTC +00:00]]
232
-  (2.1ms) commit transaction
233
- Redirected to http://localhost:3003/cookie_test?nonce=9PriqXcKKPOP7cFUbjNkewYKlxAZLZ8rr6xrIE0i3A
234
- Completed 302 Found in 56ms (ActiveRecord: 7.5ms)
235
-
236
-
237
- Started GET "/cookie_test?nonce=9PriqXcKKPOP7cFUbjNkewYKlxAZLZ8rr6xrIE0i3A" for 127.0.0.1 at 2013-09-26 16:59:53 -0600
238
- Processing by LtiProvider::LtiController#cookie_test as HTML
239
- Parameters: {"nonce"=>"9PriqXcKKPOP7cFUbjNkewYKlxAZLZ8rr6xrIE0i3A"}
240
- LtiProvider::Launch Load (0.2ms) SELECT "lti_provider_launches".* FROM "lti_provider_launches" WHERE "lti_provider_launches"."nonce" = '9PriqXcKKPOP7cFUbjNkewYKlxAZLZ8rr6xrIE0i3A' AND (created_at > '2013-09-26 22:54:53.934606') LIMIT 1
241
-  (0.0ms) begin transaction
242
- SQL (0.3ms) DELETE FROM "lti_provider_launches" WHERE "lti_provider_launches"."id" = ? [["id", 1]]
243
-  (1.6ms) commit transaction
244
- Redirected to http://localhost:3003/
245
- Completed 302 Found in 16ms (ActiveRecord: 2.1ms)
246
-
247
-
248
- Started GET "/" for 127.0.0.1 at 2013-09-26 16:59:53 -0600
249
- Processing by WelcomeController#index as HTML
250
- Rendered text template (0.0ms)
251
- Completed 200 OK in 8ms (Views: 7.8ms | ActiveRecord: 0.0ms)
252
- Connecting to database specified by database.yml
253
- Initializing LTI key and secret using configuration in /Users/simonista/Instructure/lti_provider_engine/spec/dummy/config/lti.yml
254
-  (0.1ms) select sqlite_version(*)
255
-  (1.4ms) CREATE TABLE "schema_migrations" ("version" varchar(255) NOT NULL)
256
-  (1.3ms) CREATE UNIQUE INDEX "unique_schema_migrations" ON "schema_migrations" ("version")
257
-  (0.1ms) SELECT "schema_migrations"."version" FROM "schema_migrations"
258
- Migrating to CreateLtiProviderLaunches (20130319050206)
259
-  (0.0ms) begin transaction
260
-  (0.3ms) CREATE TABLE "lti_provider_launches" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "canvas_url" varchar(255), "nonce" varchar(255), "provider_params" text, "created_at" datetime NOT NULL, "updated_at" datetime NOT NULL)
261
-  (0.1ms) INSERT INTO "schema_migrations" ("version") VALUES ('20130319050206')
262
-  (1.4ms) commit transaction
263
-  (0.1ms) SELECT "schema_migrations"."version" FROM "schema_migrations" 
264
- Initializing LTI key and secret using configuration in /Users/simonista/Instructure/lti_provider_engine/spec/dummy/config/lti.yml
265
- Initializing LTI XML config using configuration in /Users/simonista/Instructure/lti_provider_engine/spec/dummy/config/lti_xml.yml
266
- Connecting to database specified by database.yml