oauth-instructure 0.4.8

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.
Files changed (89) hide show
  1. data/.gemtest +0 -0
  2. data/Gemfile +16 -0
  3. data/Gemfile.lock +47 -0
  4. data/HISTORY +174 -0
  5. data/LICENSE +20 -0
  6. data/README.rdoc +75 -0
  7. data/Rakefile +37 -0
  8. data/TODO +32 -0
  9. data/bin/oauth +5 -0
  10. data/examples/yql.rb +44 -0
  11. data/lib/digest/hmac.rb +104 -0
  12. data/lib/oauth.rb +13 -0
  13. data/lib/oauth/cli.rb +378 -0
  14. data/lib/oauth/client.rb +4 -0
  15. data/lib/oauth/client/action_pack.rb +9 -0
  16. data/lib/oauth/client/em_http.rb +120 -0
  17. data/lib/oauth/client/helper.rb +91 -0
  18. data/lib/oauth/client/net_http.rb +120 -0
  19. data/lib/oauth/consumer.rb +389 -0
  20. data/lib/oauth/core_ext.rb +31 -0
  21. data/lib/oauth/errors.rb +3 -0
  22. data/lib/oauth/errors/error.rb +4 -0
  23. data/lib/oauth/errors/problem.rb +14 -0
  24. data/lib/oauth/errors/unauthorized.rb +12 -0
  25. data/lib/oauth/helper.rb +109 -0
  26. data/lib/oauth/oauth.rb +13 -0
  27. data/lib/oauth/oauth_test_helper.rb +25 -0
  28. data/lib/oauth/request_proxy.rb +24 -0
  29. data/lib/oauth/request_proxy/action_controller_request.rb +116 -0
  30. data/lib/oauth/request_proxy/action_dispatch_request.rb +113 -0
  31. data/lib/oauth/request_proxy/base.rb +174 -0
  32. data/lib/oauth/request_proxy/curb_request.rb +55 -0
  33. data/lib/oauth/request_proxy/em_http_request.rb +66 -0
  34. data/lib/oauth/request_proxy/jabber_request.rb +41 -0
  35. data/lib/oauth/request_proxy/mock_request.rb +44 -0
  36. data/lib/oauth/request_proxy/net_http.rb +73 -0
  37. data/lib/oauth/request_proxy/rack_request.rb +44 -0
  38. data/lib/oauth/request_proxy/typhoeus_request.rb +53 -0
  39. data/lib/oauth/server.rb +66 -0
  40. data/lib/oauth/signature.rb +45 -0
  41. data/lib/oauth/signature/base.rb +110 -0
  42. data/lib/oauth/signature/hmac/base.rb +15 -0
  43. data/lib/oauth/signature/hmac/md5.rb +8 -0
  44. data/lib/oauth/signature/hmac/rmd160.rb +8 -0
  45. data/lib/oauth/signature/hmac/sha1.rb +9 -0
  46. data/lib/oauth/signature/hmac/sha2.rb +8 -0
  47. data/lib/oauth/signature/md5.rb +13 -0
  48. data/lib/oauth/signature/plaintext.rb +23 -0
  49. data/lib/oauth/signature/rsa/sha1.rb +46 -0
  50. data/lib/oauth/signature/sha1.rb +13 -0
  51. data/lib/oauth/token.rb +7 -0
  52. data/lib/oauth/tokens/access_token.rb +71 -0
  53. data/lib/oauth/tokens/consumer_token.rb +33 -0
  54. data/lib/oauth/tokens/request_token.rb +32 -0
  55. data/lib/oauth/tokens/server_token.rb +9 -0
  56. data/lib/oauth/tokens/token.rb +17 -0
  57. data/oauth.gemspec +148 -0
  58. data/tasks/deployment.rake +34 -0
  59. data/tasks/environment.rake +7 -0
  60. data/tasks/website.rake +17 -0
  61. data/test/cases/oauth_case.rb +19 -0
  62. data/test/cases/spec/1_0-final/test_construct_request_url.rb +62 -0
  63. data/test/cases/spec/1_0-final/test_normalize_request_parameters.rb +88 -0
  64. data/test/cases/spec/1_0-final/test_parameter_encodings.rb +86 -0
  65. data/test/cases/spec/1_0-final/test_signature_base_strings.rb +77 -0
  66. data/test/integration/consumer_test.rb +307 -0
  67. data/test/keys/rsa.cert +11 -0
  68. data/test/keys/rsa.pem +16 -0
  69. data/test/test_access_token.rb +26 -0
  70. data/test/test_action_controller_request_proxy.rb +133 -0
  71. data/test/test_consumer.rb +220 -0
  72. data/test/test_curb_request_proxy.rb +77 -0
  73. data/test/test_em_http_client.rb +80 -0
  74. data/test/test_em_http_request_proxy.rb +115 -0
  75. data/test/test_helper.rb +28 -0
  76. data/test/test_hmac_sha1.rb +20 -0
  77. data/test/test_net_http_client.rb +292 -0
  78. data/test/test_net_http_request_proxy.rb +72 -0
  79. data/test/test_oauth_helper.rb +94 -0
  80. data/test/test_rack_request_proxy.rb +40 -0
  81. data/test/test_request_token.rb +51 -0
  82. data/test/test_rsa_sha1.rb +59 -0
  83. data/test/test_server.rb +40 -0
  84. data/test/test_signature.rb +22 -0
  85. data/test/test_signature_base.rb +32 -0
  86. data/test/test_signature_plain_text.rb +31 -0
  87. data/test/test_token.rb +14 -0
  88. data/test/test_typhoeus_request_proxy.rb +80 -0
  89. metadata +274 -0
