sorcery 0.1.4 → 0.2.0

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.

Potentially problematic release.


This version of sorcery might be problematic. Click here for more details.

Files changed (65) hide show
  1. data/Gemfile +4 -2
  2. data/Gemfile.lock +16 -13
  3. data/README.rdoc +28 -27
  4. data/Rakefile +5 -0
  5. data/VERSION +1 -1
  6. data/lib/sorcery.rb +12 -0
  7. data/lib/sorcery/controller.rb +29 -17
  8. data/lib/sorcery/controller/submodules/activity_logging.rb +20 -7
  9. data/lib/sorcery/controller/submodules/brute_force_protection.rb +9 -2
  10. data/lib/sorcery/controller/submodules/http_basic_auth.rb +8 -3
  11. data/lib/sorcery/controller/submodules/oauth.rb +95 -0
  12. data/lib/sorcery/controller/submodules/oauth/oauth1.rb +25 -0
  13. data/lib/sorcery/controller/submodules/oauth/oauth2.rb +23 -0
  14. data/lib/sorcery/controller/submodules/oauth/providers/facebook.rb +64 -0
  15. data/lib/sorcery/controller/submodules/oauth/providers/twitter.rb +61 -0
  16. data/lib/sorcery/controller/submodules/remember_me.rb +14 -5
  17. data/lib/sorcery/controller/submodules/session_timeout.rb +6 -1
  18. data/lib/sorcery/engine.rb +9 -2
  19. data/lib/sorcery/model.rb +10 -3
  20. data/lib/sorcery/model/submodules/activity_logging.rb +12 -7
  21. data/lib/sorcery/model/submodules/brute_force_protection.rb +11 -4
  22. data/lib/sorcery/model/submodules/oauth.rb +53 -0
  23. data/lib/sorcery/model/submodules/remember_me.rb +5 -3
  24. data/lib/sorcery/model/submodules/reset_password.rb +16 -13
  25. data/lib/sorcery/model/submodules/user_activation.rb +38 -19
  26. data/lib/sorcery/model/temporary_token.rb +22 -0
  27. data/lib/sorcery/test_helpers.rb +84 -0
  28. data/sorcery.gemspec +69 -40
  29. data/spec/Gemfile +3 -2
  30. data/spec/Gemfile.lock +15 -2
  31. data/spec/rails3/app_root/.rspec +1 -0
  32. data/spec/rails3/{Gemfile → app_root/Gemfile} +5 -3
  33. data/spec/rails3/{Gemfile.lock → app_root/Gemfile.lock} +25 -2
  34. data/spec/rails3/{Rakefile → app_root/Rakefile} +0 -0
  35. data/spec/rails3/app_root/app/controllers/application_controller.rb +42 -1
  36. data/spec/rails3/app_root/app/models/authentication.rb +3 -0
  37. data/spec/rails3/app_root/app/models/user.rb +4 -1
  38. data/spec/rails3/app_root/config/application.rb +1 -3
  39. data/spec/rails3/app_root/config/routes.rb +1 -10
  40. data/spec/rails3/app_root/db/migrate/activation/20101224223622_add_activation_to_users.rb +6 -4
  41. data/spec/rails3/app_root/db/migrate/core/20101224223620_create_users.rb +4 -4
  42. data/spec/rails3/app_root/db/migrate/oauth/20101224223628_create_authentications.rb +14 -0
  43. data/spec/rails3/{controller_activity_logging_spec.rb → app_root/spec/controller_activity_logging_spec.rb} +13 -13
  44. data/spec/rails3/{controller_brute_force_protection_spec.rb → app_root/spec/controller_brute_force_protection_spec.rb} +16 -6
  45. data/spec/rails3/{controller_http_basic_auth_spec.rb → app_root/spec/controller_http_basic_auth_spec.rb} +3 -3
  46. data/spec/rails3/app_root/spec/controller_oauth2_spec.rb +117 -0
  47. data/spec/rails3/app_root/spec/controller_oauth_spec.rb +117 -0
  48. data/spec/rails3/{controller_remember_me_spec.rb → app_root/spec/controller_remember_me_spec.rb} +4 -4
  49. data/spec/rails3/{controller_session_timeout_spec.rb → app_root/spec/controller_session_timeout_spec.rb} +4 -4
  50. data/spec/rails3/{controller_spec.rb → app_root/spec/controller_spec.rb} +20 -13
  51. data/spec/rails3/app_root/spec/spec_helper.orig.rb +27 -0
  52. data/spec/rails3/app_root/spec/spec_helper.rb +61 -0
  53. data/spec/rails3/{user_activation_spec.rb → app_root/spec/user_activation_spec.rb} +60 -20
  54. data/spec/rails3/{user_activity_logging_spec.rb → app_root/spec/user_activity_logging_spec.rb} +4 -4
  55. data/spec/rails3/{user_brute_force_protection_spec.rb → app_root/spec/user_brute_force_protection_spec.rb} +7 -7
  56. data/spec/rails3/app_root/spec/user_oauth_spec.rb +39 -0
  57. data/spec/rails3/{user_remember_me_spec.rb → app_root/spec/user_remember_me_spec.rb} +4 -4
  58. data/spec/rails3/{user_reset_password_spec.rb → app_root/spec/user_reset_password_spec.rb} +21 -41
  59. data/spec/rails3/{user_spec.rb → app_root/spec/user_spec.rb} +68 -38
  60. metadata +127 -58
  61. data/spec/rails3/app_root/test/fixtures/users.yml +0 -9
  62. data/spec/rails3/app_root/test/performance/browsing_test.rb +0 -9
  63. data/spec/rails3/app_root/test/test_helper.rb +0 -13
  64. data/spec/rails3/app_root/test/unit/user_test.rb +0 -8
  65. data/spec/rails3/spec_helper.rb +0 -135
