adva_user 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (95) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +17 -0
  3. data/Gemfile +4 -0
  4. data/LICENSE +22 -0
  5. data/README +114 -0
  6. data/README.md +29 -0
  7. data/Rakefile +2 -0
  8. data/adva_user.gemspec +17 -0
  9. data/app/controllers/admin/base_account_controller.rb +13 -0
  10. data/app/controllers/admin/users_controller.rb +95 -0
  11. data/app/controllers/password_controller.rb +36 -0
  12. data/app/controllers/session_controller.rb +30 -0
  13. data/app/helpers/users_helper.rb +27 -0
  14. data/app/models/account.rb +7 -0
  15. data/app/models/membership.rb +16 -0
  16. data/app/models/password_mailer.rb +43 -0
  17. data/app/models/user.rb +106 -0
  18. data/app/views/admin/users/_form.html.erb +29 -0
  19. data/app/views/admin/users/_sidebar.html.erb +8 -0
  20. data/app/views/admin/users/edit.html.erb +7 -0
  21. data/app/views/admin/users/index.html.erb +13 -0
  22. data/app/views/admin/users/new.html.erb +5 -0
  23. data/app/views/admin/users/show.html.erb +27 -0
  24. data/app/views/layouts/login.html.erb +24 -0
  25. data/app/views/password/edit.html.erb +14 -0
  26. data/app/views/password/new.html.erb +13 -0
  27. data/app/views/password_mailer/reset_password_email.html.erb +3 -0
  28. data/app/views/password_mailer/updated_password_email.html.erb +1 -0
  29. data/app/views/session/new.html.erb +17 -0
  30. data/config/initializers/menus.rb +25 -0
  31. data/config/routes.rb +14 -0
  32. data/db/migrate/20080402000001_create_users_table.rb +33 -0
  33. data/db/migrate/20080402000005_create_memberships_table.rb +13 -0
  34. data/db/migrate/20090625124502_create_accounts.rb +13 -0
  35. data/db/migrate/20090625133231_add_account_to_user.rb +10 -0
  36. data/lib/action_controller/authenticate_anonymous.rb +70 -0
  37. data/lib/action_controller/authenticate_user.rb +201 -0
  38. data/lib/active_record/belongs_to_author.rb +37 -0
  39. data/lib/adva_user.rb +28 -0
  40. data/lib/adva_user/version.rb +3 -0
  41. data/lib/login/helper_integration.rb +11 -0
  42. data/lib/login/mail_config.rb +39 -0
  43. data/test/contexts.rb +42 -0
  44. data/test/fixtures.rb +18 -0
  45. data/test/functional/admin/users_controller_test.rb +176 -0
  46. data/test/functional/password_controller_test.rb +96 -0
  47. data/test/functional/session_controller_test.rb +1 -0
  48. data/test/functional/user_controller_test.rb +95 -0
  49. data/test/integration/anonymous_login_test.rb +39 -0
  50. data/test/integration/edit_user_test.rb +44 -0
  51. data/test/integration/memberships_test.rb +52 -0
  52. data/test/integration/user_deletion_test.rb +27 -0
  53. data/test/integration/user_login_test.rb +53 -0
  54. data/test/integration/user_login_with_remember_me_test.rb +20 -0
  55. data/test/integration/user_registration_test.rb +64 -0
  56. data/test/test_helper.rb +1 -0
  57. data/test/unit/cells/user_cell_test.rb +13 -0
  58. data/test/unit/helpers/users_helper_test.rb +52 -0
  59. data/test/unit/models/account_test.rb +21 -0
  60. data/test/unit/models/anonymous_test.rb +54 -0
  61. data/test/unit/models/password_mailer_test.rb +26 -0
  62. data/test/unit/models/user_mailer_test.rb +16 -0
  63. data/test/unit/models/user_test.rb +173 -0
  64. data/vendor/gems/authentication/.gitignore +17 -0
  65. data/vendor/gems/authentication/Gemfile +4 -0
  66. data/vendor/gems/authentication/LICENSE +22 -0
  67. data/vendor/gems/authentication/MIT-LICENSE +38 -0
  68. data/vendor/gems/authentication/README +39 -0
  69. data/vendor/gems/authentication/README.md +29 -0
  70. data/vendor/gems/authentication/RUNNING_UNIT_TESTS +13 -0
  71. data/vendor/gems/authentication/Rakefile +61 -0
  72. data/vendor/gems/authentication/authentication.gemspec +17 -0
  73. data/vendor/gems/authentication/lib/authentication.rb +270 -0
  74. data/vendor/gems/authentication/lib/authentication/active_record_extensions.rb +11 -0
  75. data/vendor/gems/authentication/lib/authentication/bogus.rb +13 -0
  76. data/vendor/gems/authentication/lib/authentication/hash_helper.rb +26 -0
  77. data/vendor/gems/authentication/lib/authentication/ldap.rb +49 -0
  78. data/vendor/gems/authentication/lib/authentication/remember_me.rb +52 -0
  79. data/vendor/gems/authentication/lib/authentication/salted_hash.rb +53 -0
  80. data/vendor/gems/authentication/lib/authentication/single_token.rb +53 -0
  81. data/vendor/gems/authentication/lib/authentication/version.rb +3 -0
  82. data/vendor/gems/authentication/lib/radius/dictionary +207 -0
  83. data/vendor/gems/authentication/test_backup/abstract_unit.rb +30 -0
  84. data/vendor/gems/authentication/test_backup/active_record_extension_test.rb +17 -0
  85. data/vendor/gems/authentication/test_backup/authentication_test.rb +231 -0
  86. data/vendor/gems/authentication/test_backup/database.yml +12 -0
  87. data/vendor/gems/authentication/test_backup/fixtures/user.rb +3 -0
  88. data/vendor/gems/authentication/test_backup/fixtures/users.yml +3 -0
  89. data/vendor/gems/authentication/test_backup/options_test.rb +100 -0
  90. data/vendor/gems/authentication/test_backup/remember_me_test.rb +41 -0
  91. data/vendor/gems/authentication/test_backup/salted_hash_test.rb +38 -0
  92. data/vendor/gems/authentication/test_backup/schema.rb +10 -0
  93. data/vendor/gems/authentication/test_backup/single_token_test.rb +44 -0
  94. data/vendor/gems/authentication/test_backup/test_helper.rb +8 -0
  95. metadata +157 -0
