sorcery 0.8.2 → 0.8.6

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 (341) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +55 -0
  3. data/.travis.yml +69 -1
  4. data/CHANGELOG.md +248 -0
  5. data/Gemfile +16 -22
  6. data/Gemfile.rails4 +22 -0
  7. data/README.md +320 -0
  8. data/Rakefile +3 -79
  9. data/VERSION +1 -1
  10. data/gemfiles/active_record-rails41.gemfile +6 -0
  11. data/gemfiles/mongo_mapper-rails41.gemfile +8 -0
  12. data/gemfiles/mongoid-rails41.gemfile +11 -0
  13. data/lib/generators/sorcery/helpers.rb +40 -0
  14. data/lib/generators/sorcery/install_generator.rb +21 -17
  15. data/lib/generators/sorcery/templates/initializer.rb +1 -1
  16. data/lib/generators/sorcery/templates/migration/activity_logging.rb +2 -11
  17. data/lib/generators/sorcery/templates/migration/brute_force_protection.rb +1 -7
  18. data/lib/generators/sorcery/templates/migration/core.rb +5 -8
  19. data/lib/generators/sorcery/templates/migration/external.rb +1 -5
  20. data/lib/generators/sorcery/templates/migration/remember_me.rb +2 -9
  21. data/lib/generators/sorcery/templates/migration/reset_password.rb +2 -10
  22. data/lib/generators/sorcery/templates/migration/user_activation.rb +2 -10
  23. data/lib/sorcery/controller/submodules/external.rb +39 -20
  24. data/lib/sorcery/controller/submodules/remember_me.rb +1 -1
  25. data/lib/sorcery/controller/submodules/session_timeout.rb +2 -2
  26. data/lib/sorcery/controller.rb +18 -11
  27. data/lib/sorcery/model/adapters/active_record.rb +7 -2
  28. data/lib/sorcery/model/adapters/datamapper.rb +123 -0
  29. data/lib/sorcery/model/adapters/mongo_mapper.rb +8 -4
  30. data/lib/sorcery/model/adapters/mongoid.rb +8 -8
  31. data/lib/sorcery/model/submodules/activity_logging.rb +24 -0
  32. data/lib/sorcery/model/submodules/brute_force_protection.rb +22 -8
  33. data/lib/sorcery/model/submodules/remember_me.rb +19 -4
  34. data/lib/sorcery/model/submodules/reset_password.rb +35 -14
  35. data/lib/sorcery/model/submodules/user_activation.rb +69 -24
  36. data/lib/sorcery/model.rb +111 -73
  37. data/lib/sorcery/protocols/oauth.rb +42 -0
  38. data/lib/sorcery/protocols/oauth2.rb +47 -0
  39. data/lib/sorcery/providers/base.rb +27 -0
  40. data/lib/sorcery/providers/facebook.rb +63 -0
  41. data/lib/sorcery/providers/github.rb +51 -0
  42. data/lib/sorcery/providers/google.rb +51 -0
  43. data/lib/sorcery/providers/linkedin.rb +66 -0
  44. data/lib/sorcery/providers/liveid.rb +53 -0
  45. data/lib/sorcery/providers/twitter.rb +59 -0
  46. data/lib/sorcery/providers/vk.rb +61 -0
  47. data/lib/sorcery/providers/xing.rb +64 -0
  48. data/lib/sorcery/test_helpers/internal/rails.rb +17 -6
  49. data/lib/sorcery/test_helpers/internal.rb +23 -6
  50. data/lib/sorcery/test_helpers/rails/controller.rb +17 -0
  51. data/lib/sorcery/test_helpers/rails/integration.rb +26 -0
  52. data/lib/sorcery/test_helpers/rails.rb +1 -10
  53. data/lib/sorcery.rb +20 -28
  54. data/sorcery.gemspec +21 -363
  55. data/spec/active_record/controller_activity_logging_spec.rb +29 -0
  56. data/spec/active_record/controller_brute_force_protection_spec.rb +158 -0
  57. data/spec/active_record/controller_http_basic_auth_spec.rb +65 -0
  58. data/spec/active_record/controller_oauth2_spec.rb +342 -0
  59. data/spec/{rails3/spec → active_record}/controller_oauth_spec.rb +69 -59
  60. data/spec/active_record/controller_remember_me_spec.rb +97 -0
  61. data/spec/active_record/controller_session_timeout_spec.rb +70 -0
  62. data/spec/active_record/controller_spec.rb +8 -0
  63. data/spec/{rails3/spec → active_record}/integration_spec.rb +3 -3
  64. data/spec/active_record/user_activation_spec.rb +18 -0
  65. data/spec/active_record/user_activity_logging_spec.rb +8 -0
  66. data/spec/{rails3/spec → active_record}/user_brute_force_protection_spec.rb +6 -5
  67. data/spec/{rails3/spec → active_record}/user_oauth_spec.rb +6 -5
  68. data/spec/{rails3/spec → active_record}/user_remember_me_spec.rb +5 -4
  69. data/spec/{rails3/spec → active_record}/user_reset_password_spec.rb +7 -7
  70. data/spec/active_record/user_spec.rb +37 -0
  71. data/spec/datamapper/controller_activity_logging_spec.rb +17 -0
  72. data/spec/datamapper/controller_spec.rb +8 -0
  73. data/spec/datamapper/user_activation_spec.rb +10 -0
  74. data/spec/datamapper/user_activity_logging_spec.rb +9 -0
  75. data/spec/datamapper/user_brute_force_protection_spec.rb +9 -0
  76. data/spec/datamapper/user_oauth_spec.rb +9 -0
  77. data/spec/datamapper/user_remember_me_spec.rb +8 -0
  78. data/spec/datamapper/user_reset_password_spec.rb +8 -0
  79. data/spec/datamapper/user_spec.rb +27 -0
  80. data/spec/mongo_mapper/controller_spec.rb +8 -0
  81. data/spec/mongo_mapper/user_activation_spec.rb +9 -0
  82. data/spec/mongo_mapper/user_activity_logging_spec.rb +8 -0
  83. data/spec/mongo_mapper/user_brute_force_protection_spec.rb +8 -0
  84. data/spec/mongo_mapper/user_oauth_spec.rb +8 -0
  85. data/spec/mongo_mapper/user_remember_me_spec.rb +8 -0
  86. data/spec/mongo_mapper/user_reset_password_spec.rb +8 -0
  87. data/spec/mongo_mapper/user_spec.rb +37 -0
  88. data/spec/mongoid/controller_activity_logging_spec.rb +16 -0
  89. data/spec/mongoid/controller_spec.rb +8 -0
  90. data/spec/mongoid/user_activation_spec.rb +9 -0
  91. data/spec/mongoid/user_activity_logging_spec.rb +8 -0
  92. data/spec/mongoid/user_brute_force_protection_spec.rb +8 -0
  93. data/spec/mongoid/user_oauth_spec.rb +8 -0
  94. data/spec/mongoid/user_remember_me_spec.rb +8 -0
  95. data/spec/mongoid/user_reset_password_spec.rb +8 -0
  96. data/spec/mongoid/user_spec.rb +38 -0
  97. data/spec/orm/active_record.rb +9 -0
  98. data/spec/orm/datamapper.rb +34 -0
  99. data/spec/orm/mongo_mapper.rb +11 -0
  100. data/spec/orm/mongoid.rb +18 -0
  101. data/spec/{rails3/app/models → rails_app/app/active_record}/user.rb +1 -2
  102. data/spec/rails_app/app/active_record/user_provider.rb +3 -0
  103. data/spec/rails_app/app/controllers/sorcery_controller.rb +224 -0
  104. data/spec/rails_app/app/datamapper/authentication.rb +8 -0
  105. data/spec/rails_app/app/datamapper/user.rb +7 -0
  106. data/spec/{rails3_mongoid/app/models → rails_app/app/mongoid}/user.rb +2 -0
  107. data/spec/{rails3_mongo_mapper → rails_app}/config/application.rb +13 -8
  108. data/spec/rails_app/config/boot.rb +4 -0
  109. data/spec/rails_app/config/database.yml +22 -0
  110. data/spec/{rails3_mongo_mapper → rails_app}/config/environments/test.rb +2 -0
  111. data/spec/{rails3_mongoid → rails_app}/config/initializers/session_store.rb +4 -0
  112. data/spec/rails_app/config/routes.rb +42 -0
  113. data/spec/{rails3_mongo_mapper → rails_app}/config.ru +1 -1
  114. data/spec/{rails3 → rails_app}/db/migrate/activation/20101224223622_add_activation_to_users.rb +3 -3
  115. data/spec/rails_app/db/migrate/external/20101224223628_create_authentications_and_user_providers.rb +22 -0
  116. data/spec/rails_app/log/development.log +1791 -0
  117. data/spec/shared_examples/controller_activity_logging_shared_examples.rb +125 -0
  118. data/spec/shared_examples/controller_oauth2_shared_examples.rb +32 -36
  119. data/spec/shared_examples/controller_oauth_shared_examples.rb +35 -28
  120. data/spec/shared_examples/controller_shared_examples.rb +203 -0
  121. data/spec/shared_examples/user_activation_shared_examples.rb +136 -97
  122. data/spec/shared_examples/user_activity_logging_shared_examples.rb +10 -10
  123. data/spec/shared_examples/user_brute_force_protection_shared_examples.rb +14 -13
  124. data/spec/shared_examples/user_oauth_shared_examples.rb +23 -15
  125. data/spec/shared_examples/user_remember_me_shared_examples.rb +32 -23
  126. data/spec/shared_examples/user_reset_password_shared_examples.rb +162 -129
  127. data/spec/shared_examples/user_shared_examples.rb +265 -190
  128. data/spec/sorcery_crypto_providers_spec.rb +74 -72
  129. data/spec/spec_helper.rb +47 -4
  130. metadata +277 -501
  131. data/Gemfile.lock +0 -175
  132. data/README.rdoc +0 -261
  133. data/lib/sorcery/controller/submodules/external/protocols/oauth1.rb +0 -46
  134. data/lib/sorcery/controller/submodules/external/protocols/oauth2.rb +0 -49
  135. data/lib/sorcery/controller/submodules/external/providers/base.rb +0 -21
  136. data/lib/sorcery/controller/submodules/external/providers/facebook.rb +0 -98
  137. data/lib/sorcery/controller/submodules/external/providers/github.rb +0 -92
  138. data/lib/sorcery/controller/submodules/external/providers/google.rb +0 -91
  139. data/lib/sorcery/controller/submodules/external/providers/linkedin.rb +0 -102
  140. data/lib/sorcery/controller/submodules/external/providers/liveid.rb +0 -92
  141. data/lib/sorcery/controller/submodules/external/providers/twitter.rb +0 -93
  142. data/lib/sorcery/controller/submodules/external/providers/vk.rb +0 -100
  143. data/lib/sorcery/controller/submodules/external/providers/xing.rb +0 -97
  144. data/lib/sorcery/test_helpers.rb +0 -5
  145. data/spec/Gemfile +0 -12
  146. data/spec/Gemfile.lock +0 -129
  147. data/spec/README.md +0 -31
  148. data/spec/Rakefile +0 -12
  149. data/spec/rails3/.gitignore +0 -4
  150. data/spec/rails3/.rspec +0 -1
  151. data/spec/rails3/Gemfile +0 -15
  152. data/spec/rails3/Gemfile.lock +0 -162
  153. data/spec/rails3/README +0 -256
  154. data/spec/rails3/Rakefile +0 -11
  155. data/spec/rails3/app/controllers/application_controller.rb +0 -208
  156. data/spec/rails3/config/application.rb +0 -46
  157. data/spec/rails3/config/boot.rb +0 -13
  158. data/spec/rails3/config/database.yml +0 -27
  159. data/spec/rails3/config/environments/development.rb +0 -26
  160. data/spec/rails3/config/environments/in_memory.rb +0 -35
  161. data/spec/rails3/config/environments/production.rb +0 -49
  162. data/spec/rails3/config/environments/test.rb +0 -35
  163. data/spec/rails3/config/initializers/session_store.rb +0 -8
  164. data/spec/rails3/config/routes.rb +0 -59
  165. data/spec/rails3/config.ru +0 -4
  166. data/spec/rails3/db/migrate/external/20101224223628_create_authentications.rb +0 -14
  167. data/spec/rails3/public/stylesheets/.gitkeep +0 -0
  168. data/spec/rails3/script/rails +0 -6
  169. data/spec/rails3/spec/controller_activity_logging_spec.rb +0 -130
  170. data/spec/rails3/spec/controller_brute_force_protection_spec.rb +0 -96
  171. data/spec/rails3/spec/controller_http_basic_auth_spec.rb +0 -50
  172. data/spec/rails3/spec/controller_oauth2_spec.rb +0 -380
  173. data/spec/rails3/spec/controller_remember_me_spec.rb +0 -96
  174. data/spec/rails3/spec/controller_session_timeout_spec.rb +0 -55
  175. data/spec/rails3/spec/controller_spec.rb +0 -182
  176. data/spec/rails3/spec/spec.opts +0 -2
  177. data/spec/rails3/spec/spec_helper.orig.rb +0 -27
  178. data/spec/rails3/spec/spec_helper.rb +0 -71
  179. data/spec/rails3/spec/user_activation_spec.rb +0 -16
  180. data/spec/rails3/spec/user_activity_logging_spec.rb +0 -8
  181. data/spec/rails3/spec/user_spec.rb +0 -36
  182. data/spec/rails3/vendor/plugins/.gitkeep +0 -0
  183. data/spec/rails3_mongo_mapper/.gitignore +0 -4
  184. data/spec/rails3_mongo_mapper/.rspec +0 -1
  185. data/spec/rails3_mongo_mapper/Gemfile +0 -16
  186. data/spec/rails3_mongo_mapper/Gemfile.lock +0 -156
  187. data/spec/rails3_mongo_mapper/Rakefile +0 -11
  188. data/spec/rails3_mongo_mapper/app/controllers/application_controller.rb +0 -122
  189. data/spec/rails3_mongo_mapper/app/helpers/application_helper.rb +0 -2
  190. data/spec/rails3_mongo_mapper/app/mailers/sorcery_mailer.rb +0 -25
  191. data/spec/rails3_mongo_mapper/app/views/layouts/application.html.erb +0 -14
  192. data/spec/rails3_mongo_mapper/app/views/sorcery_mailer/activation_email.html.erb +0 -17
  193. data/spec/rails3_mongo_mapper/app/views/sorcery_mailer/activation_email.text.erb +0 -9
  194. data/spec/rails3_mongo_mapper/app/views/sorcery_mailer/activation_success_email.text.erb +0 -9
  195. data/spec/rails3_mongo_mapper/app/views/sorcery_mailer/reset_password_email.html.erb +0 -16
  196. data/spec/rails3_mongo_mapper/app/views/sorcery_mailer/reset_password_email.text.erb +0 -8
  197. data/spec/rails3_mongo_mapper/config/boot.rb +0 -13
  198. data/spec/rails3_mongo_mapper/config/environment.rb +0 -5
  199. data/spec/rails3_mongo_mapper/config/environments/development.rb +0 -30
  200. data/spec/rails3_mongo_mapper/config/environments/in_memory.rb +0 -0
  201. data/spec/rails3_mongo_mapper/config/environments/production.rb +0 -49
  202. data/spec/rails3_mongo_mapper/config/initializers/backtrace_silencers.rb +0 -7
  203. data/spec/rails3_mongo_mapper/config/initializers/inflections.rb +0 -10
  204. data/spec/rails3_mongo_mapper/config/initializers/mime_types.rb +0 -5
  205. data/spec/rails3_mongo_mapper/config/initializers/mongo.rb +0 -2
  206. data/spec/rails3_mongo_mapper/config/initializers/secret_token.rb +0 -7
  207. data/spec/rails3_mongo_mapper/config/initializers/session_store.rb +0 -8
  208. data/spec/rails3_mongo_mapper/config/locales/en.yml +0 -5
  209. data/spec/rails3_mongo_mapper/config/routes.rb +0 -59
  210. data/spec/rails3_mongo_mapper/db/schema.rb +0 -23
  211. data/spec/rails3_mongo_mapper/db/seeds.rb +0 -7
  212. data/spec/rails3_mongo_mapper/lib/tasks/.gitkeep +0 -0
  213. data/spec/rails3_mongo_mapper/public/404.html +0 -26
  214. data/spec/rails3_mongo_mapper/public/422.html +0 -26
  215. data/spec/rails3_mongo_mapper/public/500.html +0 -26
  216. data/spec/rails3_mongo_mapper/public/favicon.ico +0 -0
  217. data/spec/rails3_mongo_mapper/public/images/rails.png +0 -0
  218. data/spec/rails3_mongo_mapper/public/javascripts/application.js +0 -2
  219. data/spec/rails3_mongo_mapper/public/javascripts/controls.js +0 -965
  220. data/spec/rails3_mongo_mapper/public/javascripts/dragdrop.js +0 -974
  221. data/spec/rails3_mongo_mapper/public/javascripts/effects.js +0 -1123
  222. data/spec/rails3_mongo_mapper/public/javascripts/prototype.js +0 -6001
  223. data/spec/rails3_mongo_mapper/public/javascripts/rails.js +0 -175
  224. data/spec/rails3_mongo_mapper/public/robots.txt +0 -5
  225. data/spec/rails3_mongo_mapper/public/stylesheets/.gitkeep +0 -0
  226. data/spec/rails3_mongo_mapper/script/rails +0 -6
  227. data/spec/rails3_mongo_mapper/spec/controller_spec.rb +0 -175
  228. data/spec/rails3_mongo_mapper/spec/spec.opts +0 -2
  229. data/spec/rails3_mongo_mapper/spec/spec_helper.orig.rb +0 -27
  230. data/spec/rails3_mongo_mapper/spec/spec_helper.rb +0 -55
  231. data/spec/rails3_mongo_mapper/spec/user_activation_spec.rb +0 -9
  232. data/spec/rails3_mongo_mapper/spec/user_activity_logging_spec.rb +0 -8
  233. data/spec/rails3_mongo_mapper/spec/user_brute_force_protection_spec.rb +0 -8
  234. data/spec/rails3_mongo_mapper/spec/user_oauth_spec.rb +0 -8
  235. data/spec/rails3_mongo_mapper/spec/user_remember_me_spec.rb +0 -8
  236. data/spec/rails3_mongo_mapper/spec/user_reset_password_spec.rb +0 -8
  237. data/spec/rails3_mongo_mapper/spec/user_spec.rb +0 -37
  238. data/spec/rails3_mongo_mapper/vendor/plugins/.gitkeep +0 -0
  239. data/spec/rails3_mongoid/.gitignore +0 -4
  240. data/spec/rails3_mongoid/.rspec +0 -1
  241. data/spec/rails3_mongoid/Gemfile +0 -15
  242. data/spec/rails3_mongoid/Gemfile.lock +0 -146
  243. data/spec/rails3_mongoid/Rakefile +0 -11
  244. data/spec/rails3_mongoid/app/controllers/application_controller.rb +0 -127
  245. data/spec/rails3_mongoid/app/helpers/application_helper.rb +0 -2
  246. data/spec/rails3_mongoid/app/mailers/sorcery_mailer.rb +0 -25
  247. data/spec/rails3_mongoid/app/views/layouts/application.html.erb +0 -14
  248. data/spec/rails3_mongoid/app/views/sorcery_mailer/activation_email.html.erb +0 -17
  249. data/spec/rails3_mongoid/app/views/sorcery_mailer/activation_email.text.erb +0 -9
  250. data/spec/rails3_mongoid/app/views/sorcery_mailer/activation_success_email.html.erb +0 -17
  251. data/spec/rails3_mongoid/app/views/sorcery_mailer/activation_success_email.text.erb +0 -9
  252. data/spec/rails3_mongoid/app/views/sorcery_mailer/reset_password_email.html.erb +0 -16
  253. data/spec/rails3_mongoid/app/views/sorcery_mailer/reset_password_email.text.erb +0 -8
  254. data/spec/rails3_mongoid/config/application.rb +0 -51
  255. data/spec/rails3_mongoid/config/boot.rb +0 -13
  256. data/spec/rails3_mongoid/config/environment.rb +0 -5
  257. data/spec/rails3_mongoid/config/environments/development.rb +0 -26
  258. data/spec/rails3_mongoid/config/environments/in_memory.rb +0 -0
  259. data/spec/rails3_mongoid/config/environments/production.rb +0 -49
  260. data/spec/rails3_mongoid/config/environments/test.rb +0 -35
  261. data/spec/rails3_mongoid/config/initializers/backtrace_silencers.rb +0 -7
  262. data/spec/rails3_mongoid/config/initializers/inflections.rb +0 -10
  263. data/spec/rails3_mongoid/config/initializers/mime_types.rb +0 -5
  264. data/spec/rails3_mongoid/config/initializers/secret_token.rb +0 -7
  265. data/spec/rails3_mongoid/config/locales/en.yml +0 -5
  266. data/spec/rails3_mongoid/config/mongoid.yml +0 -7
  267. data/spec/rails3_mongoid/config/routes.rb +0 -59
  268. data/spec/rails3_mongoid/config.ru +0 -4
  269. data/spec/rails3_mongoid/db/schema.rb +0 -23
  270. data/spec/rails3_mongoid/db/seeds.rb +0 -7
  271. data/spec/rails3_mongoid/lib/tasks/.gitkeep +0 -0
  272. data/spec/rails3_mongoid/public/404.html +0 -26
  273. data/spec/rails3_mongoid/public/422.html +0 -26
  274. data/spec/rails3_mongoid/public/500.html +0 -26
  275. data/spec/rails3_mongoid/public/favicon.ico +0 -0
  276. data/spec/rails3_mongoid/public/images/rails.png +0 -0
  277. data/spec/rails3_mongoid/public/javascripts/application.js +0 -2
  278. data/spec/rails3_mongoid/public/javascripts/controls.js +0 -965
  279. data/spec/rails3_mongoid/public/javascripts/dragdrop.js +0 -974
  280. data/spec/rails3_mongoid/public/javascripts/effects.js +0 -1123
  281. data/spec/rails3_mongoid/public/javascripts/prototype.js +0 -6001
  282. data/spec/rails3_mongoid/public/javascripts/rails.js +0 -175
  283. data/spec/rails3_mongoid/public/robots.txt +0 -5
  284. data/spec/rails3_mongoid/public/stylesheets/.gitkeep +0 -0
  285. data/spec/rails3_mongoid/script/rails +0 -6
  286. data/spec/rails3_mongoid/spec/controller_activity_logging_spec.rb +0 -111
  287. data/spec/rails3_mongoid/spec/controller_spec.rb +0 -186
  288. data/spec/rails3_mongoid/spec/spec.opts +0 -2
  289. data/spec/rails3_mongoid/spec/spec_helper.orig.rb +0 -27
  290. data/spec/rails3_mongoid/spec/spec_helper.rb +0 -55
  291. data/spec/rails3_mongoid/spec/user_activation_spec.rb +0 -9
  292. data/spec/rails3_mongoid/spec/user_activity_logging_spec.rb +0 -8
  293. data/spec/rails3_mongoid/spec/user_brute_force_protection_spec.rb +0 -8
  294. data/spec/rails3_mongoid/spec/user_oauth_spec.rb +0 -8
  295. data/spec/rails3_mongoid/spec/user_remember_me_spec.rb +0 -8
  296. data/spec/rails3_mongoid/spec/user_reset_password_spec.rb +0 -8
  297. data/spec/rails3_mongoid/spec/user_spec.rb +0 -38
  298. data/spec/rails3_mongoid/vendor/plugins/.gitkeep +0 -0
  299. /data/lib/sorcery/{controller/submodules/external/protocols → protocols}/certs/ca-bundle.crt +0 -0
  300. /data/spec/{rails3/app/models → rails_app/app/active_record}/authentication.rb +0 -0
  301. /data/spec/{rails3 → rails_app}/app/helpers/application_helper.rb +0 -0
  302. /data/spec/{rails3 → rails_app}/app/mailers/sorcery_mailer.rb +0 -0
  303. /data/spec/{rails3_mongo_mapper/app/models → rails_app/app/mongo_mapper}/authentication.rb +0 -0
  304. /data/spec/{rails3_mongo_mapper/app/models → rails_app/app/mongo_mapper}/user.rb +0 -0
  305. /data/spec/{rails3_mongoid/app/models → rails_app/app/mongoid}/authentication.rb +0 -0
  306. /data/spec/{rails3 → rails_app}/app/views/application/index.html.erb +0 -0
  307. /data/spec/{rails3 → rails_app}/app/views/layouts/application.html.erb +0 -0
  308. /data/spec/{rails3 → rails_app}/app/views/sorcery_mailer/activation_email.html.erb +0 -0
  309. /data/spec/{rails3 → rails_app}/app/views/sorcery_mailer/activation_email.text.erb +0 -0
  310. /data/spec/{rails3/app/views/sorcery_mailer/activation_success_email.html.erb → rails_app/app/views/sorcery_mailer/activation_needed_email.html.erb} +0 -0
  311. /data/spec/{rails3_mongo_mapper → rails_app}/app/views/sorcery_mailer/activation_success_email.html.erb +0 -0
  312. /data/spec/{rails3 → rails_app}/app/views/sorcery_mailer/activation_success_email.text.erb +0 -0
  313. /data/spec/{rails3 → rails_app}/app/views/sorcery_mailer/reset_password_email.html.erb +0 -0
  314. /data/spec/{rails3 → rails_app}/app/views/sorcery_mailer/reset_password_email.text.erb +0 -0
  315. /data/spec/{rails3 → rails_app}/app/views/sorcery_mailer/send_unlock_token_email.text.erb +0 -0
  316. /data/spec/{rails3 → rails_app}/config/environment.rb +0 -0
  317. /data/spec/{rails3 → rails_app}/config/initializers/backtrace_silencers.rb +0 -0
  318. /data/spec/{rails3 → rails_app}/config/initializers/inflections.rb +0 -0
  319. /data/spec/{rails3 → rails_app}/config/initializers/mime_types.rb +0 -0
  320. /data/spec/{rails3 → rails_app}/config/initializers/secret_token.rb +0 -0
  321. /data/spec/{rails3 → rails_app}/config/locales/en.yml +0 -0
  322. /data/spec/{rails3 → rails_app}/db/migrate/activity_logging/20101224223624_add_activity_logging_to_users.rb +0 -0
  323. /data/spec/{rails3 → rails_app}/db/migrate/brute_force_protection/20101224223626_add_brute_force_protection_to_users.rb +0 -0
  324. /data/spec/{rails3 → rails_app}/db/migrate/core/20101224223620_create_users.rb +0 -0
  325. /data/spec/{rails3 → rails_app}/db/migrate/remember_me/20101224223623_add_remember_me_token_to_users.rb +0 -0
  326. /data/spec/{rails3 → rails_app}/db/migrate/reset_password/20101224223622_add_reset_password_to_users.rb +0 -0
  327. /data/spec/{rails3 → rails_app}/db/schema.rb +0 -0
  328. /data/spec/{rails3 → rails_app}/db/seeds.rb +0 -0
  329. /data/spec/{rails3 → rails_app}/public/404.html +0 -0
  330. /data/spec/{rails3 → rails_app}/public/422.html +0 -0
  331. /data/spec/{rails3 → rails_app}/public/500.html +0 -0
  332. /data/spec/{rails3 → rails_app}/public/favicon.ico +0 -0
  333. /data/spec/{rails3 → rails_app}/public/images/rails.png +0 -0
  334. /data/spec/{rails3 → rails_app}/public/javascripts/application.js +0 -0
  335. /data/spec/{rails3 → rails_app}/public/javascripts/controls.js +0 -0
  336. /data/spec/{rails3 → rails_app}/public/javascripts/dragdrop.js +0 -0
  337. /data/spec/{rails3 → rails_app}/public/javascripts/effects.js +0 -0
  338. /data/spec/{rails3 → rails_app}/public/javascripts/prototype.js +0 -0
  339. /data/spec/{rails3 → rails_app}/public/javascripts/rails.js +0 -0
  340. /data/spec/{rails3 → rails_app}/public/robots.txt +0 -0
  341. /data/spec/{rails3/lib/tasks → rails_app/public/stylesheets}/.gitkeep +0 -0
