scimaenaga 0.5.0 → 0.7.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (34) hide show
  1. checksums.yaml +4 -4
  2. data/MIT-LICENSE +1 -0
  3. data/README.md +2 -14
  4. data/app/controllers/concerns/scim_rails/exception_handler.rb +43 -1
  5. data/app/controllers/scim_rails/scim_groups_controller.rb +64 -40
  6. data/app/controllers/scim_rails/scim_users_controller.rb +39 -65
  7. data/app/libraries/scim_patch.rb +15 -10
  8. data/app/libraries/scim_patch_operation.rb +127 -24
  9. data/app/models/scim_rails/scim_query_parser.rb +5 -3
  10. data/config/routes.rb +2 -0
  11. data/lib/generators/scim_rails/templates/initializer.rb +0 -6
  12. data/lib/scim_rails/config.rb +1 -2
  13. data/lib/scim_rails/version.rb +1 -1
  14. data/spec/controllers/scim_rails/scim_groups_controller_spec.rb +249 -136
  15. data/spec/controllers/scim_rails/scim_users_controller_spec.rb +413 -203
  16. data/spec/dummy/app/models/user.rb +21 -0
  17. data/spec/dummy/bin/setup +2 -0
  18. data/spec/dummy/config/initializers/scim_rails_config.rb +6 -4
  19. data/spec/dummy/db/development.sqlite3 +0 -0
  20. data/spec/dummy/db/migrate/20220117095407_add_country_to_users.rb +5 -0
  21. data/spec/dummy/db/migrate/20220131090107_add_deletable_to_users.rb +5 -0
  22. data/spec/dummy/db/schema.rb +7 -5
  23. data/spec/dummy/db/seeds.rb +15 -1
  24. data/spec/dummy/db/test.sqlite3 +0 -0
  25. data/spec/dummy/log/development.log +0 -0
  26. data/spec/dummy/log/test.log +5770 -0
  27. data/spec/dummy/put_group.http +5 -0
  28. data/spec/dummy/tmp/restart.txt +0 -0
  29. data/spec/factories/user.rb +2 -0
  30. data/spec/libraries/scim_patch_operation_spec.rb +61 -31
  31. data/spec/libraries/scim_patch_spec.rb +38 -29
  32. data/spec/models/scim_query_parser_spec.rb +30 -0
  33. metadata +83 -67
  34. data/spec/support/scim_rails_config.rb +0 -59
data/config/routes.rb CHANGED
@@ -4,9 +4,11 @@ ScimRails::Engine.routes.draw do
4
4
  get 'scim/v2/Users/:id', action: :show, controller: 'scim_users'
5
5
  put 'scim/v2/Users/:id', action: :put_update, controller: 'scim_users'
6
6
  patch 'scim/v2/Users/:id', action: :patch_update, controller: 'scim_users'
7
+ delete 'scim/v2/Users/:id', action: :destroy, controller: 'scim_users'
7
8
  get 'scim/v2/Groups', action: :index, controller: 'scim_groups'
8
9
  post 'scim/v2/Groups', action: :create, controller: 'scim_groups'
9
10
  get 'scim/v2/Groups/:id', action: :show, controller: 'scim_groups'
10
11
  put 'scim/v2/Groups/:id', action: :put_update, controller: 'scim_groups'
12
+ patch 'scim/v2/Groups/:id', action: :patch_update, controller: 'scim_groups'
11
13
  delete 'scim/v2/Groups/:id', action: :destroy, controller: 'scim_groups'
12
14
  end
@@ -48,12 +48,6 @@ ScimRails.configure do |config|
48
48
  # For example, [:created_at, :id] or { created_at: :desc }.
49
49
  # config.scim_users_list_order = :id
50
50
 
51
- # Method called on user model to deprovision a user.
52
- config.user_deprovision_method = :archive!
53
-
54
- # Method called on user model to reprovision a user.
55
- config.user_reprovision_method = :unarchive!
56
-
57
51
  # Hash of queryable attribtues on the user model. If
58
52
  # the attribute is not listed in this hash it cannot
59
53
  # be queried by this Gem. The structure of this hash
@@ -42,10 +42,9 @@ module ScimRails
42
42
  :signing_secret,
43
43
  :signing_algorithm,
44
44
  :user_attributes,
45
- :user_deprovision_method,
46
- :user_reprovision_method,
47
45
  :user_schema,
48
46
  :group_schema,
47
+ :user_destroy_method,
49
48
  :group_destroy_method
50
49
 
51
50
  def initialize
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module ScimRails
4
- VERSION = "0.5.0"
4
+ VERSION = '0.7.0'
5
5
  end