devise 4.3.0 → 4.9.2

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 (259) hide show
  1. checksums.yaml +5 -5
  2. data/CHANGELOG.md +205 -2
  3. data/MIT-LICENSE +2 -1
  4. data/README.md +214 -57
  5. data/app/controllers/devise/confirmations_controller.rb +3 -0
  6. data/app/controllers/devise/omniauth_callbacks_controller.rb +3 -1
  7. data/app/controllers/devise/passwords_controller.rb +5 -2
  8. data/app/controllers/devise/registrations_controller.rb +32 -12
  9. data/app/controllers/devise/sessions_controller.rb +4 -2
  10. data/app/controllers/devise/unlocks_controller.rb +3 -0
  11. data/app/controllers/devise_controller.rb +6 -3
  12. data/app/helpers/devise_helper.rb +23 -18
  13. data/app/mailers/devise/mailer.rb +7 -5
  14. data/app/views/devise/confirmations/new.html.erb +2 -2
  15. data/app/views/devise/passwords/edit.html.erb +3 -3
  16. data/app/views/devise/passwords/new.html.erb +2 -2
  17. data/app/views/devise/registrations/edit.html.erb +6 -6
  18. data/app/views/devise/registrations/new.html.erb +4 -4
  19. data/app/views/devise/sessions/new.html.erb +4 -4
  20. data/app/views/devise/shared/_error_messages.html.erb +15 -0
  21. data/app/views/devise/shared/_links.html.erb +8 -8
  22. data/app/views/devise/unlocks/new.html.erb +2 -2
  23. data/config/locales/en.yml +3 -2
  24. data/lib/devise/controllers/helpers.rb +10 -8
  25. data/lib/devise/controllers/rememberable.rb +2 -0
  26. data/lib/devise/controllers/responder.rb +35 -0
  27. data/lib/devise/controllers/scoped_views.rb +2 -0
  28. data/lib/devise/controllers/sign_in_out.rb +14 -4
  29. data/lib/devise/controllers/store_location.rb +24 -6
  30. data/lib/devise/controllers/url_helpers.rb +3 -1
  31. data/lib/devise/delegator.rb +2 -0
  32. data/lib/devise/encryptor.rb +2 -0
  33. data/lib/devise/failure_app.rb +33 -7
  34. data/lib/devise/hooks/activatable.rb +2 -0
  35. data/lib/devise/hooks/csrf_cleaner.rb +8 -1
  36. data/lib/devise/hooks/forgetable.rb +2 -0
  37. data/lib/devise/hooks/lockable.rb +4 -5
  38. data/lib/devise/hooks/proxy.rb +2 -0
  39. data/lib/devise/hooks/rememberable.rb +2 -0
  40. data/lib/devise/hooks/timeoutable.rb +4 -2
  41. data/lib/devise/hooks/trackable.rb +2 -0
  42. data/lib/devise/mailers/helpers.rb +2 -0
  43. data/lib/devise/mapping.rb +3 -1
  44. data/lib/devise/models/authenticatable.rb +55 -50
  45. data/lib/devise/models/confirmable.rb +36 -40
  46. data/lib/devise/models/database_authenticatable.rb +57 -36
  47. data/lib/devise/models/lockable.rb +18 -4
  48. data/lib/devise/models/omniauthable.rb +4 -2
  49. data/lib/devise/models/recoverable.rb +10 -19
  50. data/lib/devise/models/registerable.rb +4 -0
  51. data/lib/devise/models/rememberable.rb +5 -3
  52. data/lib/devise/models/timeoutable.rb +3 -1
  53. data/lib/devise/models/trackable.rb +15 -1
  54. data/lib/devise/models/validatable.rb +7 -10
  55. data/lib/devise/models.rb +3 -0
  56. data/lib/devise/modules.rb +2 -0
  57. data/lib/devise/omniauth/config.rb +2 -0
  58. data/lib/devise/omniauth/url_helpers.rb +2 -0
  59. data/lib/devise/omniauth.rb +4 -5
  60. data/lib/devise/orm/active_record.rb +2 -0
  61. data/lib/devise/orm/mongoid.rb +2 -0
  62. data/lib/devise/orm.rb +71 -0
  63. data/lib/devise/parameter_filter.rb +4 -0
  64. data/lib/devise/parameter_sanitizer.rb +15 -1
  65. data/lib/devise/rails/deprecated_constant_accessor.rb +39 -0
  66. data/lib/devise/rails/routes.rb +8 -6
  67. data/lib/devise/rails/warden_compat.rb +2 -0
  68. data/lib/devise/rails.rb +3 -5
  69. data/lib/devise/secret_key_finder.rb +27 -0
  70. data/lib/devise/strategies/authenticatable.rb +3 -1
  71. data/lib/devise/strategies/base.rb +2 -0
  72. data/lib/devise/strategies/database_authenticatable.rb +8 -1
  73. data/lib/devise/strategies/rememberable.rb +2 -0
  74. data/lib/devise/test/controller_helpers.rb +6 -1
  75. data/lib/devise/test/integration_helpers.rb +3 -1
  76. data/lib/devise/test_helpers.rb +2 -0
  77. data/lib/devise/time_inflector.rb +2 -0
  78. data/lib/devise/token_generator.rb +2 -0
  79. data/lib/devise/version.rb +3 -1
  80. data/lib/devise.rb +38 -12
  81. data/lib/generators/active_record/devise_generator.rb +40 -12
  82. data/lib/generators/active_record/templates/migration.rb +3 -1
  83. data/lib/generators/active_record/templates/migration_existing.rb +2 -0
  84. data/lib/generators/devise/controllers_generator.rb +3 -1
  85. data/lib/generators/devise/devise_generator.rb +5 -3
  86. data/lib/generators/devise/install_generator.rb +3 -5
  87. data/lib/generators/devise/orm_helpers.rb +9 -3
  88. data/lib/generators/devise/views_generator.rb +8 -9
  89. data/lib/generators/mongoid/devise_generator.rb +7 -5
  90. data/lib/generators/templates/README +9 -1
  91. data/lib/generators/templates/controllers/confirmations_controller.rb +2 -0
  92. data/lib/generators/templates/controllers/omniauth_callbacks_controller.rb +3 -1
  93. data/lib/generators/templates/controllers/passwords_controller.rb +2 -0
  94. data/lib/generators/templates/controllers/registrations_controller.rb +2 -0
  95. data/lib/generators/templates/controllers/sessions_controller.rb +2 -0
  96. data/lib/generators/templates/controllers/unlocks_controller.rb +2 -0
  97. data/lib/generators/templates/devise.rb +43 -7
  98. data/lib/generators/templates/simple_form_for/confirmations/new.html.erb +5 -1
  99. data/lib/generators/templates/simple_form_for/passwords/edit.html.erb +10 -2
  100. data/lib/generators/templates/simple_form_for/passwords/new.html.erb +4 -1
  101. data/lib/generators/templates/simple_form_for/registrations/edit.html.erb +12 -4
  102. data/lib/generators/templates/simple_form_for/registrations/new.html.erb +11 -3
  103. data/lib/generators/templates/simple_form_for/sessions/new.html.erb +7 -2
  104. data/lib/generators/templates/simple_form_for/unlocks/new.html.erb +4 -1
  105. metadata +24 -307
  106. data/.gitignore +0 -10
  107. data/.travis.yml +0 -58
  108. data/.yardopts +0 -9
  109. data/CODE_OF_CONDUCT.md +0 -22
  110. data/CONTRIBUTING.md +0 -79
  111. data/Gemfile +0 -40
  112. data/Gemfile.lock +0 -194
  113. data/Rakefile +0 -36
  114. data/bin/test +0 -13
  115. data/devise.gemspec +0 -26
  116. data/devise.png +0 -0
  117. data/gemfiles/Gemfile.rails-4.1-stable +0 -30
  118. data/gemfiles/Gemfile.rails-4.1-stable.lock +0 -171
  119. data/gemfiles/Gemfile.rails-4.2-stable +0 -30
  120. data/gemfiles/Gemfile.rails-4.2-stable.lock +0 -192
  121. data/gemfiles/Gemfile.rails-5.0-stable +0 -34
  122. data/gemfiles/Gemfile.rails-5.0-stable.lock +0 -193
  123. data/guides/bug_report_templates/integration_test.rb +0 -104
  124. data/test/controllers/custom_registrations_controller_test.rb +0 -40
  125. data/test/controllers/custom_strategy_test.rb +0 -64
  126. data/test/controllers/helper_methods_test.rb +0 -22
  127. data/test/controllers/helpers_test.rb +0 -316
  128. data/test/controllers/inherited_controller_i18n_messages_test.rb +0 -51
  129. data/test/controllers/internal_helpers_test.rb +0 -127
  130. data/test/controllers/load_hooks_controller_test.rb +0 -19
  131. data/test/controllers/passwords_controller_test.rb +0 -32
  132. data/test/controllers/sessions_controller_test.rb +0 -106
  133. data/test/controllers/url_helpers_test.rb +0 -65
  134. data/test/delegator_test.rb +0 -19
  135. data/test/devise_test.rb +0 -107
  136. data/test/failure_app_test.rb +0 -338
  137. data/test/generators/active_record_generator_test.rb +0 -83
  138. data/test/generators/controllers_generator_test.rb +0 -48
  139. data/test/generators/devise_generator_test.rb +0 -39
  140. data/test/generators/install_generator_test.rb +0 -24
  141. data/test/generators/mongoid_generator_test.rb +0 -23
  142. data/test/generators/views_generator_test.rb +0 -103
  143. data/test/helpers/devise_helper_test.rb +0 -49
  144. data/test/integration/authenticatable_test.rb +0 -698
  145. data/test/integration/confirmable_test.rb +0 -324
  146. data/test/integration/database_authenticatable_test.rb +0 -95
  147. data/test/integration/http_authenticatable_test.rb +0 -106
  148. data/test/integration/lockable_test.rb +0 -240
  149. data/test/integration/mounted_engine_test.rb +0 -36
  150. data/test/integration/omniauthable_test.rb +0 -135
  151. data/test/integration/recoverable_test.rb +0 -347
  152. data/test/integration/registerable_test.rb +0 -363
  153. data/test/integration/rememberable_test.rb +0 -217
  154. data/test/integration/timeoutable_test.rb +0 -184
  155. data/test/integration/trackable_test.rb +0 -92
  156. data/test/mailers/confirmation_instructions_test.rb +0 -115
  157. data/test/mailers/email_changed_test.rb +0 -130
  158. data/test/mailers/mailer_test.rb +0 -18
  159. data/test/mailers/reset_password_instructions_test.rb +0 -96
  160. data/test/mailers/unlock_instructions_test.rb +0 -91
  161. data/test/mapping_test.rb +0 -134
  162. data/test/models/authenticatable_test.rb +0 -23
  163. data/test/models/confirmable_test.rb +0 -536
  164. data/test/models/database_authenticatable_test.rb +0 -281
  165. data/test/models/lockable_test.rb +0 -350
  166. data/test/models/omniauthable_test.rb +0 -7
  167. data/test/models/recoverable_test.rb +0 -261
  168. data/test/models/registerable_test.rb +0 -7
  169. data/test/models/rememberable_test.rb +0 -182
  170. data/test/models/serializable_test.rb +0 -54
  171. data/test/models/timeoutable_test.rb +0 -51
  172. data/test/models/trackable_test.rb +0 -41
  173. data/test/models/validatable_test.rb +0 -119
  174. data/test/models_test.rb +0 -153
  175. data/test/omniauth/config_test.rb +0 -59
  176. data/test/omniauth/url_helpers_test.rb +0 -51
  177. data/test/orm/active_record.rb +0 -17
  178. data/test/orm/mongoid.rb +0 -13
  179. data/test/parameter_sanitizer_test.rb +0 -75
  180. data/test/rails_app/Rakefile +0 -6
  181. data/test/rails_app/app/active_record/admin.rb +0 -6
  182. data/test/rails_app/app/active_record/shim.rb +0 -2
  183. data/test/rails_app/app/active_record/user.rb +0 -7
  184. data/test/rails_app/app/active_record/user_on_engine.rb +0 -7
  185. data/test/rails_app/app/active_record/user_on_main_app.rb +0 -7
  186. data/test/rails_app/app/active_record/user_without_email.rb +0 -8
  187. data/test/rails_app/app/controllers/admins/sessions_controller.rb +0 -6
  188. data/test/rails_app/app/controllers/admins_controller.rb +0 -6
  189. data/test/rails_app/app/controllers/application_controller.rb +0 -11
  190. data/test/rails_app/app/controllers/application_with_fake_engine.rb +0 -30
  191. data/test/rails_app/app/controllers/custom/registrations_controller.rb +0 -31
  192. data/test/rails_app/app/controllers/home_controller.rb +0 -29
  193. data/test/rails_app/app/controllers/publisher/registrations_controller.rb +0 -2
  194. data/test/rails_app/app/controllers/publisher/sessions_controller.rb +0 -2
  195. data/test/rails_app/app/controllers/users/omniauth_callbacks_controller.rb +0 -14
  196. data/test/rails_app/app/controllers/users_controller.rb +0 -31
  197. data/test/rails_app/app/helpers/application_helper.rb +0 -3
  198. data/test/rails_app/app/mailers/users/from_proc_mailer.rb +0 -3
  199. data/test/rails_app/app/mailers/users/mailer.rb +0 -3
  200. data/test/rails_app/app/mailers/users/reply_to_mailer.rb +0 -4
  201. data/test/rails_app/app/mongoid/admin.rb +0 -29
  202. data/test/rails_app/app/mongoid/shim.rb +0 -23
  203. data/test/rails_app/app/mongoid/user.rb +0 -39
  204. data/test/rails_app/app/mongoid/user_on_engine.rb +0 -39
  205. data/test/rails_app/app/mongoid/user_on_main_app.rb +0 -39
  206. data/test/rails_app/app/mongoid/user_without_email.rb +0 -33
  207. data/test/rails_app/app/views/admins/index.html.erb +0 -1
  208. data/test/rails_app/app/views/admins/sessions/new.html.erb +0 -2
  209. data/test/rails_app/app/views/home/admin_dashboard.html.erb +0 -1
  210. data/test/rails_app/app/views/home/index.html.erb +0 -1
  211. data/test/rails_app/app/views/home/join.html.erb +0 -1
  212. data/test/rails_app/app/views/home/private.html.erb +0 -1
  213. data/test/rails_app/app/views/home/user_dashboard.html.erb +0 -1
  214. data/test/rails_app/app/views/layouts/application.html.erb +0 -24
  215. data/test/rails_app/app/views/users/edit_form.html.erb +0 -1
  216. data/test/rails_app/app/views/users/index.html.erb +0 -1
  217. data/test/rails_app/app/views/users/mailer/confirmation_instructions.erb +0 -1
  218. data/test/rails_app/app/views/users/sessions/new.html.erb +0 -1
  219. data/test/rails_app/bin/bundle +0 -3
  220. data/test/rails_app/bin/rails +0 -4
  221. data/test/rails_app/bin/rake +0 -4
  222. data/test/rails_app/config/application.rb +0 -44
  223. data/test/rails_app/config/boot.rb +0 -20
  224. data/test/rails_app/config/database.yml +0 -18
  225. data/test/rails_app/config/environment.rb +0 -5
  226. data/test/rails_app/config/environments/development.rb +0 -30
  227. data/test/rails_app/config/environments/production.rb +0 -86
  228. data/test/rails_app/config/environments/test.rb +0 -45
  229. data/test/rails_app/config/initializers/backtrace_silencers.rb +0 -7
  230. data/test/rails_app/config/initializers/devise.rb +0 -180
  231. data/test/rails_app/config/initializers/inflections.rb +0 -2
  232. data/test/rails_app/config/initializers/secret_token.rb +0 -3
  233. data/test/rails_app/config/initializers/session_store.rb +0 -1
  234. data/test/rails_app/config/routes.rb +0 -126
  235. data/test/rails_app/config.ru +0 -4
  236. data/test/rails_app/db/migrate/20100401102949_create_tables.rb +0 -75
  237. data/test/rails_app/db/schema.rb +0 -55
  238. data/test/rails_app/lib/shared_admin.rb +0 -21
  239. data/test/rails_app/lib/shared_user.rb +0 -30
  240. data/test/rails_app/lib/shared_user_without_email.rb +0 -26
  241. data/test/rails_app/lib/shared_user_without_omniauth.rb +0 -13
  242. data/test/rails_app/public/404.html +0 -26
  243. data/test/rails_app/public/422.html +0 -26
  244. data/test/rails_app/public/500.html +0 -26
  245. data/test/rails_app/public/favicon.ico +0 -0
  246. data/test/rails_test.rb +0 -9
  247. data/test/routes_test.rb +0 -279
  248. data/test/support/action_controller/record_identifier.rb +0 -10
  249. data/test/support/assertions.rb +0 -28
  250. data/test/support/helpers.rb +0 -77
  251. data/test/support/http_method_compatibility.rb +0 -51
  252. data/test/support/integration.rb +0 -92
  253. data/test/support/locale/en.yml +0 -8
  254. data/test/support/mongoid.yml +0 -6
  255. data/test/support/webrat/integrations/rails.rb +0 -33
  256. data/test/test/controller_helpers_test.rb +0 -186
  257. data/test/test/integration_helpers_test.rb +0 -32
  258. data/test/test_helper.rb +0 -34
  259. data/test/test_models.rb +0 -33