@@ -1,45 +1,53 @@
1
1
  shared_examples_for "rails_3_activation_model" do
2
- # ----------------- PLUGIN CONFIGURATION -----------------------
3
- describe User, "loaded plugin configuration" do
2
+ let(:user) { create_new_user }
3
+ let(:new_user) { build_new_user }
4
+
5
+ context "loaded plugin configuration" do
4
6
  before(:all) do
5
7
  sorcery_reload!([:user_activation], :user_activation_mailer => ::SorceryMailer)
6
8
  end
7
-
9
+
8
10
  after(:each) do
9
11
  User.sorcery_config.reset!
10
12
  sorcery_reload!([:user_activation], :user_activation_mailer => ::SorceryMailer)
11
13
  end
12
-
13
- it "should enable configuration option 'activation_state_attribute_name'" do
14
+
15
+ it "enables configuration option 'activation_state_attribute_name'" do
14
16
  sorcery_model_property_set(:activation_state_attribute_name, :status)
15
- User.sorcery_config.activation_state_attribute_name.should equal(:status)
17
+
18
+ expect(User.sorcery_config.activation_state_attribute_name).to eq :status
16
19
  end
17
-
18
- it "should enable configuration option 'activation_token_attribute_name'" do
20
+
21
+ it "enables configuration option 'activation_token_attribute_name'" do
19
22
  sorcery_model_property_set(:activation_token_attribute_name, :code)
