scimitar 1.0.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.
Files changed (106) hide show
  1. checksums.yaml +7 -0
  2. data/Rakefile +16 -0
  3. data/app/controllers/scimitar/active_record_backed_resources_controller.rb +180 -0
  4. data/app/controllers/scimitar/application_controller.rb +129 -0
  5. data/app/controllers/scimitar/resource_types_controller.rb +28 -0
  6. data/app/controllers/scimitar/resources_controller.rb +203 -0
  7. data/app/controllers/scimitar/schemas_controller.rb +16 -0
  8. data/app/controllers/scimitar/service_provider_configurations_controller.rb +8 -0
  9. data/app/models/scimitar/authentication_error.rb +9 -0
  10. data/app/models/scimitar/authentication_scheme.rb +18 -0
  11. data/app/models/scimitar/bulk.rb +8 -0
  12. data/app/models/scimitar/complex_types/address.rb +18 -0
  13. data/app/models/scimitar/complex_types/base.rb +41 -0
  14. data/app/models/scimitar/complex_types/email.rb +12 -0
  15. data/app/models/scimitar/complex_types/entitlement.rb +12 -0
  16. data/app/models/scimitar/complex_types/ims.rb +12 -0
  17. data/app/models/scimitar/complex_types/name.rb +12 -0
  18. data/app/models/scimitar/complex_types/phone_number.rb +12 -0
  19. data/app/models/scimitar/complex_types/photo.rb +12 -0
  20. data/app/models/scimitar/complex_types/reference_group.rb +12 -0
  21. data/app/models/scimitar/complex_types/reference_member.rb +12 -0
  22. data/app/models/scimitar/complex_types/role.rb +12 -0
  23. data/app/models/scimitar/complex_types/x509_certificate.rb +12 -0
  24. data/app/models/scimitar/engine_configuration.rb +24 -0
  25. data/app/models/scimitar/error_response.rb +20 -0
  26. data/app/models/scimitar/errors.rb +14 -0
  27. data/app/models/scimitar/filter.rb +11 -0
  28. data/app/models/scimitar/filter_error.rb +22 -0
  29. data/app/models/scimitar/invalid_syntax_error.rb +9 -0
  30. data/app/models/scimitar/lists/count.rb +64 -0
  31. data/app/models/scimitar/lists/query_parser.rb +730 -0
  32. data/app/models/scimitar/meta.rb +7 -0
  33. data/app/models/scimitar/not_found_error.rb +10 -0
  34. data/app/models/scimitar/resource_invalid_error.rb +9 -0
  35. data/app/models/scimitar/resource_type.rb +29 -0
  36. data/app/models/scimitar/resources/base.rb +159 -0
  37. data/app/models/scimitar/resources/group.rb +13 -0
  38. data/app/models/scimitar/resources/mixin.rb +964 -0
  39. data/app/models/scimitar/resources/user.rb +13 -0
  40. data/app/models/scimitar/schema/address.rb +24 -0
  41. data/app/models/scimitar/schema/attribute.rb +123 -0
  42. data/app/models/scimitar/schema/base.rb +86 -0
  43. data/app/models/scimitar/schema/derived_attributes.rb +24 -0
  44. data/app/models/scimitar/schema/email.rb +10 -0
  45. data/app/models/scimitar/schema/entitlement.rb +10 -0
  46. data/app/models/scimitar/schema/group.rb +27 -0
  47. data/app/models/scimitar/schema/ims.rb +10 -0
  48. data/app/models/scimitar/schema/name.rb +20 -0
  49. data/app/models/scimitar/schema/phone_number.rb +10 -0
  50. data/app/models/scimitar/schema/photo.rb +10 -0
  51. data/app/models/scimitar/schema/reference_group.rb +23 -0
  52. data/app/models/scimitar/schema/reference_member.rb +21 -0
  53. data/app/models/scimitar/schema/role.rb +10 -0
  54. data/app/models/scimitar/schema/user.rb +52 -0
  55. data/app/models/scimitar/schema/vdtp.rb +18 -0
  56. data/app/models/scimitar/schema/x509_certificate.rb +22 -0
  57. data/app/models/scimitar/service_provider_configuration.rb +49 -0
  58. data/app/models/scimitar/supportable.rb +14 -0
  59. data/app/views/layouts/scimitar/application.html.erb +14 -0
  60. data/config/initializers/scimitar.rb +82 -0
  61. data/config/routes.rb +6 -0
  62. data/lib/scimitar.rb +23 -0
  63. data/lib/scimitar/engine.rb +63 -0
  64. data/lib/scimitar/version.rb +13 -0
  65. data/spec/apps/dummy/app/controllers/custom_destroy_mock_users_controller.rb +24 -0
  66. data/spec/apps/dummy/app/controllers/custom_request_verifiers_controller.rb +30 -0
  67. data/spec/apps/dummy/app/controllers/mock_groups_controller.rb +13 -0
  68. data/spec/apps/dummy/app/controllers/mock_users_controller.rb +13 -0
  69. data/spec/apps/dummy/app/models/mock_group.rb +83 -0
  70. data/spec/apps/dummy/app/models/mock_user.rb +104 -0
  71. data/spec/apps/dummy/config/application.rb +17 -0
  72. data/spec/apps/dummy/config/boot.rb +2 -0
  73. data/spec/apps/dummy/config/environment.rb +2 -0
  74. data/spec/apps/dummy/config/environments/test.rb +15 -0
  75. data/spec/apps/dummy/config/initializers/cookies_serializer.rb +3 -0
  76. data/spec/apps/dummy/config/initializers/scimitar.rb +14 -0
  77. data/spec/apps/dummy/config/initializers/session_store.rb +3 -0
  78. data/spec/apps/dummy/config/routes.rb +24 -0
  79. data/spec/apps/dummy/db/migrate/20210304014602_create_mock_users.rb +15 -0
  80. data/spec/apps/dummy/db/migrate/20210308020313_create_mock_groups.rb +10 -0
  81. data/spec/apps/dummy/db/migrate/20210308044214_create_join_table_mock_groups_mock_users.rb +8 -0
  82. data/spec/apps/dummy/db/schema.rb +42 -0
  83. data/spec/controllers/scimitar/application_controller_spec.rb +173 -0
  84. data/spec/controllers/scimitar/resource_types_controller_spec.rb +94 -0
  85. data/spec/controllers/scimitar/resources_controller_spec.rb +247 -0
  86. data/spec/controllers/scimitar/schemas_controller_spec.rb +75 -0
  87. data/spec/controllers/scimitar/service_provider_configurations_controller_spec.rb +22 -0
  88. data/spec/models/scimitar/complex_types/address_spec.rb +19 -0
  89. data/spec/models/scimitar/complex_types/email_spec.rb +23 -0
  90. data/spec/models/scimitar/lists/count_spec.rb +147 -0
  91. data/spec/models/scimitar/lists/query_parser_spec.rb +763 -0
  92. data/spec/models/scimitar/resource_type_spec.rb +21 -0
  93. data/spec/models/scimitar/resources/base_spec.rb +289 -0
  94. data/spec/models/scimitar/resources/base_validation_spec.rb +61 -0
  95. data/spec/models/scimitar/resources/mixin_spec.rb +2127 -0
  96. data/spec/models/scimitar/resources/user_spec.rb +55 -0
  97. data/spec/models/scimitar/schema/attribute_spec.rb +80 -0
  98. data/spec/models/scimitar/schema/base_spec.rb +64 -0
  99. data/spec/models/scimitar/schema/group_spec.rb +87 -0
  100. data/spec/models/scimitar/schema/user_spec.rb +710 -0
  101. data/spec/requests/active_record_backed_resources_controller_spec.rb +569 -0
  102. data/spec/requests/application_controller_spec.rb +49 -0
  103. data/spec/requests/controller_configuration_spec.rb +17 -0
  104. data/spec/requests/engine_spec.rb +20 -0
  105. data/spec/spec_helper.rb +66 -0
  106. metadata +315 -0