metadata CHANGED
@@ -2,7 +2,7 @@
2
2
  name: sorcery
3
3
  version: !ruby/object:Gem::Version
4
4
  prerelease:
5
- version: 0.1.4
5
+ version: 0.2.0
6
6
  platform: ruby
7
7
  authors:
8
8
  - Noam Ben Ari
@@ -10,7 +10,7 @@ autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
12
 
13
- date: 2011-02-19 00:00:00 +02:00
13
+ date: 2011-03-13 00:00:00 +02:00
14
14
  default_executable:
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
@@ -21,12 +21,45 @@ dependencies:
21
21
  - - ">="
22
22
  - !ruby/object:Gem::Version
23
23
  version: 3.0.0
24
- type: :development
24
+ type: :runtime
25
25
  prerelease: false
26
26
  version_requirements: *id001
27
27
  - !ruby/object:Gem::Dependency
28
- name: rspec
28
+ name: json
29
29
  requirement: &id002 !ruby/object:Gem::Requirement
30
+ none: false
31
+ requirements:
32
+ - - ">="
33
+ - !ruby/object:Gem::Version
34
+ version: 1.5.1
35
+ type: :runtime
36
+ prerelease: false
37
+ version_requirements: *id002
38
+ - !ruby/object:Gem::Dependency
39
+ name: oauth
40
+ requirement: &id003 !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ">="
44
+ - !ruby/object:Gem::Version
45
+ version: 0.4.4
46
+ type: :runtime
47
+ prerelease: false
48
+ version_requirements: *id003
49
+ - !ruby/object:Gem::Dependency
50
+ name: oauth2
51
+ requirement: &id004 !ruby/object:Gem::Requirement
52
+ none: false
53
+ requirements:
54
+ - - ">="
55
+ - !ruby/object:Gem::Version
56
+ version: 0.1.1
57
+ type: :runtime
58
+ prerelease: false
59
+ version_requirements: *id004
60
+ - !ruby/object:Gem::Dependency
61
+ name: rspec
62
+ requirement: &id005 !ruby/object:Gem::Requirement
30
63
  none: false
31
64
  requirements:
32
65
  - - ~>
@@ -34,10 +67,10 @@ dependencies:
34
67
  version: 2.3.0
35
68
  type: :development
36
69
  prerelease: false
37
- version_requirements: *id002
70
+ version_requirements: *id005
38
71
  - !ruby/object:Gem::Dependency
39
72
  name: rspec-rails
40
- requirement: &id003 !ruby/object:Gem::Requirement
73
+ requirement: &id006 !ruby/object:Gem::Requirement
41
74
  none: false
42
75
  requirements:
43
76
  - - ">="
@@ -45,10 +78,10 @@ dependencies:
45
78
  version: "0"
46
79
  type: :development
47
80
  prerelease: false
48
- version_requirements: *id003
81
+ version_requirements: *id006
49
82
  - !ruby/object:Gem::Dependency
50
83
  name: ruby-debug19