20
- User.sorcery_config.activation_token_attribute_name.should equal(:code)
23
+
24
+ expect(User.sorcery_config.activation_token_attribute_name).to eql :code
21
25
  end
22
-
23
- it "should enable configuration option 'user_activation_mailer'" do
26
+
27
+ it "enables configuration option 'user_activation_mailer'" do
24
28
  sorcery_model_property_set(:user_activation_mailer, TestMailer)
25
- User.sorcery_config.user_activation_mailer.should equal(TestMailer)
29
+
30
+ expect(User.sorcery_config.user_activation_mailer).to equal(TestMailer)
26
31
  end
27
-
28
- it "should enable configuration option 'activation_needed_email_method_name'" do
32
+
33
+ it "enables configuration option 'activation_needed_email_method_name'" do
29
34
  sorcery_model_property_set(:activation_needed_email_method_name, :my_activation_email)
30
- User.sorcery_config.activation_needed_email_method_name.should equal(:my_activation_email)
35
+
36
+ expect(User.sorcery_config.activation_needed_email_method_name).to eq :my_activation_email
31
37
  end
32
-
33
- it "should enable configuration option 'activation_success_email_method_name'" do
38
+
39
+ it "enables configuration option 'activation_success_email_method_name'" do
34
40
  sorcery_model_property_set(:activation_success_email_method_name, :my_activation_email)