@@ -1,34 +0,0 @@
1
- source "https://rubygems.org"
2
-
3
- gemspec path: ".."
4
-
5
- gem "rails", '~> 5.0.0'
6
- gem "omniauth"
7
- gem "omniauth-oauth2"
8
- gem "rdoc"
9
-
10
- gem "activemodel-serializers-xml", github: "rails/activemodel-serializers-xml"
11
-
12
- gem "rails-controller-testing"
13
-
14
- gem "responders", "~> 2.1"
15
-
16
- # TODO: Remove this line when Rails 5.0.3 is released
17
- gem "minitest", "< 5.10.2"
18
-
19
- group :test do
20
- gem "omniauth-facebook"
21
- gem "omniauth-openid"
22
- gem "webrat", "0.7.3", require: false
23
- gem "mocha", "~> 1.1", require: false
24
- gem 'test_after_commit', require: false
25
- end
26
-
27
- platforms :ruby do
28
- gem "sqlite3"
29
- end
30
-
31
- # TODO:
32
- # group :mongoid do
33
- # gem "mongoid", "~> 4.0.0"
34
- # end
@@ -1,193 +0,0 @@
1
- GIT
2
- remote: git://github.com/rails/activemodel-serializers-xml.git
3
- revision: dd9c0acf26aab111ebc647cd8deb99ebc6946531
4
- specs:
5
- activemodel-serializers-xml (1.0.1)
6
- activemodel (> 5.x)
7
- activesupport (> 5.x)
8
- builder (~> 3.1)
9
-
10
- PATH
11
- remote: ..
12
- specs:
13
- devise (4.3.0)
14
- bcrypt (~> 3.0)
15
- orm_adapter (~> 0.1)
16
- railties (>= 4.1.0, < 5.2)
17
- responders
18
- warden (~> 1.2.3)
19
-
20
- GEM
21
- remote: https://rubygems.org/
22
- specs:
23
- actioncable (5.0.2)
24
- actionpack (= 5.0.2)
25
- nio4r (>= 1.2, < 3.0)
26
- websocket-driver (~> 0.6.1)
27
- actionmailer (5.0.2)
28
- actionpack (= 5.0.2)
29
- actionview (= 5.0.2)
30
- activejob (= 5.0.2)
31
- mail (~> 2.5, >= 2.5.4)
32
- rails-dom-testing (~> 2.0)
33
- actionpack (5.0.2)
34
- actionview (= 5.0.2)
35
- activesupport (= 5.0.2)
36
- rack (~> 2.0)
37
- rack-test (~> 0.6.3)
38
- rails-dom-testing (~> 2.0)
39
- rails-html-sanitizer (~> 1.0, >= 1.0.2)
40
- actionview (5.0.2)
41
- activesupport (= 5.0.2)
42
- builder (~> 3.1)
43
- erubis (~> 2.7.0)
44
- rails-dom-testing (~> 2.0)
45
- rails-html-sanitizer (~> 1.0, >= 1.0.3)
46
- activejob (5.0.2)
47
- activesupport (= 5.0.2)
48
- globalid (>= 0.3.6)
49
- activemodel (5.0.2)
50
- activesupport (= 5.0.2)
51
- activerecord (5.0.2)
52
- activemodel (= 5.0.2)
53
- activesupport (= 5.0.2)
54
- arel (~> 7.0)
55
- activesupport (5.0.2)
56
- concurrent-ruby (~> 1.0, >= 1.0.2)
57
- i18n (~> 0.7)
58
- minitest (~> 5.1)
59
- tzinfo (~> 1.1)
60
- arel (7.1.4)
61
- bcrypt (3.1.11)
62
- builder (3.2.3)
63
- concurrent-ruby (1.0.5)
64
- erubis (2.7.0)
65
- faraday (0.11.0)
66
- multipart-post (>= 1.2, < 3)
67
- globalid (0.4.0)
68
- activesupport (>= 4.2.0)
69
- hashie (3.5.5)
70
- i18n (0.8.1)
71
- jwt (1.5.6)
72
- loofah (2.0.3)
73
- nokogiri (>= 1.5.9)
74
- mail (2.6.5)
75
- mime-types (>= 1.16, < 4)
76
- metaclass (0.0.4)
77
- method_source (0.8.2)
78
- mime-types (3.1)
79
- mime-types-data (~> 3.2015)
80
- mime-types-data (3.2016.0521)
81
- mini_portile2 (2.1.0)
82
- minitest (5.10.1)
83
- mocha (1.2.1)
84
- metaclass (~> 0.0.1)
85
- multi_json (1.12.1)
86
- multi_xml (0.6.0)
87
- multipart-post (2.0.0)
88
- nio4r (2.0.0)
89
- nokogiri (1.7.2)
90
- mini_portile2 (~> 2.1.0)
91
- oauth2 (1.3.1)
92
- faraday (>= 0.8, < 0.12)
93
- jwt (~> 1.0)
94
- multi_json (~> 1.3)
95
- multi_xml (~> 0.5)
96
- rack (>= 1.2, < 3)
97
- omniauth (1.6.1)
98
- hashie (>= 3.4.6, < 3.6.0)
99
- rack (>= 1.6.2, < 3)
100
- omniauth-facebook (4.0.0)
101
- omniauth-oauth2 (~> 1.2)
102
- omniauth-oauth2 (1.4.0)
103
- oauth2 (~> 1.0)
104
- omniauth (~> 1.2)
105
- omniauth-openid (1.0.1)
106
- omniauth (~> 1.0)
107
- rack-openid (~> 1.3.1)
108
- orm_adapter (0.5.0)
109
- rack (2.0.2)
110
- rack-openid (1.3.1)
111
- rack (>= 1.1.0)
112
- ruby-openid (>= 2.1.8)
113
- rack-test (0.6.3)
114
- rack (>= 1.0)
115
- rails (5.0.2)
116
- actioncable (= 5.0.2)
117
- actionmailer (= 5.0.2)
118
- actionpack (= 5.0.2)
119
- actionview (= 5.0.2)
120
- activejob (= 5.0.2)
121
- activemodel (= 5.0.2)
122
- activerecord (= 5.0.2)
123
- activesupport (= 5.0.2)
124
- bundler (>= 1.3.0, < 2.0)
125
- railties (= 5.0.2)
126
- sprockets-rails (>= 2.0.0)
127
- rails-controller-testing (1.0.1)
128
- actionpack (~> 5.x)
129
- actionview (~> 5.x)
130
- activesupport (~> 5.x)
131
- rails-dom-testing (2.0.3)
132
- activesupport (>= 4.2.0)
133
- nokogiri (>= 1.6)
134
- rails-html-sanitizer (1.0.3)
135
- loofah (~> 2.0)
136
- railties (5.0.2)
137
- actionpack (= 5.0.2)
138
- activesupport (= 5.0.2)
139
- method_source
140
- rake (>= 0.8.7)
141
- thor (>= 0.18.1, < 2.0)
142
- rake (12.0.0)
143
- rdoc (5.1.0)
144
- responders (2.4.0)
145
- actionpack (>= 4.2.0, < 5.3)
146
- railties (>= 4.2.0, < 5.3)
147
- ruby-openid (2.7.0)
148
- sprockets (3.7.1)
149
- concurrent-ruby (~> 1.0)
150
- rack (> 1, < 3)
151
- sprockets-rails (3.2.0)
152
- actionpack (>= 4.0)
153
- activesupport (>= 4.0)
154
- sprockets (>= 3.0.0)
155
- sqlite3 (1.3.13)
156
- test_after_commit (1.1.0)
157
- activerecord (>= 3.2)
158
- thor (0.19.4)
159
- thread_safe (0.3.6)
160
- tzinfo (1.2.3)
161
- thread_safe (~> 0.1)
162
- warden (1.2.7)
163
- rack (>= 1.0)
164
- webrat (0.7.3)
165
- nokogiri (>= 1.2.0)
166
- rack (>= 1.0)
167
- rack-test (>= 0.5.3)
168
- websocket-driver (0.6.5)
169
- websocket-extensions (>= 0.1.0)
170
- websocket-extensions (0.1.2)
171
-
172
- PLATFORMS
173
- ruby
174
-
175
- DEPENDENCIES
176
- activemodel-serializers-xml!
177
- devise!
178
- minitest (< 5.10.2)
179
- mocha (~> 1.1)
180
- omniauth
181
- omniauth-facebook
182
- omniauth-oauth2
183
- omniauth-openid
184
- rails (~> 5.0.0)
185
- rails-controller-testing
186
- rdoc
187
- responders (~> 2.1)
188
- sqlite3
189
- test_after_commit
190
- webrat (= 0.7.3)
191
-
192
- BUNDLED WITH
193
- 1.14.6
@@ -1,104 +0,0 @@
1
- begin
2
- require 'bundler/inline'
3
- rescue LoadError => e
4
- $stderr.puts 'Bundler version 1.10 or later is required. Please update your Bundler'
5
- raise e
6
- end
7
-
8
- gemfile(true) do
9
- source 'https://rubygems.org'
10
- # Activate the gem you are reporting the issue against.
11
- gem 'rails', '~> 4.2.0'
12
- gem 'devise', '~> 4.0'
13
- gem 'sqlite3'
14
- gem 'byebug'
15
- end
16
-
17
- require 'rack/test'
18
- require 'action_controller/railtie'
19
- require 'active_record'
20
- require 'devise/rails/routes'
21
- require 'devise/rails/warden_compat'
22
-
23
- ActiveRecord::Base.establish_connection( adapter: :sqlite3, database: ':memory:')
24
-
25
- class DeviseCreateUsers < ActiveRecord::Migration
26
- def change
27
- create_table(:users) do |t|
28
- t.string :email, null: false
29
- t.string :encrypted_password, null: true
30
- t.timestamps null: false
31
- end
32
-
33
- end
34
- end
35
-
36
- Devise.setup do |config|
37
- require 'devise/orm/active_record'
38
- config.secret_key = 'secret_key_base'
39
- end
40
-
41
- class TestApp < Rails::Application
42
- config.root = File.dirname(__FILE__)
43
- config.session_store :cookie_store, key: 'cookie_store_key'
44
- secrets.secret_token = 'secret_token'
45
- secrets.secret_key_base = 'secret_key_base'
46
- config.eager_load = false
47
-
48
- config.middleware.use Warden::Manager do |config|
49
- Devise.warden_config = config
50
- end
51
-
52
- config.logger = Logger.new($stdout)
53
- Rails.logger = config.logger
54
-
55
- end
56
-
57
- Rails.application.initialize!
58
-
59
- DeviseCreateUsers.migrate(:up)
60
-
61
- class User < ActiveRecord::Base
62
- devise :database_authenticatable
63
- end
64
-
65
- Rails.application.routes.draw do
66
- devise_for :users
67
-
68
- get '/' => 'test#index'
69
- end
70
-
71
- class ApplicationController < ActionController::Base
72
- end
73
-
74
- class TestController < ApplicationController
75
- include Rails.application.routes.url_helpers
76
-
77
- before_filter :authenticate_user!
78
-
79
- def index
80
- render plain: 'Home'
81
- end
82
- end
83
-
84
- require 'minitest/autorun'
85
-
86
- class BugTest < ActionDispatch::IntegrationTest
87
- include Rack::Test::Methods
88
- include Warden::Test::Helpers
89
-
90
- def test_returns_success
91
- Warden.test_mode!
92
-
93
- login_as User.create!(email: 'test@test.com', password: 'test123456', password_confirmation: 'test123456')
94
-
95
- get '/'
96
- assert last_response.ok?
97
- end
98
-
99
- private
100
-
101
- def app
102
- Rails.application
103
- end
104
- end
@@ -1,40 +0,0 @@
1
- require 'test_helper'
2
-
3
- class CustomRegistrationsControllerTest < Devise::ControllerTestCase
4
- tests Custom::RegistrationsController
5
-
6
- include Devise::Test::ControllerHelpers
7
-
8
- setup do
9
- request.env["devise.mapping"] = Devise.mappings[:user]
10
- @password = 'password'
11
- @user = create_user(password: @password, password_confirmation: @password).tap(&:confirm)
12
- end
13
-
14
- test "yield resource to block on create success" do
15
- post :create, params: { user: { email: "user@example.org", password: "password", password_confirmation: "password" } }
16
- assert @controller.create_block_called?, "create failed to yield resource to provided block"
17
- end
18
-
19
- test "yield resource to block on create failure" do
20
- post :create, params: { user: { } }
21
- assert @controller.create_block_called?, "create failed to yield resource to provided block"
22
- end
23
-
24
- test "yield resource to block on update success" do
25
- sign_in @user
26
- put :update, params: { user: { current_password: @password } }
27
- assert @controller.update_block_called?, "update failed to yield resource to provided block"
28
- end
29
-
30
- test "yield resource to block on update failure" do
31
- sign_in @user
32
- put :update, params: { user: { } }
33
- assert @controller.update_block_called?, "update failed to yield resource to provided block"
34
- end
35
-
36
- test "yield resource to block on new" do
37
- get :new
38
- assert @controller.new_block_called?, "new failed to yield resource to provided block"
39
- end
40
- end
@@ -1,64 +0,0 @@
1
- require 'test_helper'
2
- require 'ostruct'
3
- require 'warden/strategies/base'
4
- require 'devise/test_helpers'
5
-
6
- class CustomStrategyController < ActionController::Base
7
- def new
8
- warden.authenticate!(:custom_strategy)
9
- end
10
- end
11
-
12
- # These tests are to prove that a warden strategy can successfully
13
- # return a custom response, including a specific status code and
14
- # custom http response headers. This does work in production,
15
- # however, at the time of writing this, the Devise test helpers do
16
- # not recognise the custom response and proceed to calling the
17
- # Failure App. This makes it impossible to write tests for a
18
- # strategy that return a custom response with Devise.
19
- class CustomStrategy < Warden::Strategies::Base
20
- def authenticate!
21
- custom_headers = { "X-FOO" => "BAR" }
22
- response = Rack::Response.new("BAD REQUEST", 400, custom_headers)
23
- custom! response.finish
24
- end
25
- end
26
-
27
- class CustomStrategyTest < Devise::ControllerTestCase
28
- tests CustomStrategyController
29
-
30
- include Devise::Test::ControllerHelpers
31
-
32
- setup do
33
- Warden::Strategies.add(:custom_strategy, CustomStrategy)
34
- end
35
-
36
- teardown do
37
- Warden::Strategies._strategies.delete(:custom_strategy)
38
- end
39
-
40
- test "custom strategy can return its own status code" do
41
- ret = get :new
42
-
43
- # check the returned rack array
44
- # assert ret.is_a?(Array)
45
- # assert_equal 400, ret.first
46
- assert ret.is_a?(ActionDispatch::TestResponse)
47
-
48
- # check the saved response as well. This is purely so that the response is available to the testing framework
49
- # for verification. In production, the above array would be delivered directly to Rack.
50
- assert_response 400
51
- end
52
-
53
- test "custom strategy can return custom headers" do
54
- ret = get :new
55
-
56
- # check the returned rack array
57
- # assert ret.is_a?(Array)
58
- # assert_equal ret.third['X-FOO'], 'BAR'
59
- assert ret.is_a?(ActionDispatch::TestResponse)
60
-
61
- # check the saved response headers as well.
62
- assert_equal response.headers['X-FOO'], 'BAR'
63
- end
64
- end
@@ -1,22 +0,0 @@
1
- require 'test_helper'
2
-
3
- class ApiController < ActionController::Metal
4
- include Devise::Controllers::Helpers
5
- end
6
-
7
- class HelperMethodsTest < Devise::ControllerTestCase
8
- tests ApiController
9
-
10
- test 'includes Devise::Controllers::Helpers' do
11
- assert_includes @controller.class.ancestors, Devise::Controllers::Helpers
12
- end
13
-
14
- test 'does not respond_to helper or helper_method' do
15
- refute_respond_to @controller.class, :helper
16
- refute_respond_to @controller.class, :helper_method
17
- end
18
-
19
- test 'defines methods like current_user' do
20
- assert_respond_to @controller, :current_user
21
- end
22
- end