51
- requirement: &id004 !ruby/object:Gem::Requirement
84
+ requirement: &id007 !ruby/object:Gem::Requirement
52
85
  none: false
53
86
  requirements:
54
87
  - - ">="
@@ -56,10 +89,10 @@ dependencies:
56
89
  version: "0"
57
90
  type: :development
58
91
  prerelease: false
59
- version_requirements: *id004
92
+ version_requirements: *id007
60
93
  - !ruby/object:Gem::Dependency
61
94
  name: sqlite3-ruby
62
- requirement: &id005 !ruby/object:Gem::Requirement
95
+ requirement: &id008 !ruby/object:Gem::Requirement
63
96
  none: false
64
97
  requirements:
65
98
  - - ">="
@@ -67,10 +100,10 @@ dependencies:
67
100
  version: "0"
68
101
  type: :development
69
102
  prerelease: false
70
- version_requirements: *id005
103
+ version_requirements: *id008
71
104
  - !ruby/object:Gem::Dependency
72
105
  name: yard
73
- requirement: &id006 !ruby/object:Gem::Requirement
106
+ requirement: &id009 !ruby/object:Gem::Requirement
74
107
  none: false
75
108
  requirements:
76
109
  - - ~>
@@ -78,10 +111,10 @@ dependencies:
78
111
  version: 0.6.0
79
112
  type: :development
80
113
  prerelease: false
81
- version_requirements: *id006
114
+ version_requirements: *id009
82
115
  - !ruby/object:Gem::Dependency
83
116
  name: bundler
84
- requirement: &id007 !ruby/object:Gem::Requirement
117
+ requirement: &id010 !ruby/object:Gem::Requirement
85
118
  none: false
86
119
  requirements:
87
120
  - - ~>
@@ -89,10 +122,10 @@ dependencies:
89
122
  version: 1.0.0
90
123
  type: :development
91
124
  prerelease: false
92
- version_requirements: *id007
125
+ version_requirements: *id010
93
126
  - !ruby/object:Gem::Dependency
94
127
  name: jeweler
95
- requirement: &id008 !ruby/object:Gem::Requirement
128
+ requirement: &id011 !ruby/object:Gem::Requirement
96
129
  none: false
97
130
  requirements:
98
131
  - - ~>
@@ -100,10 +133,10 @@ dependencies:
100
133
  version: 1.5.2
101
134
  type: :development
102
135
  prerelease: false
103
- version_requirements: *id008
136
+ version_requirements: *id011
104
137
  - !ruby/object:Gem::Dependency
105
138
  name: simplecov
106
- requirement: &id009 !ruby/object:Gem::Requirement
139
+ requirement: &id012 !ruby/object:Gem::Requirement
107
140
  none: false
108
141
  requirements:
109
142
  - - ">="
@@ -111,10 +144,10 @@ dependencies:
111
144
  version: 0.3.8
112
145
  type: :development
113
146
  prerelease: false
114
- version_requirements: *id009
147
+ version_requirements: *id012
115
148
  - !ruby/object:Gem::Dependency
116
149
  name: bcrypt-ruby
117
- requirement: &id010 !ruby/object:Gem::Requirement
150
+ requirement: &id013 !ruby/object:Gem::Requirement
118
151
  none: false
119
152
  requirements:
120
153
  - - ~>
@@ -122,7 +155,29 @@ dependencies:
122
155
  version: 2.1.4
123
156
  type: :runtime
124
157
  prerelease: false
125
- version_requirements: *id010
158
+ version_requirements: *id013
159
+ - !ruby/object:Gem::Dependency
160
+ name: oauth
161
+ requirement: &id014 !ruby/object:Gem::Requirement
162
+ none: false
163
+ requirements:
164
+ - - ">="
165
+ - !ruby/object:Gem::Version
166
+ version: 0.4.4
167
+ type: :runtime
168
+ prerelease: false
169
+ version_requirements: *id014
170
+ - !ruby/object:Gem::Dependency
171
+ name: oauth2
172
+ requirement: &id015 !ruby/object:Gem::Requirement
173
+ none: false
174
+ requirements:
175
+ - - ">="
176
+ - !ruby/object:Gem::Version
177
+ version: 0.1.1
178
+ type: :runtime
179
+ prerelease: false
180
+ version_requirements: *id015
126
181
  description: Provides common authentication needs such as signing in/out, activating by email and resetting password.