35
- User.sorcery_config.activation_success_email_method_name.should equal(:my_activation_email)
41
+
42
+ expect(User.sorcery_config.activation_success_email_method_name).to eq :my_activation_email
36
43
  end
37
44
 
38
- it "should enable configuration option 'activation_mailer_disabled'" do
45
+ it "enables configuration option 'activation_mailer_disabled'" do
39
46
  sorcery_model_property_set(:activation_mailer_disabled, :my_activation_mailer_disabled)
40
- User.sorcery_config.activation_mailer_disabled.should equal(:my_activation_mailer_disabled)
47
+
48
+ expect(User.sorcery_config.activation_mailer_disabled).to eq :my_activation_mailer_disabled
41
49
  end
42
-
50
+
43
51
  it "if mailer is nil and mailer is enabled, throw exception!" do
44
52
  expect{sorcery_reload!([:user_activation], :activation_mailer_disabled => false)}.to raise_error(ArgumentError)
45
53
  end
@@ -49,72 +57,88 @@ shared_examples_for "rails_3_activation_model" do
49
57
  end
50
58
  end
51
59
 
52
- # ----------------- ACTIVATION PROCESS -----------------------
53
- describe User, "activation process" do
60
+
61
+ context "activation process" do
54
62
  before(:all) do
55
63
  sorcery_reload!([:user_activation], :user_activation_mailer => ::SorceryMailer)
