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.
@@ -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