@@ -0,0 +1,49 @@
1
+ # Some tests require the more flexible driver methods for 'get', 'post'
2
+ # etc. than available in RSpec controller tests.
3
+ #
4
+ # See also spec/controllers/scimitar/application_controller_spec.rb.
5
+ #
6
+ require 'spec_helper'
7
+
8
+ RSpec.describe Scimitar::ApplicationController do
9
+ before :each do
10
+ allow_any_instance_of(Scimitar::ApplicationController).to receive(:authenticated?).and_return(true)
11
+ end
12
+
13
+ context 'format handling' do
14
+ it 'renders "not acceptable" if the request does not use SCIM type' do
15
+ get '/CustomRequestVerifiers', params: { format: :html }
16
+
17
+ expect(response).to have_http_status(:not_acceptable)
18
+ expect(JSON.parse(response.body)['detail']).to eql('Only application/scim+json type is accepted.')
19
+ end
20
+
21
+ it 'renders 400 if given bad JSON' do
22
+ post '/CustomRequestVerifiers', params: 'not-json-12345', headers: { 'CONTENT_TYPE' => 'application/scim+json' }
23
+
24
+ expect(response).to have_http_status(:bad_request)
25
+ expect(JSON.parse(response.body)['detail']).to start_with('Invalid JSON - ')
26
+ expect(JSON.parse(response.body)['detail']).to include("'not-json-12345'")
27
+ end
28
+
29
+ it 'translates Content-Type to Rails request format' do
30
+ get '/CustomRequestVerifiers', headers: { 'CONTENT_TYPE' => 'application/scim+json' }
31
+
32
+ expect(response).to have_http_status(:ok)
33
+ parsed_body = JSON.parse(response.body)
34
+ expect(parsed_body['request']['is_scim' ]).to eql(true)
35
+ expect(parsed_body['request']['format' ]).to eql('application/scim+json')
36
+ expect(parsed_body['request']['content_type']).to eql('application/scim+json')
37
+ end
38
+
39
+ it 'translates Rails request format to header' do
40
+ get '/CustomRequestVerifiers', params: { format: :scim }
41
+
42
+ expect(response).to have_http_status(:ok)
43
+ parsed_body = JSON.parse(response.body)
44
+ expect(parsed_body['request']['is_scim' ]).to eql(true)
45
+ expect(parsed_body['request']['format' ]).to eql('application/scim+json')
46
+ expect(parsed_body['request']['content_type']).to eql('application/scim+json')
47
+ end
48
+ end
49
+ end
@@ -0,0 +1,17 @@
1
+ require 'spec_helper'
2
+
3
+ RSpec.describe 'Controller configuration' do
4
+ before :each do
5
+ allow_any_instance_of(Scimitar::ApplicationController).to receive(:authenticated?).and_return(true)
6
+ end
7
+
8
+ context 'application_controller_mixin' do
9
+ it 'the test before-action declared in configuration gets called' do
10
+ expect_any_instance_of(MockUsersController).to receive(:test_hook)
11
+
12
+ get '/Users', params: { format: :scim }
13
+
14
+ expect(response).to be_ok
15
+ end
16
+ end # "context 'application_controller_mixin' do"
17
+ end
@@ -0,0 +1,20 @@
1
+ require 'spec_helper'
2
+
3
+ RSpec.describe Scimitar::Engine do
4
+ before :each do
5
+ allow_any_instance_of(Scimitar::ApplicationController).to receive(:authenticated?).and_return(true)
6
+ end
7
+
8
+ context 'parameter parser' do
9
+
10
+ # "params" given here as a String, expecting the engine's custom parser to
11
+ # decode it for us.
12
+ #
13
+ it 'decodes JSON', type: :model do
14
+ post '/Users.scim', params: '{"userName": "foo"}', headers: { 'CONTENT_TYPE' => 'application/scim+json' }
15
+
16
+ expect(response.status).to eql(201)
17
+ expect(JSON.parse(response.body)['userName']).to eql('foo')
18
+ end
19
+ end # "context 'parameter parser' do"
20
+ end
@@ -0,0 +1,66 @@
1
+ # ============================================================================
2
+ # PREAMBLE
3
+ # ============================================================================
4
+
5
+ # Get code coverage reports:
6
+ #
7
+ # https://github.com/colszowka/simplecov#getting-started
8
+ #
9
+ # "Load and launch SimpleCov at the very top of your test/test_helper.rb (or
10
+ # spec_helper.rb [...])"
11
+ #
12
+ require 'simplecov'
13
+ SimpleCov.start 'rails'
14
+
15
+ # Rails stuff is related to the self-test applications in 'spec/apps'.
16
+ #
17
+ ENV['RAILS_ENV'] ||= 'test'
18
+ require File.expand_path('../apps/dummy/config/environment', __FILE__)
19
+ abort("The Rails environment is running in production mode!") if Rails.env.production?
20
+
21
+ require 'rspec/rails'
22
+ require 'byebug'
23
+ require 'scimitar'
24
+
25
+ # ============================================================================
26
+ # MAIN RSPEC CONFIGURATION
27
+ # ============================================================================
28
+
29
+ RSpec.configure do | config |
30
+ config.disable_monkey_patching!
31
+ config.infer_spec_type_from_file_location!
32
+ config.filter_rails_from_backtrace!
33
+
34
+ config.color = true
35
+ config.tty = true
36
+ config.order = :random
37
+ config.fixture_path = "#{::Rails.root}/spec/fixtures"
38
+ config.use_transactional_fixtures = true
39
+
40
+ Kernel.srand config.seed
41
+ end
42
+
43
+ # ============================================================================
44
+ # MISCELLANEOUS UTILITIES
45
+ # ============================================================================
46
+
47
+ # Capture stdout from running a given block.
48
+ #
49
+ def spec_helper_capture_stdout( &block )
50
+ result = ''
51
+
52
+ begin
53
+ old_stdout = $stdout
54
+ $stdout = StringIO.new
55
+
56
+ yield
57
+
58
+ result = $stdout.string
59
+
60
+ ensure
61
+ $stdout = old_stdout
62
+
63
+ end
64
+
65
+ return result
66
+ end
metadata ADDED
@@ -0,0 +1,315 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: scimitar
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.0
5
+ platform: ruby
6
+ authors:
7
+ - RIP Global
8
+ - Andrew David Hodgkinson
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2021-03-24 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: rails
16
+ requirement: !ruby/object:Gem::Requirement
17
+ requirements:
18
+ - - ">="
19
+ - !ruby/object:Gem::Version
20
+ version: '6.0'
21
+ type: :runtime
22
+ prerelease: false
23
+ version_requirements: !ruby/object:Gem::Requirement
24
+ requirements:
25
+ - - ">="
26
+ - !ruby/object:Gem::Version
27
+ version: '6.0'
28
+ - !ruby/object:Gem::Dependency
29
+ name: nokogiri
30
+ requirement: !ruby/object:Gem::Requirement
31
+ requirements:
32
+ - - "~>"
33
+ - !ruby/object:Gem::Version
34
+ version: '1.11'
35
+ type: :runtime
36
+ prerelease: false
37
+ version_requirements: !ruby/object:Gem::Requirement
38
+ requirements:
39
+ - - "~>"
40
+ - !ruby/object:Gem::Version
41
+ version: '1.11'
42
+ - !ruby/object:Gem::Dependency
43
+ name: rake
44
+ requirement: !ruby/object:Gem::Requirement
45
+ requirements:
46
+ - - "~>"
47
+ - !ruby/object:Gem::Version
48
+ version: '13.0'
49
+ type: :development
50
+ prerelease: false
51
+ version_requirements: !ruby/object:Gem::Requirement
52
+ requirements:
53
+ - - "~>"
54
+ - !ruby/object:Gem::Version
55
+ version: '13.0'
56
+ - !ruby/object:Gem::Dependency
57
+ name: pg
58
+ requirement: !ruby/object:Gem::Requirement
59
+ requirements:
60
+ - - "~>"
61
+ - !ruby/object:Gem::Version
62
+ version: '1.2'
63
+ type: :development
64
+ prerelease: false
65
+ version_requirements: !ruby/object:Gem::Requirement
66
+ requirements:
67
+ - - "~>"
68
+ - !ruby/object:Gem::Version
69
+ version: '1.2'
70
+ - !ruby/object:Gem::Dependency
71
+ name: simplecov-rcov
72
+ requirement: !ruby/object:Gem::Requirement
73
+ requirements:
74
+ - - "~>"
75
+ - !ruby/object:Gem::Version
76
+ version: '0.2'
77
+ type: :development
78
+ prerelease: false
79
+ version_requirements: !ruby/object:Gem::Requirement
80
+ requirements:
81
+ - - "~>"
82
+ - !ruby/object:Gem::Version
83
+ version: '0.2'
84
+ - !ruby/object:Gem::Dependency
85
+ name: rdoc
86
+ requirement: !ruby/object:Gem::Requirement
87
+ requirements:
88
+ - - "~>"
89
+ - !ruby/object:Gem::Version
90
+ version: '6.3'
91
+ type: :development
92
+ prerelease: false
93
+ version_requirements: !ruby/object:Gem::Requirement
94
+ requirements:
95
+ - - "~>"
96
+ - !ruby/object:Gem::Version
97
+ version: '6.3'
98
+ - !ruby/object:Gem::Dependency
99
+ name: rspec-rails
100
+ requirement: !ruby/object:Gem::Requirement
101
+ requirements:
102
+ - - "~>"
103
+ - !ruby/object:Gem::Version
104
+ version: '4.0'
105
+ type: :development
106
+ prerelease: false
107
+ version_requirements: !ruby/object:Gem::Requirement
108
+ requirements:
109
+ - - "~>"
110
+ - !ruby/object:Gem::Version
111
+ version: '4.0'
112
+ - !ruby/object:Gem::Dependency
113
+ name: byebug
114
+ requirement: !ruby/object:Gem::Requirement
115
+ requirements:
116
+ - - "~>"
117
+ - !ruby/object:Gem::Version
118
+ version: '11.1'
119
+ type: :development
120
+ prerelease: false
121
+ version_requirements: !ruby/object:Gem::Requirement
122
+ requirements:
123
+ - - "~>"
124
+ - !ruby/object:Gem::Version
125
+ version: '11.1'
126
+ - !ruby/object:Gem::Dependency
127
+ name: doggo
128
+ requirement: !ruby/object:Gem::Requirement
129
+ requirements:
130
+ - - "~>"
131
+ - !ruby/object:Gem::Version
132
+ version: '1.1'
133
+ type: :development
134
+ prerelease: false
135
+ version_requirements: !ruby/object:Gem::Requirement
136
+ requirements:
137
+ - - "~>"
138
+ - !ruby/object:Gem::Version
139
+ version: '1.1'
140
+ description: SCIM v2 support for Users and Groups in Ruby On Rails
141
+ email:
142
+ - andrew@ripglobal.com
143
+ executables: []
144
+ extensions: []
145
+ extra_rdoc_files: []
146
+ files:
147
+ - Rakefile
148
+ - app/controllers/scimitar/active_record_backed_resources_controller.rb
149
+ - app/controllers/scimitar/application_controller.rb
150
+ - app/controllers/scimitar/resource_types_controller.rb
151
+ - app/controllers/scimitar/resources_controller.rb
152
+ - app/controllers/scimitar/schemas_controller.rb
153
+ - app/controllers/scimitar/service_provider_configurations_controller.rb
154
+ - app/models/scimitar/authentication_error.rb
155
+ - app/models/scimitar/authentication_scheme.rb
156
+ - app/models/scimitar/bulk.rb
157
+ - app/models/scimitar/complex_types/address.rb
158
+ - app/models/scimitar/complex_types/base.rb
159
+ - app/models/scimitar/complex_types/email.rb
160
+ - app/models/scimitar/complex_types/entitlement.rb
161
+ - app/models/scimitar/complex_types/ims.rb
162
+ - app/models/scimitar/complex_types/name.rb
163
+ - app/models/scimitar/complex_types/phone_number.rb
164
+ - app/models/scimitar/complex_types/photo.rb
165
+ - app/models/scimitar/complex_types/reference_group.rb
166
+ - app/models/scimitar/complex_types/reference_member.rb
167
+ - app/models/scimitar/complex_types/role.rb
168
+ - app/models/scimitar/complex_types/x509_certificate.rb
169
+ - app/models/scimitar/engine_configuration.rb
170
+ - app/models/scimitar/error_response.rb
171
+ - app/models/scimitar/errors.rb
172
+ - app/models/scimitar/filter.rb
173
+ - app/models/scimitar/filter_error.rb
174
+ - app/models/scimitar/invalid_syntax_error.rb
175
+ - app/models/scimitar/lists/count.rb
176
+ - app/models/scimitar/lists/query_parser.rb
177
+ - app/models/scimitar/meta.rb
178
+ - app/models/scimitar/not_found_error.rb
179
+ - app/models/scimitar/resource_invalid_error.rb
180
+ - app/models/scimitar/resource_type.rb
181
+ - app/models/scimitar/resources/base.rb
182
+ - app/models/scimitar/resources/group.rb
183
+ - app/models/scimitar/resources/mixin.rb
184
+ - app/models/scimitar/resources/user.rb
185
+ - app/models/scimitar/schema/address.rb
186
+ - app/models/scimitar/schema/attribute.rb
187
+ - app/models/scimitar/schema/base.rb
188
+ - app/models/scimitar/schema/derived_attributes.rb
189
+ - app/models/scimitar/schema/email.rb
190
+ - app/models/scimitar/schema/entitlement.rb
191
+ - app/models/scimitar/schema/group.rb
192
+ - app/models/scimitar/schema/ims.rb
193
+ - app/models/scimitar/schema/name.rb
194
+ - app/models/scimitar/schema/phone_number.rb
195
+ - app/models/scimitar/schema/photo.rb
196
+ - app/models/scimitar/schema/reference_group.rb
197
+ - app/models/scimitar/schema/reference_member.rb
198
+ - app/models/scimitar/schema/role.rb
199
+ - app/models/scimitar/schema/user.rb
200
+ - app/models/scimitar/schema/vdtp.rb
201
+ - app/models/scimitar/schema/x509_certificate.rb
202
+ - app/models/scimitar/service_provider_configuration.rb
203
+ - app/models/scimitar/supportable.rb
204
+ - app/views/layouts/scimitar/application.html.erb
205
+ - config/initializers/scimitar.rb
206
+ - config/routes.rb
207
+ - lib/scimitar.rb
208
+ - lib/scimitar/engine.rb
209
+ - lib/scimitar/version.rb
210
+ - spec/apps/dummy/app/controllers/custom_destroy_mock_users_controller.rb
211
+ - spec/apps/dummy/app/controllers/custom_request_verifiers_controller.rb
212
+ - spec/apps/dummy/app/controllers/mock_groups_controller.rb
213
+ - spec/apps/dummy/app/controllers/mock_users_controller.rb
214
+ - spec/apps/dummy/app/models/mock_group.rb
215
+ - spec/apps/dummy/app/models/mock_user.rb
216
+ - spec/apps/dummy/config/application.rb
217
+ - spec/apps/dummy/config/boot.rb
218
+ - spec/apps/dummy/config/environment.rb
219
+ - spec/apps/dummy/config/environments/test.rb
220
+ - spec/apps/dummy/config/initializers/cookies_serializer.rb
221
+ - spec/apps/dummy/config/initializers/scimitar.rb
222
+ - spec/apps/dummy/config/initializers/session_store.rb
223
+ - spec/apps/dummy/config/routes.rb
224
+ - spec/apps/dummy/db/migrate/20210304014602_create_mock_users.rb
225
+ - spec/apps/dummy/db/migrate/20210308020313_create_mock_groups.rb
226
+ - spec/apps/dummy/db/migrate/20210308044214_create_join_table_mock_groups_mock_users.rb
227
+ - spec/apps/dummy/db/schema.rb
228
+ - spec/controllers/scimitar/application_controller_spec.rb
229
+ - spec/controllers/scimitar/resource_types_controller_spec.rb
230
+ - spec/controllers/scimitar/resources_controller_spec.rb
231
+ - spec/controllers/scimitar/schemas_controller_spec.rb
232
+ - spec/controllers/scimitar/service_provider_configurations_controller_spec.rb
233
+ - spec/models/scimitar/complex_types/address_spec.rb
234
+ - spec/models/scimitar/complex_types/email_spec.rb
235
+ - spec/models/scimitar/lists/count_spec.rb
236
+ - spec/models/scimitar/lists/query_parser_spec.rb
237
+ - spec/models/scimitar/resource_type_spec.rb
238
+ - spec/models/scimitar/resources/base_spec.rb
239
+ - spec/models/scimitar/resources/base_validation_spec.rb
240
+ - spec/models/scimitar/resources/mixin_spec.rb
241
+ - spec/models/scimitar/resources/user_spec.rb
242
+ - spec/models/scimitar/schema/attribute_spec.rb
243
+ - spec/models/scimitar/schema/base_spec.rb
244
+ - spec/models/scimitar/schema/group_spec.rb
245
+ - spec/models/scimitar/schema/user_spec.rb
246
+ - spec/requests/active_record_backed_resources_controller_spec.rb
247
+ - spec/requests/application_controller_spec.rb
248
+ - spec/requests/controller_configuration_spec.rb
249
+ - spec/requests/engine_spec.rb
250
+ - spec/spec_helper.rb
251
+ homepage: https://ripglobal.com/
252
+ licenses:
253
+ - MIT
254
+ metadata: {}
255
+ post_install_message:
256
+ rdoc_options: []
257
+ require_paths:
258
+ - lib
259
+ required_ruby_version: !ruby/object:Gem::Requirement
260
+ requirements:
261
+ - - ">="
262
+ - !ruby/object:Gem::Version
263
+ version: 2.7.2
264
+ required_rubygems_version: !ruby/object:Gem::Requirement
265
+ requirements:
266
+ - - ">="
267
+ - !ruby/object:Gem::Version
268
+ version: '0'
269
+ requirements: []
270
+ rubygems_version: 3.1.4
271
+ signing_key:
272
+ specification_version: 4
273
+ summary: SCIM v2 for Rails
274
+ test_files:
275
+ - spec/spec_helper.rb
276
+ - spec/models/scimitar/lists/query_parser_spec.rb
277
+ - spec/models/scimitar/lists/count_spec.rb
278
+ - spec/models/scimitar/resources/base_validation_spec.rb
279
+ - spec/models/scimitar/resources/mixin_spec.rb
280
+ - spec/models/scimitar/resources/user_spec.rb
281
+ - spec/models/scimitar/resources/base_spec.rb
282
+ - spec/models/scimitar/schema/attribute_spec.rb
283
+ - spec/models/scimitar/schema/group_spec.rb
284
+ - spec/models/scimitar/schema/user_spec.rb
285
+ - spec/models/scimitar/schema/base_spec.rb
286
+ - spec/models/scimitar/resource_type_spec.rb
287
+ - spec/models/scimitar/complex_types/email_spec.rb
288
+ - spec/models/scimitar/complex_types/address_spec.rb
289
+ - spec/requests/controller_configuration_spec.rb
290
+ - spec/requests/engine_spec.rb
291
+ - spec/requests/active_record_backed_resources_controller_spec.rb
292
+ - spec/requests/application_controller_spec.rb
293
+ - spec/controllers/scimitar/schemas_controller_spec.rb
294
+ - spec/controllers/scimitar/resource_types_controller_spec.rb
295
+ - spec/controllers/scimitar/resources_controller_spec.rb
296
+ - spec/controllers/scimitar/service_provider_configurations_controller_spec.rb
297
+ - spec/controllers/scimitar/application_controller_spec.rb
298
+ - spec/apps/dummy/app/models/mock_group.rb
299
+ - spec/apps/dummy/app/models/mock_user.rb
300
+ - spec/apps/dummy/app/controllers/custom_request_verifiers_controller.rb
301
+ - spec/apps/dummy/app/controllers/custom_destroy_mock_users_controller.rb
302
+ - spec/apps/dummy/app/controllers/mock_groups_controller.rb
303
+ - spec/apps/dummy/app/controllers/mock_users_controller.rb
304
+ - spec/apps/dummy/config/routes.rb
305
+ - spec/apps/dummy/config/environments/test.rb
306
+ - spec/apps/dummy/config/environment.rb
307
+ - spec/apps/dummy/config/application.rb
308
+ - spec/apps/dummy/config/boot.rb
309
+ - spec/apps/dummy/config/initializers/session_store.rb
310
+ - spec/apps/dummy/config/initializers/cookies_serializer.rb
311
+ - spec/apps/dummy/config/initializers/scimitar.rb
312
+ - spec/apps/dummy/db/schema.rb
313
+ - spec/apps/dummy/db/migrate/20210308020313_create_mock_groups.rb
314
+ - spec/apps/dummy/db/migrate/20210308044214_create_join_table_mock_groups_mock_users.rb
315
+ - spec/apps/dummy/db/migrate/20210304014602_create_mock_users.rb