127
182
  email: nbenari@gmail.com
128
183
  executables: []
@@ -146,6 +201,11 @@ files:
146
201
  - lib/sorcery/controller/submodules/activity_logging.rb
147
202
  - lib/sorcery/controller/submodules/brute_force_protection.rb
148
203
  - lib/sorcery/controller/submodules/http_basic_auth.rb
204
+ - lib/sorcery/controller/submodules/oauth.rb
205
+ - lib/sorcery/controller/submodules/oauth/oauth1.rb
206
+ - lib/sorcery/controller/submodules/oauth/oauth2.rb
207
+ - lib/sorcery/controller/submodules/oauth/providers/facebook.rb
208
+ - lib/sorcery/controller/submodules/oauth/providers/twitter.rb
149
209
  - lib/sorcery/controller/submodules/remember_me.rb
150
210
  - lib/sorcery/controller/submodules/session_timeout.rb
151
211
  - lib/sorcery/crypto_providers/aes256.rb
@@ -158,23 +218,28 @@ files:
158
218
  - lib/sorcery/model.rb
159
219
  - lib/sorcery/model/submodules/activity_logging.rb
160
220
  - lib/sorcery/model/submodules/brute_force_protection.rb
221
+ - lib/sorcery/model/submodules/oauth.rb
161
222
  - lib/sorcery/model/submodules/remember_me.rb
162
223
  - lib/sorcery/model/submodules/reset_password.rb
163
224
  - lib/sorcery/model/submodules/user_activation.rb
225
+ - lib/sorcery/model/temporary_token.rb
226
+ - lib/sorcery/test_helpers.rb
164
227
  - sorcery.gemspec
165
228
  - spec/Gemfile
166
229
  - spec/Gemfile.lock
167
230
  - spec/Rakefile
168
231
  - spec/rails3/.rspec
169
- - spec/rails3/Gemfile
170
- - spec/rails3/Gemfile.lock
171
- - spec/rails3/Rakefile
172
232
  - spec/rails3/app_root/.gitignore
233
+ - spec/rails3/app_root/.rspec
234
+ - spec/rails3/app_root/Gemfile
235
+ - spec/rails3/app_root/Gemfile.lock
173
236
  - spec/rails3/app_root/README
237
+ - spec/rails3/app_root/Rakefile
174
238
  - spec/rails3/app_root/Rakefile.unused
175
239
  - spec/rails3/app_root/app/controllers/application_controller.rb
176
240
  - spec/rails3/app_root/app/helpers/application_helper.rb
177
241
  - spec/rails3/app_root/app/mailers/sorcery_mailer.rb
242
+ - spec/rails3/app_root/app/models/authentication.rb
178
243
  - spec/rails3/app_root/app/models/user.rb
179
244
  - spec/rails3/app_root/app/views/layouts/application.html.erb
180
245
  - spec/rails3/app_root/app/views/sorcery_mailer/activation_email.html.erb
@@ -203,6 +268,7 @@ files:
203
268
  - spec/rails3/app_root/db/migrate/activity_logging/20101224223624_add_activity_logging_to_users.rb
204
269
  - spec/rails3/app_root/db/migrate/brute_force_protection/20101224223626_add_brute_force_protection_to_users.rb
205
270
  - spec/rails3/app_root/db/migrate/core/20101224223620_create_users.rb
271
+ - spec/rails3/app_root/db/migrate/oauth/20101224223628_create_authentications.rb
206
272
  - spec/rails3/app_root/db/migrate/remember_me/20101224223623_add_remember_me_token_to_users.rb
207
273
  - spec/rails3/app_root/db/migrate/reset_password/20101224223622_add_reset_password_to_users.rb
208
274
  - spec/rails3/app_root/db/schema.rb
@@ -223,24 +289,24 @@ files:
223
289
  - spec/rails3/app_root/public/robots.txt
224
290
  - spec/rails3/app_root/public/stylesheets/.gitkeep
225
291
  - spec/rails3/app_root/script/rails