56
64
  end
57
-
58
- before(:each) do
59
- create_new_user
60
- end
61
-
62
- it "should initialize user state to 'pending'" do
63
- @user.activation_state.should == "pending"
65
+
66
+ it "initializes user state to 'pending'" do
67
+ expect(user.activation_state).to eq "pending"
64
68
  end
65
-
66
- specify { @user.should respond_to(:activate!) }
67
-
68
- it "should clear activation code and change state to 'active' on activation" do
69
- activation_token = @user.activation_token
70
- @user.activate!
71
- @user2 = User.find(@user.id) # go to db to make sure it was saved and not just in memory
72
- @user2.activation_token.should be_nil
73
- @user2.activation_state.should == "active"
74
- User.find_by_activation_token(activation_token).should be_nil
69
+
70
+ specify { expect(user).to respond_to :activate! }
71
+
72
+ it "clears activation code and change state to 'active' on activation" do
73
+ activation_token = user.activation_token
74
+ user.activate!
75
+ user2 = User.find(user.id) # go to db to make sure it was saved and not just in memory
76
+
77
+ expect(user2.activation_token).to be_nil
78
+ expect(user2.activation_state).to eq "active"
79
+ expect(User.find_by_activation_token activation_token).to be_nil
75
80
  end
76
81
 