@@ -0,0 +1,10 @@
1
+ ActiveRecord::Schema.define(:version => 0) do
2
+ create_table :users, :force => true do |t|
3
+ t.column :name, :string, :null => false
4
+ t.column :password_hash, :string, :length => 40
5
+ t.column :password_salt, :string, :length => 40
6
+ t.column :token_key, :string, :length => 40
7
+ t.column :token_expiration, :datetime
8
+ t.column :remember_me, :string, :length => 40
9
+ end
10
+ end
@@ -0,0 +1,44 @@
1
+ require 'test/unit'
2
+ require File.join(File.dirname(__FILE__), 'abstract_unit')
3
+
4
+ # Tests SingleToken to see if it can allocate tokens and validate
5
+ # those tokens correctly
6
+ class SingleTokenTest < Test::Unit::TestCase
7
+ include Authentication::HashHelper
8
+ fixtures :users
9
+
10
+ def setup
11
+ @tokener = Authentication::SingleToken.new
12
+
13
+ @joe = users(:joe)
14
+ @key = @tokener.assign_token @joe, 'standard', 3.days.from_now
15
+ @joe.save!
16
+ @joe.reload
17
+ end
18
+
19
+ def test_assign_token
20
+ assert_equal hash_string(@key), @joe.token_key
21
+ assert_equal 3.days.from_now.to_date, @joe.token_expiration.to_date
22
+ end
23
+
24
+ def test_authenticate
25
+ assert @tokener.authenticate(@joe, @key)
26
+ assert !@tokener.authenticate(@joe, "invalid key")
27
+ end
28
+
29
+ def test_expired_token
30
+ expired_key = @tokener.assign_token @joe, 'past', 1.day.ago
31
+ @joe.save!
32
+ @joe.reload
33
+
34
+ assert !@tokener.authenticate(@joe, expired_key)
35
+ end
36
+
37
+ def test_token_without_expiration
38
+ no_exp_key = @tokener.assign_token @joe, 'no_exp', nil
39
+ @joe.save!
40
+ @joe.reload
41
+
42
+ assert @tokener.authenticate(@joe, no_exp_key)
43
+ end
44
+ end
@@ -0,0 +1,8 @@
1
+ # Plugin specific configuration and helper functions
2
+ class Test::Unit::TestCase
3
+ # Turn off transactional fixtures if you're working with MyISAM tables in MySQL
4
+ self.use_transactional_fixtures = false
5
+
6
+ # Instantiated fixtures are slow, but give you @david where you otherwise would need people(:david)
7
+ self.use_instantiated_fixtures = false
8
+ end
metadata ADDED
@@ -0,0 +1,157 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: adva_user
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - Micah Geisel
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2016-02-29 00:00:00.000000000 Z
12
+ dependencies: []
13
+ description: Adva User
14
+ email:
15
+ - micah@botandrose.com
16
+ executables: []
17
+ extensions: []
18
+ extra_rdoc_files: []
19
+ files:
20
+ - ".gitignore"
21
+ - Gemfile
22
+ - LICENSE
23
+ - README
24
+ - README.md
25
+ - Rakefile
26
+ - adva_user.gemspec
27
+ - app/controllers/admin/base_account_controller.rb
28
+ - app/controllers/admin/users_controller.rb
29
+ - app/controllers/password_controller.rb
30
+ - app/controllers/session_controller.rb
31
+ - app/helpers/users_helper.rb
32
+ - app/models/account.rb
33
+ - app/models/membership.rb
34
+ - app/models/password_mailer.rb
35
+ - app/models/user.rb
36
+ - app/views/admin/users/_form.html.erb
37
+ - app/views/admin/users/_sidebar.html.erb
38
+ - app/views/admin/users/edit.html.erb
39
+ - app/views/admin/users/index.html.erb
40
+ - app/views/admin/users/new.html.erb
41
+ - app/views/admin/users/show.html.erb
42
+ - app/views/layouts/login.html.erb
43
+ - app/views/password/edit.html.erb
44
+ - app/views/password/new.html.erb
45
+ - app/views/password_mailer/reset_password_email.html.erb
46
+ - app/views/password_mailer/updated_password_email.html.erb
47
+ - app/views/session/new.html.erb
48
+ - config/initializers/menus.rb
49
+ - config/routes.rb
50
+ - db/migrate/20080402000001_create_users_table.rb
51
+ - db/migrate/20080402000005_create_memberships_table.rb
52
+ - db/migrate/20090625124502_create_accounts.rb
53
+ - db/migrate/20090625133231_add_account_to_user.rb
54
+ - lib/action_controller/authenticate_anonymous.rb
55
+ - lib/action_controller/authenticate_user.rb
56
+ - lib/active_record/belongs_to_author.rb
57
+ - lib/adva_user.rb
58
+ - lib/adva_user/version.rb
59
+ - lib/login/helper_integration.rb
60
+ - lib/login/mail_config.rb
61
+ - test/contexts.rb
62
+ - test/fixtures.rb
63
+ - test/functional/admin/users_controller_test.rb
64
+ - test/functional/password_controller_test.rb
65
+ - test/functional/session_controller_test.rb
66
+ - test/functional/user_controller_test.rb
67
+ - test/integration/anonymous_login_test.rb
68
+ - test/integration/edit_user_test.rb
69
+ - test/integration/memberships_test.rb
70
+ - test/integration/user_deletion_test.rb
71
+ - test/integration/user_login_test.rb
72
+ - test/integration/user_login_with_remember_me_test.rb
73
+ - test/integration/user_registration_test.rb
74
+ - test/test_helper.rb
75
+ - test/unit/cells/user_cell_test.rb
76
+ - test/unit/helpers/users_helper_test.rb
77
+ - test/unit/models/account_test.rb
78
+ - test/unit/models/anonymous_test.rb
79
+ - test/unit/models/password_mailer_test.rb
80
+ - test/unit/models/user_mailer_test.rb
81
+ - test/unit/models/user_test.rb
82
+ - vendor/gems/authentication/.gitignore
83
+ - vendor/gems/authentication/Gemfile
84
+ - vendor/gems/authentication/LICENSE
85
+ - vendor/gems/authentication/MIT-LICENSE
86
+ - vendor/gems/authentication/README
87
+ - vendor/gems/authentication/README.md
88
+ - vendor/gems/authentication/RUNNING_UNIT_TESTS
89
+ - vendor/gems/authentication/Rakefile
90
+ - vendor/gems/authentication/authentication.gemspec
91
+ - vendor/gems/authentication/lib/authentication.rb
92
+ - vendor/gems/authentication/lib/authentication/active_record_extensions.rb
93
+ - vendor/gems/authentication/lib/authentication/bogus.rb
94
+ - vendor/gems/authentication/lib/authentication/hash_helper.rb
95
+ - vendor/gems/authentication/lib/authentication/ldap.rb
96
+ - vendor/gems/authentication/lib/authentication/remember_me.rb
97
+ - vendor/gems/authentication/lib/authentication/salted_hash.rb
98
+ - vendor/gems/authentication/lib/authentication/single_token.rb
99
+ - vendor/gems/authentication/lib/authentication/version.rb
100
+ - vendor/gems/authentication/lib/radius/dictionary
101
+ - vendor/gems/authentication/test_backup/abstract_unit.rb
102
+ - vendor/gems/authentication/test_backup/active_record_extension_test.rb
103
+ - vendor/gems/authentication/test_backup/authentication_test.rb
104
+ - vendor/gems/authentication/test_backup/database.yml
105
+ - vendor/gems/authentication/test_backup/fixtures/user.rb
106
+ - vendor/gems/authentication/test_backup/fixtures/users.yml
107
+ - vendor/gems/authentication/test_backup/options_test.rb
108
+ - vendor/gems/authentication/test_backup/remember_me_test.rb
109
+ - vendor/gems/authentication/test_backup/salted_hash_test.rb
110
+ - vendor/gems/authentication/test_backup/schema.rb
111
+ - vendor/gems/authentication/test_backup/single_token_test.rb
112
+ - vendor/gems/authentication/test_backup/test_helper.rb
113
+ homepage: ''
114
+ licenses: []
115
+ metadata: {}
116
+ post_install_message:
117
+ rdoc_options: []
118
+ require_paths:
119
+ - lib
120
+ required_ruby_version: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - ">="
123
+ - !ruby/object:Gem::Version
124
+ version: '0'
125
+ required_rubygems_version: !ruby/object:Gem::Requirement
126
+ requirements:
127
+ - - ">="
128
+ - !ruby/object:Gem::Version
129
+ version: '0'
130
+ requirements: []
131
+ rubyforge_project:
132
+ rubygems_version: 2.4.6
133
+ signing_key:
134
+ specification_version: 4
135
+ summary: Engine for Adva CMS user accounts
136
+ test_files:
137
+ - test/contexts.rb
138
+ - test/fixtures.rb
139
+ - test/functional/admin/users_controller_test.rb
140
+ - test/functional/password_controller_test.rb
141
+ - test/functional/session_controller_test.rb
142
+ - test/functional/user_controller_test.rb
143
+ - test/integration/anonymous_login_test.rb
144
+ - test/integration/edit_user_test.rb
145
+ - test/integration/memberships_test.rb
146
+ - test/integration/user_deletion_test.rb
147
+ - test/integration/user_login_test.rb
148
+ - test/integration/user_login_with_remember_me_test.rb
149
+ - test/integration/user_registration_test.rb
150
+ - test/test_helper.rb
151
+ - test/unit/cells/user_cell_test.rb
152
+ - test/unit/helpers/users_helper_test.rb
153
+ - test/unit/models/account_test.rb
154
+ - test/unit/models/anonymous_test.rb
155
+ - test/unit/models/password_mailer_test.rb
156
+ - test/unit/models/user_mailer_test.rb
157
+ - test/unit/models/user_test.rb