226
- - spec/rails3/app_root/test/fixtures/users.yml
227
- - spec/rails3/app_root/test/performance/browsing_test.rb
228
- - spec/rails3/app_root/test/test_helper.rb
229
- - spec/rails3/app_root/test/unit/user_test.rb
292
+ - spec/rails3/app_root/spec/controller_activity_logging_spec.rb
293
+ - spec/rails3/app_root/spec/controller_brute_force_protection_spec.rb
294
+ - spec/rails3/app_root/spec/controller_http_basic_auth_spec.rb
295
+ - spec/rails3/app_root/spec/controller_oauth2_spec.rb
296
+ - spec/rails3/app_root/spec/controller_oauth_spec.rb
297
+ - spec/rails3/app_root/spec/controller_remember_me_spec.rb
298
+ - spec/rails3/app_root/spec/controller_session_timeout_spec.rb
299
+ - spec/rails3/app_root/spec/controller_spec.rb
300
+ - spec/rails3/app_root/spec/spec_helper.orig.rb
301
+ - spec/rails3/app_root/spec/spec_helper.rb
302
+ - spec/rails3/app_root/spec/user_activation_spec.rb
303
+ - spec/rails3/app_root/spec/user_activity_logging_spec.rb
304
+ - spec/rails3/app_root/spec/user_brute_force_protection_spec.rb
305
+ - spec/rails3/app_root/spec/user_oauth_spec.rb
306
+ - spec/rails3/app_root/spec/user_remember_me_spec.rb
307
+ - spec/rails3/app_root/spec/user_reset_password_spec.rb
308
+ - spec/rails3/app_root/spec/user_spec.rb
230
309
  - spec/rails3/app_root/vendor/plugins/.gitkeep
231
- - spec/rails3/controller_activity_logging_spec.rb
232
- - spec/rails3/controller_brute_force_protection_spec.rb
233
- - spec/rails3/controller_http_basic_auth_spec.rb
234
- - spec/rails3/controller_remember_me_spec.rb
235
- - spec/rails3/controller_session_timeout_spec.rb
236
- - spec/rails3/controller_spec.rb
237
- - spec/rails3/spec_helper.rb
238
- - spec/rails3/user_activation_spec.rb
239
- - spec/rails3/user_activity_logging_spec.rb
240
- - spec/rails3/user_brute_force_protection_spec.rb
241
- - spec/rails3/user_remember_me_spec.rb
242
- - spec/rails3/user_reset_password_spec.rb
243
- - spec/rails3/user_spec.rb
244
310
  - spec/sorcery_crypto_providers_spec.rb
245
311
  - spec/spec_helper.rb
246
312
  has_rdoc: true
@@ -267,7 +333,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
267
333
  requirements: []
268
334
 
269
335
  rubyforge_project:
270
- rubygems_version: 1.5.0
336
+ rubygems_version: 1.6.2
271
337
  signing_key:
272
338
  specification_version: 3
273
339
  summary: Magical authentication for Rails 3 applications
@@ -275,6 +341,7 @@ test_files:
275
341
  - spec/rails3/app_root/app/controllers/application_controller.rb
276
342
  - spec/rails3/app_root/app/helpers/application_helper.rb
277
343
  - spec/rails3/app_root/app/mailers/sorcery_mailer.rb
344
+ - spec/rails3/app_root/app/models/authentication.rb
278
345
  - spec/rails3/app_root/app/models/user.rb
279
346
  - spec/rails3/app_root/config/application.rb
280
347
  - spec/rails3/app_root/config/boot.rb
@@ -293,25 +360,27 @@ test_files:
293
360
  - spec/rails3/app_root/db/migrate/activity_logging/20101224223624_add_activity_logging_to_users.rb
294
361
  - spec/rails3/app_root/db/migrate/brute_force_protection/20101224223626_add_brute_force_protection_to_users.rb
295
362
  - spec/rails3/app_root/db/migrate/core/20101224223620_create_users.rb
363
+ - spec/rails3/app_root/db/migrate/oauth/20101224223628_create_authentications.rb
296
364
  - spec/rails3/app_root/db/migrate/remember_me/20101224223623_add_remember_me_token_to_users.rb
297
365
  - spec/rails3/app_root/db/migrate/reset_password/20101224223622_add_reset_password_to_users.rb
298
366
  - spec/rails3/app_root/db/schema.rb
299
367
  - spec/rails3/app_root/db/seeds.rb