77
82
 
78
83
  context "mailer is enabled" do
79
- it "should send the user an activation email" do
84
+ it "sends the user an activation email" do
80
85
  old_size = ActionMailer::Base.deliveries.size
81
86
  create_new_user
82
- ActionMailer::Base.deliveries.size.should == old_size + 1
87
+
88
+ expect(ActionMailer::Base.deliveries.size).to eq old_size + 1
89
+ end
90
+
91
+ it "calls send_activation_needed_email! method of user" do
92
+ expect(new_user).to receive(:send_activation_needed_email!).once
93
+
94
+ new_user.sorcery_save(:raise_on_failure => true)
83
95
  end
84
96
 
85
97
  it "subsequent saves do not send activation email" do
98
+ user
86
99
  old_size = ActionMailer::Base.deliveries.size
87
- @user.username = "Shauli"
88
- @user.save!
89
- ActionMailer::Base.deliveries.size.should == old_size
100
+ user.email = "Shauli"
101
+ user.sorcery_save(:raise_on_failure => true)
102
+
103
+ expect(ActionMailer::Base.deliveries.size).to eq old_size
90
104
  end
91
105
 
92
- it "should send the user an activation success email on successful activation" do
106
+ it "sends the user an activation success email on successful activation" do
107
+ user
93
108
  old_size = ActionMailer::Base.deliveries.size
94
- @user.activate!
95
- ActionMailer::Base.deliveries.size.should == old_size + 1
109
+ user.activate!
110
+
111
+ expect(ActionMailer::Base.deliveries.size).to eq old_size + 1
112
+ end
113
+
114
+ it "calls send_activation_success_email! method of user on activation" do
115
+ expect(user).to receive(:send_activation_success_email!).once
116
+
117
+ user.activate!
96
118
  end
97
119
 
98
120
  it "subsequent saves do not send activation success email" do
99
- @user.activate!
121
+ user.activate!
100
122
  old_size = ActionMailer::Base.deliveries.size
101
- @user.username = "Shauli"
102
- @user.save!
103
- ActionMailer::Base.deliveries.size.should == old_size
123
+ user.email = "Shauli"
124
+ user.sorcery_save(:raise_on_failure => true)
125
+
126
+ expect(ActionMailer::Base.deliveries.size).to eq old_size
104
127
  end
105
128
 
106
129
  it "activation needed email is optional" do
107
130
  sorcery_model_property_set(:activation_needed_email_method_name, nil)
108
131
  old_size = ActionMailer::Base.deliveries.size
109
- create_new_user
110
- ActionMailer::Base.deliveries.size.should == old_size
132
+
133
+ expect(ActionMailer::Base.deliveries.size).to eq old_size
111
134
  end
112
135
 
113
136
  it "activation success email is optional" do
114
137
  sorcery_model_property_set(:activation_success_email_method_name, nil)
115
138
  old_size = ActionMailer::Base.deliveries.size
116
- @user.activate!
117
- ActionMailer::Base.deliveries.size.should == old_size
139
+ user.activate!
140
+
141
+ expect(ActionMailer::Base.deliveries.size).to eq old_size
118
142
  end
119
143
  end
120
144
 
@@ -123,81 +147,96 @@ shared_examples_for "rails_3_activation_model" do
123
147
  sorcery_reload!([:user_activation], :activation_mailer_disabled => true, :user_activation_mailer => ::SorceryMailer)
124
148
  end
125
149
 
126
- it "should not send the user an activation email" do
150
+ it "does not send the user an activation email" do
127
151
  old_size = ActionMailer::Base.deliveries.size
128
- create_new_user
129
- ActionMailer::Base.deliveries.size.should == old_size
152
+
153
+ expect(ActionMailer::Base.deliveries.size).to eq old_size
130
154
  end
131
155
 
132
- it "should not send the user an activation success email on successful activation" do
156
+ it "does not call send_activation_needed_email! method of user" do
157
+ user = build_new_user
158
+
159
+ expect(user).to receive(:send_activation_needed_email!).never
160
+
161
+ user.sorcery_save(:raise_on_failure => true)
162
+ end
163
+
164
+ it "does not send the user an activation success email on successful activation" do
133
165
  old_size = ActionMailer::Base.deliveries.size
134
- @user.activate!
135
- ActionMailer::Base.deliveries.size.should == old_size
166
+ user.activate!
167
+
168
+ expect(ActionMailer::Base.deliveries.size).to eq old_size
169
+ end
170
+
171
+ it "calls send_activation_success_email! method of user on activation" do
172
+ expect(user).to receive(:send_activation_success_email!).never
173
+
174
+ user.activate!
136
175
  end
137
176
  end
138
177
  end
139
178
 
140
- describe User, "prevent non-active login feature" do
179
+ describe "prevent non-active login feature" do
141
180
  before(:all) do
142
181
  sorcery_reload!([:user_activation], :user_activation_mailer => ::SorceryMailer)
143
182
  end
144
183
 
145
184
  before(:each) do
146
185
  User.delete_all
147
- create_new_user
148
186
  end
149
187
 
150
- it "should not allow a non-active user to authenticate" do
151
- User.authenticate(@user.username,'secret').should be_false
188
+ it "does not allow a non-active user to authenticate" do
189
+ expect(User.authenticate user.email, 'secret').to be_falsy
152
190
  end
153
-
154
- it "should allow a non-active user to authenticate if configured so" do
191
+
192
+ it "allows a non-active user to authenticate if configured so" do
155
193
  sorcery_model_property_set(:prevent_non_active_users_to_login, false)
156
- User.authenticate(@user.username,'secret').should be_true
194
+
195
+ expect(User.authenticate user.email, 'secret').to be_truthy
157
196
  end
158
197
  end
159
-
160
- describe User, "load_from_activation_token" do
198
+
199
+ describe "load_from_activation_token" do
161
200
  before(:all) do
162
201
  sorcery_reload!([:user_activation], :user_activation_mailer => ::SorceryMailer)
163
202
  end
164
-
203
+
165
204
  after(:each) do
166
205
  Timecop.return
167
206
  end