@@ -0,0 +1,14 @@
1
+ require File.expand_path('../test_helper', __FILE__)
2
+ require 'oauth/token'
3
+
4
+ class TestToken < Test::Unit::TestCase
5
+
6
+ def setup
7
+ end
8
+
9
+ def test_token_constructor_produces_valid_token
10
+ token = OAuth::Token.new('xyz', '123')
11
+ assert_equal 'xyz', token.token
12
+ assert_equal '123', token.secret
13
+ end
14
+ end
@@ -0,0 +1,80 @@
1
+ require File.expand_path('../test_helper', __FILE__)
2
+
3
+ begin
4
+
5
+ require 'oauth/request_proxy/typhoeus_request'
6
+ require 'typhoeus'
7
+
8
+ class TyphoeusRequestProxyTest < Test::Unit::TestCase
9
+
10
+ def test_that_proxy_simple_get_request_works
11
+ request = ::Typhoeus::Request.new('/test?key=value')
12
+ request_proxy = OAuth::RequestProxy.proxy(request, {:uri => 'http://example.com/test?key=value'})
13
+
14
+ expected_parameters = {'key' => ['value']}
15
+ assert_equal expected_parameters, request_proxy.parameters_for_signature
16
+ assert_equal 'http://example.com/test', request_proxy.normalized_uri
17
+ assert_equal 'GET', request_proxy.method
18
+ end
19
+
20
+ def test_that_proxy_simple_post_request_works_with_arguments
21
+ request = Typhoeus::Request.new('/test', :method => :post)
22
+ params = {'key' => 'value'}
23
+ request_proxy = OAuth::RequestProxy.proxy(request, {:uri => 'http://example.com/test', :parameters => params})
24
+
25
+ expected_parameters = {'key' => 'value'}
26
+ assert_equal expected_parameters, request_proxy.parameters_for_signature
27
+ assert_equal 'http://example.com/test', request_proxy.normalized_uri
28
+ assert_equal 'POST', request_proxy.method
29
+ end
30
+
31
+ def test_that_proxy_simple_post_request_works_with_form_data
32
+ request = Typhoeus::Request.new('/test', :method => :post,
33
+ :params => {'key' => 'value'},
34
+ :headers => {'Content-Type' => 'application/x-www-form-urlencoded'})
35
+ request_proxy = OAuth::RequestProxy.proxy(request, {:uri => 'http://example.com/test'})
36
+
37
+ expected_parameters = {'key' => 'value'}
38
+ assert_equal expected_parameters, request_proxy.parameters_for_signature
39
+ assert_equal 'http://example.com/test', request_proxy.normalized_uri
40
+ assert_equal 'POST', request_proxy.method
41
+ end
42
+
43
+ def test_that_proxy_simple_put_request_works_with_arguments
44
+ request = Typhoeus::Request.new('/test', :method => :put)
45
+ params = {'key' => 'value'}
46
+ request_proxy = OAuth::RequestProxy.proxy(request, {:uri => 'http://example.com/test', :parameters => params})
47
+
48
+ expected_parameters = {'key' => 'value'}
49
+ assert_equal expected_parameters, request_proxy.parameters_for_signature
50
+ assert_equal 'http://example.com/test', request_proxy.normalized_uri
51
+ assert_equal 'PUT', request_proxy.method
52
+ end
53
+
54
+ def test_that_proxy_simple_put_request_works_with_form_data
55
+ request = Typhoeus::Request.new('/test', :method => :put, :params => {'key' => 'value'})
56
+ request_proxy = OAuth::RequestProxy.proxy(request, {:uri => 'http://example.com/test'})
57
+
58
+ expected_parameters = {'key' => ['value']}
59
+ assert_equal expected_parameters, request_proxy.parameters_for_signature
60
+ assert_equal 'http://example.com/test', request_proxy.normalized_uri
61
+ assert_equal 'PUT', request_proxy.method
62
+ end
63
+
64
+ def test_that_proxy_post_request_works_with_mixed_parameter_sources
65
+ request = Typhoeus::Request.new('/test?key=value',
66
+ :method => :post,
67
+ :params => {'key2' => 'value2'},
68
+ :headers => {'Content-Type' => 'application/x-www-form-urlencoded'})
69
+ request_proxy = OAuth::RequestProxy.proxy(request, {:uri => 'http://example.com/test?key=value', :parameters => {'key3' => 'value3'}})
70
+
71
+ expected_parameters = {'key' => ['value'], 'key2' => 'value2', 'key3' => 'value3'}
72
+ assert_equal expected_parameters, request_proxy.parameters_for_signature
73
+ assert_equal 'http://example.com/test', request_proxy.normalized_uri
74
+ assert_equal 'POST', request_proxy.method
75
+ end
76
+ end
77
+
78
+ rescue LoadError => e
79
+ warn "! problem loading typhoeus, skipping these tests: #{e}"
80
+ end
metadata ADDED
@@ -0,0 +1,274 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: oauth-instructure
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.4.8
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - Pelle Braendgaard
9
+ - Blaine Cook
10
+ - Larry Halff
11
+ - Jesse Clark
12
+ - Jon Crosby
13
+ - Seth Fitzsimmons
14
+ - Matt Sanford
15
+ - Aaron Quint
16
+ autorequire:
17
+ bindir: bin
18
+ cert_chain: []
19
+ date: 2013-03-25 00:00:00.000000000 Z
20
+ dependencies:
21
+ - !ruby/object:Gem::Dependency
22
+ name: rake
23
+ requirement: !ruby/object:Gem::Requirement
24
+ none: false
25
+ requirements:
26
+ - - ! '>='
27
+ - !ruby/object:Gem::Version
28
+ version: '0'
29
+ type: :development
30
+ prerelease: false
31
+ version_requirements: !ruby/object:Gem::Requirement
32
+ none: false
33
+ requirements:
34
+ - - ! '>='
35
+ - !ruby/object:Gem::Version
36
+ version: '0'
37
+ - !ruby/object:Gem::Dependency
38
+ name: jeweler
39
+ requirement: !ruby/object:Gem::Requirement
40
+ none: false
41
+ requirements:
42
+ - - ! '>='
43
+ - !ruby/object:Gem::Version
44
+ version: '0'
45
+ type: :development
46
+ prerelease: false
47
+ version_requirements: !ruby/object:Gem::Requirement
48
+ none: false
49
+ requirements:
50
+ - - ! '>='
51
+ - !ruby/object:Gem::Version
52
+ version: '0'
53
+ - !ruby/object:Gem::Dependency
54
+ name: actionpack
55
+ requirement: !ruby/object:Gem::Requirement
56
+ none: false
57
+ requirements:
58
+ - - ! '>='
59
+ - !ruby/object:Gem::Version
60
+ version: 2.3.5
61
+ type: :development
62
+ prerelease: false
63
+ version_requirements: !ruby/object:Gem::Requirement
64
+ none: false
65
+ requirements:
66
+ - - ! '>='
67
+ - !ruby/object:Gem::Version
68
+ version: 2.3.5
69
+ - !ruby/object:Gem::Dependency
70
+ name: rack
71
+ requirement: !ruby/object:Gem::Requirement
72
+ none: false
73
+ requirements:
74
+ - - ! '>='
75
+ - !ruby/object:Gem::Version
76
+ version: 1.0.0
77
+ type: :development
78
+ prerelease: false
79
+ version_requirements: !ruby/object:Gem::Requirement
80
+ none: false
81
+ requirements:
82
+ - - ! '>='
83
+ - !ruby/object:Gem::Version
84
+ version: 1.0.0
85
+ - !ruby/object:Gem::Dependency
86
+ name: mocha
87
+ requirement: !ruby/object:Gem::Requirement
88
+ none: false
89
+ requirements:
90
+ - - ! '>='
91
+ - !ruby/object:Gem::Version
92
+ version: 0.9.8
93
+ type: :development
94
+ prerelease: false
95
+ version_requirements: !ruby/object:Gem::Requirement
96
+ none: false
97
+ requirements:
98
+ - - ! '>='
99
+ - !ruby/object:Gem::Version
100
+ version: 0.9.8
101
+ - !ruby/object:Gem::Dependency
102
+ name: typhoeus
103
+ requirement: !ruby/object:Gem::Requirement
104
+ none: false
105
+ requirements:
106
+ - - ! '>='
107
+ - !ruby/object:Gem::Version
108
+ version: 0.1.13
109
+ type: :development
110
+ prerelease: false
111
+ version_requirements: !ruby/object:Gem::Requirement
112
+ none: false
113
+ requirements:
114
+ - - ! '>='
115
+ - !ruby/object:Gem::Version
116
+ version: 0.1.13
117
+ - !ruby/object:Gem::Dependency
118
+ name: em-http-request
119
+ requirement: !ruby/object:Gem::Requirement
120
+ none: false
121
+ requirements:
122
+ - - ! '>='
123
+ - !ruby/object:Gem::Version
124
+ version: 0.2.10
125
+ type: :development
126
+ prerelease: false
127
+ version_requirements: !ruby/object:Gem::Requirement
128
+ none: false
129
+ requirements:
130
+ - - ! '>='
131
+ - !ruby/object:Gem::Version
132
+ version: 0.2.10
133
+ - !ruby/object:Gem::Dependency
134
+ name: curb
135
+ requirement: !ruby/object:Gem::Requirement
136
+ none: false
137
+ requirements:
138
+ - - ! '>='
139
+ - !ruby/object:Gem::Version
140
+ version: 0.6.6.0
141
+ type: :development
142
+ prerelease: false
143
+ version_requirements: !ruby/object:Gem::Requirement
144
+ none: false
145
+ requirements:
146
+ - - ! '>='
147
+ - !ruby/object:Gem::Version
148
+ version: 0.6.6.0
149
+ description: OAuth Core Ruby implementation
150
+ email: oauth-ruby@googlegroups.com
151
+ executables:
152
+ - oauth
153
+ extensions: []
154
+ extra_rdoc_files:
155
+ - LICENSE
156
+ - README.rdoc
157
+ - TODO
158
+ files:
159
+ - .gemtest
160
+ - Gemfile
161
+ - Gemfile.lock
162
+ - HISTORY
163
+ - LICENSE
164
+ - README.rdoc
165
+ - Rakefile
166
+ - TODO
167
+ - bin/oauth
168
+ - examples/yql.rb
169
+ - lib/digest/hmac.rb
170
+ - lib/oauth.rb
171
+ - lib/oauth/cli.rb
172
+ - lib/oauth/client.rb
173
+ - lib/oauth/client/action_pack.rb
174
+ - lib/oauth/client/em_http.rb
175
+ - lib/oauth/client/helper.rb
176
+ - lib/oauth/client/net_http.rb
177
+ - lib/oauth/consumer.rb
178
+ - lib/oauth/core_ext.rb
179
+ - lib/oauth/errors.rb
180
+ - lib/oauth/errors/error.rb
181
+ - lib/oauth/errors/problem.rb
182
+ - lib/oauth/errors/unauthorized.rb
183
+ - lib/oauth/helper.rb
184
+ - lib/oauth/oauth.rb
185
+ - lib/oauth/oauth_test_helper.rb
186
+ - lib/oauth/request_proxy.rb
187
+ - lib/oauth/request_proxy/action_controller_request.rb
188
+ - lib/oauth/request_proxy/action_dispatch_request.rb
189
+ - lib/oauth/request_proxy/base.rb
190
+ - lib/oauth/request_proxy/curb_request.rb
191
+ - lib/oauth/request_proxy/em_http_request.rb
192
+ - lib/oauth/request_proxy/jabber_request.rb
193
+ - lib/oauth/request_proxy/mock_request.rb
194
+ - lib/oauth/request_proxy/net_http.rb
195
+ - lib/oauth/request_proxy/rack_request.rb
196
+ - lib/oauth/request_proxy/typhoeus_request.rb
197
+ - lib/oauth/server.rb
198
+ - lib/oauth/signature.rb
199
+ - lib/oauth/signature/base.rb
200
+ - lib/oauth/signature/hmac/base.rb
201
+ - lib/oauth/signature/hmac/md5.rb
202
+ - lib/oauth/signature/hmac/rmd160.rb
203
+ - lib/oauth/signature/hmac/sha1.rb
204
+ - lib/oauth/signature/hmac/sha2.rb
205
+ - lib/oauth/signature/md5.rb
206
+ - lib/oauth/signature/plaintext.rb
207
+ - lib/oauth/signature/rsa/sha1.rb
208
+ - lib/oauth/signature/sha1.rb
209
+ - lib/oauth/token.rb
210
+ - lib/oauth/tokens/access_token.rb
211
+ - lib/oauth/tokens/consumer_token.rb
212
+ - lib/oauth/tokens/request_token.rb
213
+ - lib/oauth/tokens/server_token.rb
214
+ - lib/oauth/tokens/token.rb
215
+ - oauth.gemspec
216
+ - tasks/deployment.rake
217
+ - tasks/environment.rake
218
+ - tasks/website.rake
219
+ - test/cases/oauth_case.rb
220
+ - test/cases/spec/1_0-final/test_construct_request_url.rb
221
+ - test/cases/spec/1_0-final/test_normalize_request_parameters.rb
222
+ - test/cases/spec/1_0-final/test_parameter_encodings.rb
223
+ - test/cases/spec/1_0-final/test_signature_base_strings.rb
224
+ - test/integration/consumer_test.rb
225
+ - test/keys/rsa.cert
226
+ - test/keys/rsa.pem
227
+ - test/test_access_token.rb
228
+ - test/test_action_controller_request_proxy.rb
229
+ - test/test_consumer.rb
230
+ - test/test_curb_request_proxy.rb
231
+ - test/test_em_http_client.rb
232
+ - test/test_em_http_request_proxy.rb
233
+ - test/test_helper.rb
234
+ - test/test_hmac_sha1.rb
235
+ - test/test_net_http_client.rb
236
+ - test/test_net_http_request_proxy.rb
237
+ - test/test_oauth_helper.rb
238
+ - test/test_rack_request_proxy.rb
239
+ - test/test_request_token.rb
240
+ - test/test_rsa_sha1.rb
241
+ - test/test_server.rb
242
+ - test/test_signature.rb
243
+ - test/test_signature_base.rb
244
+ - test/test_signature_plain_text.rb
245
+ - test/test_token.rb
246
+ - test/test_typhoeus_request_proxy.rb
247
+ homepage:
248
+ licenses: []
249
+ post_install_message:
250
+ rdoc_options: []
251
+ require_paths:
252
+ - lib
253
+ required_ruby_version: !ruby/object:Gem::Requirement
254
+ none: false
255
+ requirements:
256
+ - - ! '>='
257
+ - !ruby/object:Gem::Version
258
+ version: '0'
259
+ segments:
260
+ - 0
261
+ hash: 1456497045957978304
262
+ required_rubygems_version: !ruby/object:Gem::Requirement
263
+ none: false
264
+ requirements:
265
+ - - ! '>='
266
+ - !ruby/object:Gem::Version
267
+ version: '0'
268
+ requirements: []
269
+ rubyforge_project: oauth
270
+ rubygems_version: 1.8.23
271
+ signing_key:
272
+ specification_version: 3
273
+ summary: OAuth Core Ruby implementation
274
+ test_files: []