300
- - spec/rails3/app_root/test/performance/browsing_test.rb
301
- - spec/rails3/app_root/test/test_helper.rb
302
- - spec/rails3/app_root/test/unit/user_test.rb
303
- - spec/rails3/controller_activity_logging_spec.rb
304
- - spec/rails3/controller_brute_force_protection_spec.rb
305
- - spec/rails3/controller_http_basic_auth_spec.rb
306
- - spec/rails3/controller_remember_me_spec.rb
307
- - spec/rails3/controller_session_timeout_spec.rb
308
- - spec/rails3/controller_spec.rb
309
- - spec/rails3/spec_helper.rb
310
- - spec/rails3/user_activation_spec.rb
311
- - spec/rails3/user_activity_logging_spec.rb
312
- - spec/rails3/user_brute_force_protection_spec.rb
313
- - spec/rails3/user_remember_me_spec.rb
314
- - spec/rails3/user_reset_password_spec.rb
315
- - spec/rails3/user_spec.rb
368
+ - spec/rails3/app_root/spec/controller_activity_logging_spec.rb
369
+ - spec/rails3/app_root/spec/controller_brute_force_protection_spec.rb
370
+ - spec/rails3/app_root/spec/controller_http_basic_auth_spec.rb
371
+ - spec/rails3/app_root/spec/controller_oauth2_spec.rb
372
+ - spec/rails3/app_root/spec/controller_oauth_spec.rb
373
+ - spec/rails3/app_root/spec/controller_remember_me_spec.rb
374
+ - spec/rails3/app_root/spec/controller_session_timeout_spec.rb
375
+ - spec/rails3/app_root/spec/controller_spec.rb
376
+ - spec/rails3/app_root/spec/spec_helper.orig.rb
377
+ - spec/rails3/app_root/spec/spec_helper.rb
378
+ - spec/rails3/app_root/spec/user_activation_spec.rb
379
+ - spec/rails3/app_root/spec/user_activity_logging_spec.rb
380
+ - spec/rails3/app_root/spec/user_brute_force_protection_spec.rb
381
+ - spec/rails3/app_root/spec/user_oauth_spec.rb
382
+ - spec/rails3/app_root/spec/user_remember_me_spec.rb
383
+ - spec/rails3/app_root/spec/user_reset_password_spec.rb
384
+ - spec/rails3/app_root/spec/user_spec.rb
316
385
  - spec/sorcery_crypto_providers_spec.rb
317
386
  - spec/spec_helper.rb