168
-
169
- it "load_from_activation_token should return user when token is found" do
170
- create_new_user
171
- User.load_from_activation_token(@user.activation_token).should == @user
207
+
208
+ it "load_from_activation_token returns user when token is found" do
209
+ expect(User.load_from_activation_token user.activation_token).to eq user
172
210
  end
173
-
174
- it "load_from_activation_token should NOT return user when token is NOT found" do
175
- create_new_user
176
- User.load_from_activation_token("a").should == nil
211
+
212
+ it "load_from_activation_token does NOT return user when token is NOT found" do
213
+ expect(User.load_from_activation_token "a").to be_nil
177
214
  end
178
-
179
- it "load_from_activation_token should return user when token is found and not expired" do
215
+
216
+ it "load_from_activation_token returas user when token is found and not expired" do
180
217
  sorcery_model_property_set(:activation_token_expiration_period, 500)
181
- create_new_user
182
- User.load_from_activation_token(@user.activation_token).should == @user
218
+
219
+ expect(User.load_from_activation_token user.activation_token).to eq user
183
220
  end
184
-
185
- it "load_from_activation_token should NOT return user when token is found and expired" do
221
+
222
+ it "load_from_activation_token does NOT return user when token is found and expired" do
186
223
  sorcery_model_property_set(:activation_token_expiration_period, 0.1)
187
- create_new_user
224
+ user
225
+
188
226
  Timecop.travel(Time.now.in_time_zone+0.5)
189
- User.load_from_activation_token(@user.activation_token).should == nil
227
+
228
+ expect(User.load_from_activation_token user.activation_token).to be_nil
190
229
  end
191
-
192
- it "load_from_activation_token should return nil if token is blank" do
193
- User.load_from_activation_token(nil).should == nil
194
- User.load_from_activation_token("").should == nil
230
+
231
+ it "load_from_activation_token returns nil if token is blank" do
232
+ expect(User.load_from_activation_token nil).to be_nil
233
+ expect(User.load_from_activation_token "").to be_nil
195
234
  end
196
-
197
- it "load_from_activation_token should always be valid if expiration period is nil" do
235
+
236
+ it "load_from_activation_token is always valid if expiration period is nil" do
198
237
  sorcery_model_property_set(:activation_token_expiration_period, nil)
199
- create_new_user
200
- User.load_from_activation_token(@user.activation_token).should == @user
238
+
239
+ expect(User.load_from_activation_token user.activation_token).to eq user
201
240
  end
202
241
  end
203
- end
242
+ end
@@ -1,6 +1,5 @@
1
1
  shared_examples_for "rails_3_activity_logging_model" do
2
- # ----------------- PLUGIN CONFIGURATION -----------------------
3
- describe User, "loaded plugin configuration" do
2
+ context "loaded plugin configuration" do
4
3
  before(:all) do
5
4
  sorcery_reload!([:activity_logging])
6
5
  end
@@ -9,24 +8,25 @@ shared_examples_for "rails_3_activity_logging_model" do
9
8
  User.sorcery_config.reset!
10
9
  end
11
10
 
12
- it "should allow configuration option 'last_login_at_attribute_name'" do
11
+ it "allows configuration option 'last_login_at_attribute_name'" do
13
12
  sorcery_model_property_set(:last_login_at_attribute_name, :login_time)
14
- User.sorcery_config.last_login_at_attribute_name.should equal(:login_time)
13
+
14
+ expect(User.sorcery_config.last_login_at_attribute_name).to eq :login_time
15
15
  end
16
16
 
17
- it "should allow configuration option 'last_logout_at_attribute_name'" do
17
+ it "allows configuration option 'last_logout_at_attribute_name'" do
18
18
  sorcery_model_property_set(:last_logout_at_attribute_name, :logout_time)
19
- User.sorcery_config.last_logout_at_attribute_name.should equal(:logout_time)
19
+ expect(User.sorcery_config.last_logout_at_attribute_name).to eq :logout_time
20
20
  end
21
21
 
22
- it "should allow configuration option 'last_activity_at_attribute_name'" do
22
+ it "allows configuration option 'last_activity_at_attribute_name'" do
23
23
  sorcery_model_property_set(:last_activity_at_attribute_name, :activity_time)
24
- User.sorcery_config.last_activity_at_attribute_name.should equal(:activity_time)
24
+ expect(User.sorcery_config.last_activity_at_attribute_name).to eq :activity_time
25
25
  end
26
26
 
27
- it "should allow configuration option 'last_login_from_ip_adress'" do
27
+ it "allows configuration option 'last_login_from_ip_adress'" do
28
28
  sorcery_model_property_set(:last_login_from_ip_address_name, :ip_address)
29
- User.sorcery_config.last_login_from_ip_address_name.should equal(:ip_address)
29
+ expect(User.sorcery_config.last_login_from_ip_address_name).to eq :ip_address
30
30
  end
31
31
  end
32
32
  end
@@ -1,37 +1,38 @@
1
1
  shared_examples_for "rails_3_brute_force_protection_model" do
2
- # ----------------- PLUGIN CONFIGURATION -----------------------
3
- describe User, "loaded plugin configuration" do
2
+ context "loaded plugin configuration" do
3
+
4
+ let(:config) { User.sorcery_config }
5
+ let(:user) { create_new_user }
4
6
 
5
7
  before(:all) do
6
8
  sorcery_reload!([:brute_force_protection])
7
- create_new_user
8
9
  end
9
10
 
10
11
  after(:each) do
11
12
  User.sorcery_config.reset!
12
13
  end
13
14
 
14
- specify { @user.should respond_to(:failed_logins_count) }
15
- specify { @user.should respond_to(:lock_expires_at) }
15
+ specify { expect(user).to respond_to(:failed_logins_count) }
16
+ specify { expect(user).to respond_to(:lock_expires_at) }
16
17
 
17
- it "should enable configuration option 'failed_logins_count_attribute_name'" do
18
+ it "enables configuration option 'failed_logins_count_attribute_name'" do
18
19
  sorcery_model_property_set(:failed_logins_count_attribute_name, :my_count)
19
- User.sorcery_config.failed_logins_count_attribute_name.should equal(:my_count)
20
+ expect(config.failed_logins_count_attribute_name).to eq :my_count
20
21
  end
21
22
 
22
- it "should enable configuration option 'lock_expires_at_attribute_name'" do
23
+ it "enables configuration option 'lock_expires_at_attribute_name'" do
23
24
  sorcery_model_property_set(:lock_expires_at_attribute_name, :expires)
24
- User.sorcery_config.lock_expires_at_attribute_name.should equal(:expires)
25
+ expect(config.lock_expires_at_attribute_name).to eq :expires
25
26
  end
26
27
 