@@ -1,9 +0,0 @@
1
- # Read about fixtures at http://ar.rubyonrails.org/classes/Fixtures.html
2
-
3
- one:
4
- email: MyString
5
- crypted_password: MyString
6
-
7
- two:
8
- email: MyString
9
- crypted_password: MyString
@@ -1,9 +0,0 @@
1
- require 'test_helper'
2
- require 'rails/performance_test_help'
3
-
4
- # Profiling results for each test method are written to tmp/performance.
5
- class BrowsingTest < ActionDispatch::PerformanceTest
6
- def test_homepage
7
- get '/'
8
- end
9
- end
@@ -1,13 +0,0 @@
1
- ENV["RAILS_ENV"] = "test"
2
- require File.expand_path('../../config/environment', __FILE__)
3
- require 'rails/test_help'
4
-
5
- class ActiveSupport::TestCase
6
- # Setup all fixtures in test/fixtures/*.(yml|csv) for all tests in alphabetical order.
7
- #
8
- # Note: You'll currently still have to declare fixtures explicitly in integration tests
9
- # -- they do not yet inherit this setting
10
- fixtures :all
11
-
12
- # Add more helper methods to be used by all tests here...
13
- end
@@ -1,8 +0,0 @@
1
- require 'test_helper'
2
-
3
- class UserTest < ActiveSupport::TestCase
4
- # Replace this with your real tests.
5
- test "the truth" do
6
- assert true
7
- end
8
- end
@@ -1,135 +0,0 @@
1
- $: << File.join(File.dirname(__FILE__), '..', '..', 'lib' )
2
-
3
- # require 'simplecov'
4
- # SimpleCov.root File.join(File.dirname(__FILE__), "app_root" )
5
- # SimpleCov.start do
6
- # add_filter "/config/"
7
- #
8
- # add_group 'Controllers', 'app/controllers'
9
- # add_group 'Models', 'app/models'
10
- # add_group 'Helpers', 'app/helpers'
11
- # add_group 'Libraries', 'lib'
12
- # add_group 'Plugins', 'vendor/plugins'
13
- # add_group 'Migrations', 'db/migrate'
14
- # end
15
-
16
- # Set the default environment to sqlite3's in_memory database
17
- ENV['RAILS_ENV'] ||= 'in_memory'
18
- ENV['RAILS_ROOT'] = 'app_root'
19
-
20
- # Load the Rails environment and testing framework
21
- require "#{File.dirname(__FILE__)}/app_root/config/environment"
22
- #require "#{File.dirname(__FILE__)}/../../init" # for plugins
23
- require 'rspec/rails'
24
- #require 'sorcery'
25
-
26
- # Undo changes to RAILS_ENV
27
- silence_warnings {RAILS_ENV = ENV['RAILS_ENV']}
28
-
29
- RSpec.configure do |config|
30
- config.use_transactional_fixtures = true
31
- config.use_instantiated_fixtures = false
32
- config.include RSpec::Rails::ControllerExampleGroup, :example_group => { :file_path => /controller(.)*_spec.rb$/ }#:file_path => /\bspec[\\\/]controllers[\\\/]/ }
33
-
34
- config.before(:suite) do
35
- ActiveRecord::Migrator.migrate("#{Rails.root}/db/migrate/core")
36
- end
37
-
38
- config.after(:suite) do
39
- ActiveRecord::Migrator.rollback("#{Rails.root}/db/migrate/core")
40
- end
41
- end
42
-
43
- #----------------------------------------------------------------
44
- # needed when running individual specs
45
- require File.join(File.dirname(__FILE__), 'app_root','app','models','user')
46
-
47
- class TestUser < ActiveRecord::Base
48
- activate_sorcery!
49
- end
50
-
51
- class TestMailer < ActionMailer::Base
52
-
53
- end
54
-
55
- module Sorcery
56
- module Model
57
- module Submodules
58
- module TestSubmodule
59
- def my_instance_method
60
- end
61
- end
62
- end
63
- end
64
- end
65
-
66
- SUBMODUELS_AUTO_ADDED_CONTROLLER_FILTERS = [:register_last_activity_time_to_db, :deny_banned_user, :validate_session]
67
-
68
- def create_new_user(attributes_hash = nil)
69
- user_attributes_hash = attributes_hash || {:username => 'gizmo', :email => "bla@bla.com", :password => 'secret'}
70
- @user = User.new(user_attributes_hash)
71
- @user.save!
72
- @user
73
- end
74
-
75
- def login_user(user = nil)
76
- user ||= @user
77
- subject.send(:login_user,user)
78
- subject.send(:after_login!,user,[user.username,'secret'])
79
- end
80
-
81
- def logout_user
82
- subject.send(:logout)
83
- end
84
-
85
- def clear_user_without_logout
86
- subject.instance_variable_set(:@logged_in_user,nil)
87
- end
88
-
89
- # TODO: rename to sorcery_reload!(subs = [], model_opts = {}, controller_opts = {})
90
- def plugin_model_configure(submodules = [], options = {})
91
- reload_user_class
92
-
93
- # return to no-module configuration
94
- ::Sorcery::Controller::Config.init!
95
- ::Sorcery::Controller::Config.reset!
96
-
97
- # remove all plugin before_filters so they won't fail other tests.
98
- # I don't like this way, but I didn't find another.
99
- # hopefully it won't break until Rails 4.
100
- ApplicationController._process_action_callbacks.delete_if {|c| SUBMODUELS_AUTO_ADDED_CONTROLLER_FILTERS.include?(c.filter) }
101
-
102
- # configure
103
- ::Sorcery::Controller::Config.submodules = submodules
104
- ::Sorcery::Controller::Config.user_class = nil # the next line will reset it to User
105
- ActionController::Base.send(:include,::Sorcery::Controller)
106
-
107
- User.activate_sorcery! do |config|
108
- options.each do |property,value|
109
- config.send(:"#{property}=", value)
110
- end
111
- end
112
- end
113
-
114
- # TODO: rename to sorcery_model_property_set(prop, val)
115
- def plugin_set_model_config_property(property, *values)
116
- User.class_eval do
117
- sorcery_config.send(:"#{property}=", *values)
118
- end
119
- end
120
-
121
- # TODO: rename to sorcery_controller_property_set(prop, val)
122
- def plugin_set_controller_config_property(property, value)
123
- ApplicationController.activate_sorcery! do |config|
124
- config.send(:"#{property}=", value)
125
- end
126
- end
127
-
128
- private
129
-
130
- # reload user class between specs
131
- # so it will be possible to test the different submodules in isolation
132
- def reload_user_class
133
- Object.send(:remove_const,:User)
134
- load 'user.rb'
135
- end