27
- it "should enable configuration option 'consecutive_login_retries_amount_allowed'" do
28
+ it "enables configuration option 'consecutive_login_retries_amount_allowed'" do
28
29
  sorcery_model_property_set(:consecutive_login_retries_amount_limit, 34)
29
- User.sorcery_config.consecutive_login_retries_amount_limit.should equal(34)
30
+ expect(config.consecutive_login_retries_amount_limit).to eq 34
30
31
  end
31
32
 
32
- it "should enable configuration option 'login_lock_time_period'" do
33
+ it "enables configuration option 'login_lock_time_period'" do
33
34
  sorcery_model_property_set(:login_lock_time_period, 2.hours)
34
- User.sorcery_config.login_lock_time_period.should == 2.hours
35
+ expect(config.login_lock_time_period).to eq 2.hours
35
36
  end
36
37
  end
37
38
  end
@@ -1,31 +1,39 @@
1
1
  shared_examples_for "rails_3_oauth_model" do
2
2
  # ----------------- PLUGIN CONFIGURATION -----------------------
3
- describe User, "loaded plugin configuration" do
4
-
3
+
4
+ let(:external_user) { create_new_external_user :twitter }
5
+
6
+ describe "loaded plugin configuration" do
7
+
5
8
  before(:all) do
9
+ if defined?(DataMapper) && User.ancestors.include?(DataMapper::Resource)
10
+ Authentication.all.destroy
11
+ else
12
+ Authentication.delete_all
13
+ end
6
14
  User.delete_all
7
- Authentication.delete_all
8
15
  sorcery_reload!([:external])
9
16
  sorcery_controller_property_set(:external_providers, [:twitter])
10
17
  sorcery_model_property_set(:authentications_class, Authentication)
11
18
  sorcery_controller_external_property_set(:twitter, :key, "eYVNBjBDi33aa9GkA3w")
12
19
  sorcery_controller_external_property_set(:twitter, :secret, "XpbeSdCoaKSmQGSeokz5qcUATClRW5u08QWNfv71N8")
13
20
  sorcery_controller_external_property_set(:twitter, :callback_url, "http://blabla.com")
14
- create_new_external_user(:twitter)
15
21
  end
16
22
 
17
- it "should respond to 'load_from_provider'" do
18
- User.should respond_to(:load_from_provider)
23
+ it "responds to 'load_from_provider'" do
24
+ expect(User).to respond_to(:load_from_provider)
19
25
  end
20
-
21
- it "'load_from_provider' should load user if exists" do
22
- User.load_from_provider(:twitter,123).should == @user
26
+
27
+ it "'load_from_provider' loads user if exists" do
28
+ external_user
29
+ expect(User.load_from_provider :twitter, 123).to eq external_user
23
30
  end
24
-
25
- it "'load_from_provider' should return nil if user doesn't exist" do
26
- User.load_from_provider(:twitter,980342).should be_nil
31
+
32
+ it "'load_from_provider' returns nil if user doesn't exist" do
33
+ external_user
34
+ expect(User.load_from_provider :twitter, 980342).to be_nil
27
35
  end
28
-
36
+
29
37
  end
30
-
31
- end
38
+
39
+ end
@@ -1,48 +1,57 @@
1
1
  shared_examples_for "rails_3_remember_me_model" do
2
- # ----------------- PLUGIN CONFIGURATION -----------------------
3
- describe User, "loaded plugin configuration" do
2
+ let(:user) { create_new_user }
3
+
4
+ describe "loaded plugin configuration" do
5
+
4
6
  before(:all) do
5
7
  sorcery_reload!([:remember_me])
6
- create_new_user
7
8
  end
8
9
 
9
10
  after(:each) do
10
11
  User.sorcery_config.reset!
11
12
  end
12
13
 
13
- it "should allow configuration option 'remember_me_token_attribute_name'" do
14
+ it "allows configuration option 'remember_me_token_attribute_name'" do
14
15
  sorcery_model_property_set(:remember_me_token_attribute_name, :my_token)
15
- User.sorcery_config.remember_me_token_attribute_name.should equal(:my_token)
16
+
17
+ expect(User.sorcery_config.remember_me_token_attribute_name).to eq :my_token
16
18
  end
17
19
 
18
- it "should allow configuration option 'remember_me_token_expires_at_attribute_name'" do
20
+ it "allows configuration option 'remember_me_token_expires_at_attribute_name'" do
19
21
  sorcery_model_property_set(:remember_me_token_expires_at_attribute_name, :my_expires)
20
- User.sorcery_config.remember_me_token_expires_at_attribute_name.should equal(:my_expires)
22
+
23
+ expect(User.sorcery_config.remember_me_token_expires_at_attribute_name).to eq :my_expires
21
24
  end
22
25
 
23
- specify { @user.should respond_to(:remember_me!) }
24
-
25
- specify { @user.should respond_to(:forget_me!) }
26
+ specify { expect(user).to respond_to :remember_me! }
27
+
28
+ specify { expect(user).to respond_to :forget_me! }
26
29
 
27
- it "should generate a new token on 'remember_me!'" do
28
- @user.remember_me_token.should be_nil
29
- @user.remember_me!
30
- @user.remember_me_token.should_not be_nil
30
+ it "generates a new token on 'remember_me!'" do
31
+ expect(user.remember_me_token).to be_nil
32
+
33
+ user.remember_me!
34
+
35
+ expect(user.remember_me_token).not_to be_nil
31
36
  end
32
37
 
33
38
  # FIXME: assert on line 37 sometimes fails by a second
34
- it "should set an expiration based on 'remember_me_for' attribute" do
39
+ it "sets an expiration based on 'remember_me_for' attribute" do
35
40
  sorcery_model_property_set(:remember_me_for, 2 * 60 * 60 * 24)
36
- @user.remember_me!
37
- @user.remember_me_token_expires_at.utc.to_s.should == (Time.now.in_time_zone + 2 * 60 * 60 * 24).utc.to_s
41
+ user.remember_me!
42
+
43
+ expect(user.remember_me_token_expires_at.utc.to_s).to eq (Time.now.in_time_zone + 2 * 60 * 60 * 24).utc.to_s
38
44
  end
39
45
 
40
- it "should delete the token and expiration on 'forget_me!'" do
41
- @user.remember_me!
42
- @user.remember_me_token.should_not be_nil
43
- @user.forget_me!
44
- @user.remember_me_token.should be_nil
45
- @user.remember_me_token_expires_at.should be_nil
46
+ it "deletes the token and expiration on 'forget_me!'" do
47
+ user.remember_me!
48
+
49
+ expect(user.remember_me_token).not_to be_nil
50
+
51
+ user.forget_me!
52
+
53
+ expect(user.remember_me_token).to be_nil
54
+ expect(user.remember_me_token_expires_at).to be_nil
46
55
  end
47
56
  end
48
57
  end