scimaenaga 0.6.0 → 0.6.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 3707544f845a4f536dcb1b6bfee0d49c57b6a3108caf0683e24f8c11e3b21f14
4
- data.tar.gz: b0fb686add4255d36fa4f906b4963ffc5d1b573317f2561f469d4e7cbd8b1f12
3
+ metadata.gz: 348227d90785d1980e12b0f2d6ff1c71a6861761a4b35c5c10b5147894f949de
4
+ data.tar.gz: 8bc3cfb0ba591b1eff717044b91c9db4d34f9fbc13285d234bf526a52be8ce48
5
5
  SHA512:
6
- metadata.gz: 55612e839d248cbdf14100babd315839fca0b0b6494046201c9fa5a21435634b66a9672740a2187f1cf0bf8c72f46fb4428669b067e20f41453c9dbcfad7e19c
7
- data.tar.gz: 6c5ffa9c7c769ceedaf08533789ed0864521deea11b2ebad56aa51e941bcdc3512b7027145f5f22c7aecf2359b7745cde59dc8fefc0a0dc0089ea2fff66d3655
6
+ metadata.gz: d1ed9e73ffc03e6362f2bd498ad37f5f4a915a7fd09c64470700ee729e8baec062a43e91f1f6a937f37fec325533351fc12bd1d2f1e2b5f067efd5c5c209871d
7
+ data.tar.gz: a7810a0c341f779cb8be98213d3c9eb6d5ac98669b5dea67e389bec787a3f65a8ed1e378a005e3d0415d0b7563f49fa0cf3dafdda2917220c92d38ce3a7c65d0
@@ -47,7 +47,6 @@ module ScimRails
47
47
  .find_or_create_by(find_by_username)
48
48
  user.update!(permitted_user_params)
49
49
  end
50
- update_status(user) unless put_active_param.nil?
51
50
  json_scim_response(object: user, status: :created)
52
51
  end
53
52
 
@@ -60,7 +59,6 @@ module ScimRails
60
59
 
61
60
  def put_update
62
61
  user = @company.public_send(ScimRails.config.scim_users_scope).find(params[:id])
63
- update_status(user) unless put_active_param.nil?
64
62
  user.update!(permitted_user_params)
65
63
  json_scim_response(object: user)
66
64
  end
@@ -70,7 +68,6 @@ module ScimRails
70
68
  patch = ScimPatch.new(params, ScimRails.config.mutable_user_attributes_schema)
71
69
  patch.save(user)
72
70
 
73
- # update_status(user)
74
71
  json_scim_response(object: user)
75
72
  end
76
73
 
@@ -85,48 +82,5 @@ module ScimRails
85
82
  def controller_schema
86
83
  ScimRails.config.mutable_user_attributes_schema
87
84
  end
88
-
89
- def update_status(user)
90
- user.public_send(ScimRails.config.user_reprovision_method) if active?
91
- user.public_send(ScimRails.config.user_deprovision_method) unless active?
92
- end
93
-
94
- def active?
95
- active = put_active_param
96
- active = patch_active_param if active.nil?
97
-
98
- case active
99
- when true, 'true', 1
100
- true
101
- when false, 'false', 0
102
- false
103
- else
104
- raise ActiveRecord::RecordInvalid
105
- end
106
- end
107
-
108
- def put_active_param
109
- params[:active]
110
- end
111
-
112
- def patch_active_param
113
- handle_invalid = lambda do
114
- raise ScimRails::ExceptionHandler::UnsupportedPatchRequest
115
- end
116
-
117
- operations = params['Operations'] || {}
118
-
119
- valid_operation = operations.find(handle_invalid) do |operation|
120
- valid_patch_operation?(operation)
121
- end
122
-
123
- valid_operation.dig('value', 'active')
124
- end
125
-
126
- def valid_patch_operation?(operation)
127
- operation['op'].casecmp('replace') &&
128
- operation['value'] &&
129
- [true, false].include?(operation['value']['active'])
130
- end
131
85
  end
132
86
  end
@@ -24,8 +24,8 @@ class ScimPatch
24
24
  @operations.each do |operation|
25
25
  operation.save(model)
26
26
  end
27
+ model.save! if model.changed?
27
28
  end
28
- model.save if model.changed?
29
29
  rescue ActiveRecord::RecordNotFound
30
30
  raise
31
31
  rescue StandardError
@@ -16,12 +16,9 @@ class ScimPatchOperation
16
16
  @op = op.downcase.to_sym
17
17
  @path_scim = path
18
18
  @path_sp = convert_path(path, mutable_attributes_schema)
19
- @value = value
19
+ @value = convert_bool_if_string(value, @path_scim)
20
20
  end
21
21
 
22
-
23
-
24
-
25
22
  def save(model)
26
23
  if @path_scim == 'members' # Only members are supported for value is an array
27
24
  update_member_ids = @value.map do |v|
@@ -53,9 +50,6 @@ class ScimPatchOperation
53
50
  end
54
51
  end
55
52
 
56
-
57
-
58
-
59
53
  private
60
54
 
61
55
  def convert_path(path, mutable_attributes_schema)
@@ -77,4 +71,19 @@ class ScimPatchOperation
77
71
  end
78
72
  mutable_attributes_schema.dig(*dig_keys)
79
73
  end
74
+
75
+ def convert_bool_if_string(value, path)
76
+ # This method correct value in requests from Azure AD according to SCIM.
77
+ # When path is not active, do nothing and return
78
+ return value if path != 'active'
79
+
80
+ case value
81
+ when 'true', 'True' then
82
+ return true
83
+ when 'false', 'False' then
84
+ return false
85
+ else
86
+ return value
87
+ end
88
+ end
80
89
  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,8 +42,6 @@ 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,
49
47
  :group_destroy_method
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module ScimRails
4
- VERSION = '0.6.0'
4
+ VERSION = '0.6.1'
5
5
  end
@@ -364,7 +364,7 @@ RSpec.describe ScimRails::ScimUsersController, type: :controller do
364
364
  value: "test@example.com"
365
365
  }
366
366
  ],
367
- active: "false"
367
+ active: false
368
368
  }, as: :json
369
369
 
370
370
  expect(response.status).to eq 201
@@ -415,12 +415,18 @@ RSpec.describe ScimRails::ScimUsersController, type: :controller do
415
415
  expect(response.media_type).to eq "application/scim+json"
416
416
  end
417
417
 
418
- it "is successful with with valid credentials" do
418
+ it "is successful with valid credentials" do
419
419
  put :put_update, params: put_params, as: :json
420
420
 
421
421
  expect(response.status).to eq 200
422
422
  end
423
423
 
424
+ it "successfully change user email" do
425
+ put :put_update, params: put_params(id: user.id), as: :json
426
+
427
+ expect(user.reload.email).to eq 'test@example.com'
428
+ end
429
+
424
430
  it "deprovisions an active record" do
425
431
  request.content_type = "application/scim+json"
426
432
  put :put_update, params: put_params(active: false), as: :json
@@ -506,17 +512,40 @@ RSpec.describe ScimRails::ScimUsersController, type: :controller do
506
512
  end
507
513
 
508
514
  it "returns scim+json content type" do
509
- patch :patch_update, params: patch_params(id: 1), as: :json
515
+ patch :patch_update, params: patch_params(id: user.id), as: :json
510
516
 
511
517
  expect(response.media_type).to eq "application/scim+json"
512
518
  end
513
519
 
514
520
  it "is successful with valid credentials" do
515
- patch :patch_update, params: patch_params(id: 1), as: :json
521
+ patch :patch_update, params: patch_params(id: user.id), as: :json
516
522
 
517
523
  expect(response.status).to eq 200
518
524
  end
519
525
 
526
+ it 'rollback all changes when contains any invalid operation' do
527
+ expect do
528
+ patch :patch_update, params: {
529
+ schemas: ["urn:ietf:params:scim:api:messages:2.0:PatchOp"],
530
+ id: user.id,
531
+ Operations: [
532
+ {
533
+ op: "Replace",
534
+ path: "emails[type eq \"work\"].value",
535
+ value: "change@example.com"
536
+ },
537
+ {
538
+ op: "Replace",
539
+ value: "hoge"
540
+ }
541
+ ]
542
+ },
543
+ as: :json
544
+ end.to_not change { user.reload.email }
545
+
546
+ expect(response.status).to eq 422
547
+ end
548
+
520
549
  it "returns :not_found for id that cannot be found" do
521
550
  get :patch_update, params: patch_params(id: "fake_id"), as: :json
522
551
 
@@ -532,12 +561,15 @@ RSpec.describe ScimRails::ScimUsersController, type: :controller do
532
561
  expect(response.status).to eq 404
533
562
  end
534
563
 
535
- xit "successfully archives user" do
564
+ it "successfully archives user" do
536
565
  expect(company.users.count).to eq 1
537
566
  user = company.users.first
538
567
  expect(user.archived?).to eq false
539
568
 
540
- patch :patch_update, params: patch_params(id: 1), as: :json
569
+ patch \
570
+ :patch_update,
571
+ params: patch_active_params(id: user.id, active: false),
572
+ as: :json
541
573
 
542
574
  expect(response.status).to eq 200
543
575
  expect(company.users.count).to eq 1
@@ -545,14 +577,14 @@ RSpec.describe ScimRails::ScimUsersController, type: :controller do
545
577
  expect(user.archived?).to eq true
546
578
  end
547
579
 
548
- xit "successfully restores user" do
580
+ it "successfully restores user" do
549
581
  expect(company.users.count).to eq 1
550
582
  user = company.users.first.tap(&:archive!)
551
583
  expect(user.archived?).to eq true
552
584
 
553
585
  patch \
554
586
  :patch_update,
555
- params: patch_params(id: 1, active: true),
587
+ params: patch_active_params(id: 1, active: true),
556
588
  as: :json
557
589
 
558
590
  expect(response.status).to eq 200
@@ -569,7 +601,7 @@ RSpec.describe ScimRails::ScimUsersController, type: :controller do
569
601
 
570
602
  patch \
571
603
  :patch_update,
572
- params: patch_params(id: 1, active: true),
604
+ params: patch_params(id: 1),
573
605
  as: :json
574
606
 
575
607
  expect(response.status).to eq 200
@@ -596,6 +628,29 @@ RSpec.describe ScimRails::ScimUsersController, type: :controller do
596
628
  expect(response.status).to eq 200
597
629
  end
598
630
 
631
+ it "don't update if not included in mutable attributes" do
632
+ expect do
633
+ patch :patch_update, params: {
634
+ schemas: ["urn:ietf:params:scim:api:messages:2.0:PatchOp"],
635
+ id: user.id,
636
+ Operations: [
637
+ {
638
+ op: "Replace",
639
+ path: "emails[type eq \"work\"].value",
640
+ value: "change@example.com"
641
+ },
642
+ {
643
+ op: "Replace",
644
+ path: "country",
645
+ value: "Japan"
646
+ },
647
+ ]
648
+ }, as: :json
649
+ end.not_to change { user.reload.country }
650
+
651
+ expect(response.status).to eq 422
652
+ end
653
+
599
654
  xit "returns 422 when value is not an object" do
600
655
  patch :patch_update, params: {
601
656
  schemas: ["urn:ietf:params:scim:api:messages:2.0:PatchOp"],
@@ -665,7 +720,7 @@ RSpec.describe ScimRails::ScimUsersController, type: :controller do
665
720
  end
666
721
  end
667
722
 
668
- def patch_params(id:, active: false)
723
+ def patch_params(id:)
669
724
  {
670
725
  schemas: ["urn:ietf:params:scim:api:messages:2.0:PatchOp"],
671
726
  id: id,
@@ -679,9 +734,23 @@ RSpec.describe ScimRails::ScimUsersController, type: :controller do
679
734
  }
680
735
  end
681
736
 
682
- def put_params(active: true)
737
+ def patch_active_params(id:, active: false)
683
738
  {
684
- id: 1,
739
+ schemas: ["urn:ietf:params:scim:api:messages:2.0:PatchOp"],
740
+ id: id,
741
+ Operations: [
742
+ {
743
+ op: "Replace",
744
+ path: "active",
745
+ value: active
746
+ }
747
+ ]
748
+ }
749
+ end
750
+
751
+ def put_params(id: 1, active: true)
752
+ {
753
+ id: id,
685
754
  userName: "test@example.com",
686
755
  name: {
687
756
  givenName: "Test",
@@ -15,6 +15,18 @@ class User < ApplicationRecord
15
15
  case_insensitive: true
16
16
  }
17
17
 
18
+ def active
19
+ return active?
20
+ end
21
+
22
+ def active=(active)
23
+ if active
24
+ self.archived_at = nil
25
+ else
26
+ self.archived_at ||= Time.now
27
+ end
28
+ end
29
+
18
30
  def active?
19
31
  archived_at.blank?
20
32
  end
@@ -12,13 +12,11 @@ ScimRails.configure do |config|
12
12
  config.signing_algorithm = "HS256"
13
13
  config.signing_secret = "2d6806dd11c2fece2e81b8ca76dcb0062f5b08e28e3264e8ba1c44bbd3578b70"
14
14
 
15
- config.user_deprovision_method = :archive!
16
- config.user_reprovision_method = :unarchive!
17
-
18
15
  config.mutable_user_attributes = [
19
16
  :first_name,
20
17
  :last_name,
21
- :email
18
+ :email,
19
+ :active
22
20
  ]
23
21
 
24
22
  config.queryable_user_attributes = {
@@ -37,7 +35,8 @@ ScimRails.configure do |config|
37
35
  {
38
36
  value: :email
39
37
  }
40
- ]
38
+ ],
39
+ active: :active
41
40
  }
42
41
 
43
42
  config.user_schema = {
Binary file
@@ -0,0 +1,5 @@
1
+ class AddCountryToUsers < ActiveRecord::Migration[6.1]
2
+ def change
3
+ add_column :users, :country, :string
4
+ end
5
+ end
@@ -10,7 +10,7 @@
10
10
  #
11
11
  # It's strongly recommended that you check this file into your version control system.
12
12
 
13
- ActiveRecord::Schema.define(version: 2021_04_23_075950) do
13
+ ActiveRecord::Schema.define(version: 2022_01_17_095407) do
14
14
 
15
15
  create_table "companies", force: :cascade do |t|
16
16
  t.string "name", null: false
@@ -23,8 +23,8 @@ ActiveRecord::Schema.define(version: 2021_04_23_075950) do
23
23
  create_table "group_users", force: :cascade do |t|
24
24
  t.integer "group_id", null: false
25
25
  t.integer "user_id", null: false
26
- t.datetime "created_at", precision: 6, null: false
27
- t.datetime "updated_at", precision: 6, null: false
26
+ t.datetime "created_at", null: false
27
+ t.datetime "updated_at", null: false
28
28
  t.index ["group_id"], name: "index_group_users_on_group_id"
29
29
  t.index ["user_id"], name: "index_group_users_on_user_id"
30
30
  end
@@ -32,8 +32,8 @@ ActiveRecord::Schema.define(version: 2021_04_23_075950) do
32
32
  create_table "groups", force: :cascade do |t|
33
33
  t.string "name", null: false
34
34
  t.integer "company_id", null: false
35
- t.datetime "created_at", precision: 6, null: false
36
- t.datetime "updated_at", precision: 6, null: false
35
+ t.datetime "created_at", null: false
36
+ t.datetime "updated_at", null: false
37
37
  t.index ["company_id"], name: "index_groups_on_company_id"
38
38
  end
39
39
 
@@ -45,6 +45,7 @@ ActiveRecord::Schema.define(version: 2021_04_23_075950) do
45
45
  t.datetime "archived_at"
46
46
  t.datetime "created_at", null: false
47
47
  t.datetime "updated_at", null: false
48
+ t.string "country"
48
49
  end
49
50
 
50
51
  add_foreign_key "group_users", "groups"
Binary file
File without changes
@@ -0,0 +1,377 @@
1
+  (1.6ms) SELECT sqlite_version(*)
2
+ TRANSACTION (0.0ms) begin transaction
3
+ TRANSACTION (0.1ms) SAVEPOINT active_record_1
4
+ Company Create (0.5ms) INSERT INTO "companies" ("name", "subdomain", "api_token", "created_at", "updated_at") VALUES (?, ?, ?, ?, ?) [["name", "Test Company"], ["subdomain", "test"], ["api_token", "eyJhbGciOiJIUzI1NiJ9.eyJpYXQiOjE2NDI1NTc5NjEsInN1YmRvbWFpbiI6InRlc3QifQ.552Em4GhZUks-VORFyL9tDrIOoD5iV4f6DyYz7ERFf4"], ["created_at", "2022-01-19 02:06:01.245748"], ["updated_at", "2022-01-19 02:06:01.245748"]]
5
+ TRANSACTION (0.0ms) RELEASE SAVEPOINT active_record_1
6
+ TRANSACTION (0.1ms) SAVEPOINT active_record_1
7
+ User Exists? (0.1ms) SELECT 1 AS one FROM "users" WHERE "users"."email" = ? LIMIT ? [["email", "1@example.com"], ["LIMIT", 1]]
8
+ User Create (0.1ms) INSERT INTO "users" ("id", "first_name", "last_name", "email", "company_id", "created_at", "updated_at") VALUES (?, ?, ?, ?, ?, ?, ?) [["id", 1], ["first_name", "Test"], ["last_name", "User"], ["email", "1@example.com"], ["company_id", 1], ["created_at", "2022-01-19 02:06:01.271494"], ["updated_at", "2022-01-19 02:06:01.271494"]]
9
+ TRANSACTION (0.0ms) RELEASE SAVEPOINT active_record_1
10
+  (0.1ms) SELECT COUNT(*) FROM "users" WHERE "users"."company_id" = ? [["company_id", 1]]
11
+ Group Load (0.1ms) SELECT "groups".* FROM "groups" WHERE "groups"."company_id" = ? [["company_id", 1]]
12
+  (0.1ms) SELECT COUNT(*) FROM "groups" WHERE "groups"."company_id" = ? [["company_id", 1]]
13
+ Processing by ScimRails::ScimUsersController#destroy as JSON
14
+ Parameters: {"id"=>"1", "scim_user"=>{}}
15
+ Company Load (0.1ms) SELECT "companies".* FROM "companies" WHERE "companies"."subdomain" = ? LIMIT ? [["subdomain", "test"], ["LIMIT", 1]]
16
+ Completed 501 Not Implemented in 2ms (Views: 0.1ms | ActiveRecord: 0.1ms | Allocations: 947)
17
+ Group Load (0.0ms) SELECT "groups".* FROM "groups" WHERE "groups"."company_id" = ? [["company_id", 1]]
18
+  (0.1ms) SELECT COUNT(*) FROM "groups" WHERE "groups"."company_id" = ? [["company_id", 1]]
19
+ TRANSACTION (0.7ms) rollback transaction
20
+  (1.3ms) SELECT sqlite_version(*)
21
+ TRANSACTION (0.0ms) begin transaction
22
+ TRANSACTION (0.1ms) SAVEPOINT active_record_1
23
+ Company Create (0.5ms) INSERT INTO "companies" ("name", "subdomain", "api_token", "created_at", "updated_at") VALUES (?, ?, ?, ?, ?) [["name", "Test Company"], ["subdomain", "test"], ["api_token", "eyJhbGciOiJIUzI1NiJ9.eyJpYXQiOjE2NDI1NTc5OTIsInN1YmRvbWFpbiI6InRlc3QifQ.NhmgbvbgXTYQuc5v8Vf7SKXAjxilbK24Mxjp6Yr96t4"], ["created_at", "2022-01-19 02:06:32.860988"], ["updated_at", "2022-01-19 02:06:32.860988"]]
24
+ TRANSACTION (0.0ms) RELEASE SAVEPOINT active_record_1
25
+ TRANSACTION (0.1ms) SAVEPOINT active_record_1
26
+ User Exists? (0.1ms) SELECT 1 AS one FROM "users" WHERE "users"."email" = ? LIMIT ? [["email", "1@example.com"], ["LIMIT", 1]]
27
+ User Create (0.1ms) INSERT INTO "users" ("id", "first_name", "last_name", "email", "company_id", "created_at", "updated_at") VALUES (?, ?, ?, ?, ?, ?, ?) [["id", 1], ["first_name", "Test"], ["last_name", "User"], ["email", "1@example.com"], ["company_id", 1], ["created_at", "2022-01-19 02:06:32.886648"], ["updated_at", "2022-01-19 02:06:32.886648"]]
28
+ TRANSACTION (0.0ms) RELEASE SAVEPOINT active_record_1
29
+  (0.2ms) SELECT COUNT(*) FROM "users" WHERE "users"."company_id" = ? [["company_id", 1]]
30
+ Group Load (0.1ms) SELECT "groups".* FROM "groups" WHERE "groups"."company_id" = ? [["company_id", 1]]
31
+  (0.1ms) SELECT COUNT(*) FROM "groups" WHERE "groups"."company_id" = ? [["company_id", 1]]
32
+ Processing by ScimRails::ScimUsersController#destroy as JSON
33
+ Parameters: {"id"=>"1", "scim_user"=>{}}
34
+ Company Load (0.1ms) SELECT "companies".* FROM "companies" WHERE "companies"."subdomain" = ? LIMIT ? [["subdomain", "test"], ["LIMIT", 1]]
35
+ Completed 501 Not Implemented in 21535ms (Views: 0.2ms | ActiveRecord: 0.1ms | Allocations: 37666)
36
+ Group Load (0.1ms) SELECT "groups".* FROM "groups" WHERE "groups"."company_id" = ? [["company_id", 1]]
37
+  (0.1ms) SELECT COUNT(*) FROM "groups" WHERE "groups"."company_id" = ? [["company_id", 1]]
38
+ TRANSACTION (0.5ms) rollback transaction
39
+  (1.4ms) SELECT sqlite_version(*)
40
+ TRANSACTION (0.0ms) begin transaction
41
+ TRANSACTION (0.1ms) SAVEPOINT active_record_1
42
+ Company Create (1.1ms) INSERT INTO "companies" ("name", "subdomain", "api_token", "created_at", "updated_at") VALUES (?, ?, ?, ?, ?) [["name", "Test Company"], ["subdomain", "test"], ["api_token", "eyJhbGciOiJIUzI1NiJ9.eyJpYXQiOjE2NDI1NTgwMzksInN1YmRvbWFpbiI6InRlc3QifQ.BB9xRl9oQtFzsPipsgpu3ba2v0kqlzwpDmBbR1DYFKE"], ["created_at", "2022-01-19 02:07:19.771858"], ["updated_at", "2022-01-19 02:07:19.771858"]]
43
+ TRANSACTION (0.0ms) RELEASE SAVEPOINT active_record_1
44
+ TRANSACTION (0.1ms) SAVEPOINT active_record_1
45
+ User Exists? (0.3ms) SELECT 1 AS one FROM "users" WHERE "users"."email" = ? LIMIT ? [["email", "1@example.com"], ["LIMIT", 1]]
46
+ User Create (0.1ms) INSERT INTO "users" ("id", "first_name", "last_name", "email", "company_id", "created_at", "updated_at") VALUES (?, ?, ?, ?, ?, ?, ?) [["id", 1], ["first_name", "Test"], ["last_name", "User"], ["email", "1@example.com"], ["company_id", 1], ["created_at", "2022-01-19 02:07:19.801670"], ["updated_at", "2022-01-19 02:07:19.801670"]]
47
+ TRANSACTION (0.0ms) RELEASE SAVEPOINT active_record_1
48
+  (1.0ms) SELECT COUNT(*) FROM "users" WHERE "users"."company_id" = ? [["company_id", 1]]
49
+ Group Load (0.4ms) SELECT "groups".* FROM "groups" WHERE "groups"."company_id" = ? [["company_id", 1]]
50
+  (0.1ms) SELECT COUNT(*) FROM "groups" WHERE "groups"."company_id" = ? [["company_id", 1]]
51
+ Processing by ScimRails::ScimUsersController#destroy as JSON
52
+ Parameters: {"id"=>"1", "scim_user"=>{}}
53
+ Company Load (0.1ms) SELECT "companies".* FROM "companies" WHERE "companies"."subdomain" = ? LIMIT ? [["subdomain", "test"], ["LIMIT", 1]]
54
+ Completed 501 Not Implemented in 3ms (Views: 0.2ms | ActiveRecord: 0.1ms | Allocations: 947)
55
+ Group Load (0.0ms) SELECT "groups".* FROM "groups" WHERE "groups"."company_id" = ? [["company_id", 1]]
56
+  (0.1ms) SELECT COUNT(*) FROM "groups" WHERE "groups"."company_id" = ? [["company_id", 1]]
57
+ TRANSACTION (0.3ms) rollback transaction
58
+  (1.5ms) SELECT sqlite_version(*)
59
+ TRANSACTION (0.0ms) begin transaction
60
+ TRANSACTION (0.1ms) SAVEPOINT active_record_1
61
+ Company Create (1.0ms) INSERT INTO "companies" ("name", "subdomain", "api_token", "created_at", "updated_at") VALUES (?, ?, ?, ?, ?) [["name", "Test Company"], ["subdomain", "test"], ["api_token", "eyJhbGciOiJIUzI1NiJ9.eyJpYXQiOjE2NDI1NTgwNzQsInN1YmRvbWFpbiI6InRlc3QifQ.3nRSiUc2WnIoCYX9hieE_3h6Rv1DQ8Ss5Jl2-NAqGlM"], ["created_at", "2022-01-19 02:07:54.062340"], ["updated_at", "2022-01-19 02:07:54.062340"]]
62
+ TRANSACTION (0.0ms) RELEASE SAVEPOINT active_record_1
63
+ TRANSACTION (0.1ms) SAVEPOINT active_record_1
64
+ User Exists? (0.4ms) SELECT 1 AS one FROM "users" WHERE "users"."email" = ? LIMIT ? [["email", "1@example.com"], ["LIMIT", 1]]
65
+ User Create (0.1ms) INSERT INTO "users" ("id", "first_name", "last_name", "email", "company_id", "created_at", "updated_at") VALUES (?, ?, ?, ?, ?, ?, ?) [["id", 1], ["first_name", "Test"], ["last_name", "User"], ["email", "1@example.com"], ["company_id", 1], ["created_at", "2022-01-19 02:07:54.092883"], ["updated_at", "2022-01-19 02:07:54.092883"]]
66
+ TRANSACTION (0.0ms) RELEASE SAVEPOINT active_record_1
67
+  (0.2ms) SELECT COUNT(*) FROM "users" WHERE "users"."company_id" = ? [["company_id", 1]]
68
+ User Load (0.2ms) SELECT "users".* FROM "users" WHERE "users"."company_id" = ? [["company_id", 1]]
69
+  (0.1ms) SELECT COUNT(*) FROM "users" WHERE "users"."company_id" = ? [["company_id", 1]]
70
+ Processing by ScimRails::ScimUsersController#destroy as JSON
71
+ Parameters: {"id"=>"1", "scim_user"=>{}}
72
+ Company Load (0.1ms) SELECT "companies".* FROM "companies" WHERE "companies"."subdomain" = ? LIMIT ? [["subdomain", "test"], ["LIMIT", 1]]
73
+ Completed 501 Not Implemented in 3ms (Views: 0.3ms | ActiveRecord: 0.1ms | Allocations: 944)
74
+ User Load (0.0ms) SELECT "users".* FROM "users" WHERE "users"."company_id" = ? [["company_id", 1]]
75
+  (0.1ms) SELECT COUNT(*) FROM "users" WHERE "users"."company_id" = ? [["company_id", 1]]
76
+ TRANSACTION (0.4ms) rollback transaction
77
+  (1.4ms) SELECT sqlite_version(*)
78
+ TRANSACTION (0.0ms) begin transaction
79
+ Processing by ScimRails::ScimUsersController#destroy as JSON
80
+ Parameters: {"id"=>"1", "scim_user"=>{}}
81
+ Completed 401 Unauthorized in 0ms (Views: 0.2ms | ActiveRecord: 0.0ms | Allocations: 198)
82
+ TRANSACTION (0.1ms) rollback transaction
83
+ TRANSACTION (0.0ms) begin transaction
84
+ Processing by ScimRails::ScimUsersController#destroy as JSON
85
+ Parameters: {"id"=>"1", "scim_user"=>{}}
86
+ Completed 401 Unauthorized in 0ms (Views: 0.1ms | ActiveRecord: 0.0ms | Allocations: 127)
87
+ TRANSACTION (0.0ms) rollback transaction
88
+ TRANSACTION (0.0ms) begin transaction
89
+ Processing by ScimRails::ScimUsersController#destroy as JSON
90
+ Parameters: {"id"=>"1", "scim_user"=>{}}
91
+ Company Load (0.4ms) SELECT "companies".* FROM "companies" WHERE "companies"."subdomain" = ? LIMIT ? [["subdomain", "unauthorized"], ["LIMIT", 1]]
92
+ Completed 401 Unauthorized in 24ms (Views: 0.1ms | ActiveRecord: 0.8ms | Allocations: 7233)
93
+ TRANSACTION (0.0ms) rollback transaction
94
+ TRANSACTION (0.0ms) begin transaction
95
+ TRANSACTION (0.1ms) SAVEPOINT active_record_1
96
+ Company Create (0.6ms) INSERT INTO "companies" ("name", "subdomain", "api_token", "created_at", "updated_at") VALUES (?, ?, ?, ?, ?) [["name", "Test Company"], ["subdomain", "test"], ["api_token", "eyJhbGciOiJIUzI1NiJ9.eyJpYXQiOjE2NDI1NTg2NjAsInN1YmRvbWFpbiI6InRlc3QifQ.PGvnqq8FpotgurltfYrCsc_eWG2mu9cOguLuEbDYbas"], ["created_at", "2022-01-19 02:17:40.895337"], ["updated_at", "2022-01-19 02:17:40.895337"]]
97
+ TRANSACTION (0.0ms) RELEASE SAVEPOINT active_record_1
98
+ TRANSACTION (0.1ms) SAVEPOINT active_record_1
99
+ User Exists? (0.4ms) SELECT 1 AS one FROM "users" WHERE "users"."email" = ? LIMIT ? [["email", "1@example.com"], ["LIMIT", 1]]
100
+ User Create (0.1ms) INSERT INTO "users" ("id", "first_name", "last_name", "email", "company_id", "created_at", "updated_at") VALUES (?, ?, ?, ?, ?, ?, ?) [["id", 1], ["first_name", "Test"], ["last_name", "User"], ["email", "1@example.com"], ["company_id", 1], ["created_at", "2022-01-19 02:17:40.913934"], ["updated_at", "2022-01-19 02:17:40.913934"]]
101
+ TRANSACTION (0.0ms) RELEASE SAVEPOINT active_record_1
102
+ User Load (0.1ms) SELECT "users".* FROM "users" WHERE "users"."company_id" = ? [["company_id", 1]]
103
+  (0.1ms) SELECT COUNT(*) FROM "users" WHERE "users"."company_id" = ? [["company_id", 1]]
104
+ Processing by ScimRails::ScimUsersController#destroy as JSON
105
+ Parameters: {"id"=>"1", "scim_user"=>{}}
106
+ Company Load (0.0ms) SELECT "companies".* FROM "companies" WHERE "companies"."subdomain" = ? LIMIT ? [["subdomain", "test"], ["LIMIT", 1]]
107
+ Completed 501 Not Implemented in 1ms (Views: 0.1ms | ActiveRecord: 0.0ms | Allocations: 307)
108
+ User Load (0.0ms) SELECT "users".* FROM "users" WHERE "users"."company_id" = ? [["company_id", 1]]
109
+  (0.1ms) SELECT COUNT(*) FROM "users" WHERE "users"."company_id" = ? [["company_id", 1]]
110
+ TRANSACTION (0.4ms) rollback transaction
111
+ TRANSACTION (0.0ms) begin transaction
112
+ TRANSACTION (0.1ms) SAVEPOINT active_record_1
113
+ Company Create (0.4ms) INSERT INTO "companies" ("name", "subdomain", "api_token", "created_at", "updated_at") VALUES (?, ?, ?, ?, ?) [["name", "Test Company"], ["subdomain", "test"], ["api_token", "eyJhbGciOiJIUzI1NiJ9.eyJpYXQiOjE2NDI1NTg2NjAsInN1YmRvbWFpbiI6InRlc3QifQ.PGvnqq8FpotgurltfYrCsc_eWG2mu9cOguLuEbDYbas"], ["created_at", "2022-01-19 02:17:40.940891"], ["updated_at", "2022-01-19 02:17:40.940891"]]
114
+ TRANSACTION (0.0ms) RELEASE SAVEPOINT active_record_1
115
+ TRANSACTION (0.0ms) SAVEPOINT active_record_1
116
+ User Exists? (0.1ms) SELECT 1 AS one FROM "users" WHERE "users"."email" = ? LIMIT ? [["email", "2@example.com"], ["LIMIT", 1]]
117
+ User Create (0.1ms) INSERT INTO "users" ("id", "first_name", "last_name", "email", "company_id", "created_at", "updated_at") VALUES (?, ?, ?, ?, ?, ?, ?) [["id", 1], ["first_name", "Test"], ["last_name", "User"], ["email", "2@example.com"], ["company_id", 1], ["created_at", "2022-01-19 02:17:40.943220"], ["updated_at", "2022-01-19 02:17:40.943220"]]
118
+ TRANSACTION (0.0ms) RELEASE SAVEPOINT active_record_1
119
+ User Load (0.0ms) SELECT "users".* FROM "users" WHERE "users"."company_id" = ? [["company_id", 1]]
120
+  (0.1ms) SELECT COUNT(*) FROM "users" WHERE "users"."company_id" = ? [["company_id", 1]]
121
+ Processing by ScimRails::ScimUsersController#destroy as JSON
122
+ Parameters: {"id"=>"1", "scim_user"=>{}}
123
+ Company Load (0.0ms) SELECT "companies".* FROM "companies" WHERE "companies"."subdomain" = ? LIMIT ? [["subdomain", "test"], ["LIMIT", 1]]
124
+ User Load (0.1ms) SELECT "users".* FROM "users" WHERE "users"."company_id" = ? AND "users"."id" = ? LIMIT ? [["company_id", 1], ["id", 1], ["LIMIT", 1]]
125
+ TRANSACTION (0.0ms) SAVEPOINT active_record_1
126
+ User Destroy (0.5ms) DELETE FROM "users" WHERE "users"."id" = ? [["id", 1]]
127
+ TRANSACTION (0.0ms) RELEASE SAVEPOINT active_record_1
128
+ Completed 204 No Content in 2ms (ActiveRecord: 0.7ms | Allocations: 804)
129
+ User Load (0.0ms) SELECT "users".* FROM "users" WHERE "users"."company_id" = ? [["company_id", 1]]
130
+  (0.1ms) SELECT COUNT(*) FROM "users" WHERE "users"."company_id" = ? [["company_id", 1]]
131
+ TRANSACTION (0.5ms) rollback transaction
132
+ TRANSACTION (0.0ms) begin transaction
133
+ TRANSACTION (0.0ms) SAVEPOINT active_record_1
134
+ Company Create (0.4ms) INSERT INTO "companies" ("name", "subdomain", "api_token", "created_at", "updated_at") VALUES (?, ?, ?, ?, ?) [["name", "Test Company"], ["subdomain", "test"], ["api_token", "eyJhbGciOiJIUzI1NiJ9.eyJpYXQiOjE2NDI1NTg2NjAsInN1YmRvbWFpbiI6InRlc3QifQ.PGvnqq8FpotgurltfYrCsc_eWG2mu9cOguLuEbDYbas"], ["created_at", "2022-01-19 02:17:40.950437"], ["updated_at", "2022-01-19 02:17:40.950437"]]
135
+ TRANSACTION (0.0ms) RELEASE SAVEPOINT active_record_1
136
+ TRANSACTION (0.0ms) SAVEPOINT active_record_1
137
+ User Exists? (0.1ms) SELECT 1 AS one FROM "users" WHERE "users"."email" = ? LIMIT ? [["email", "3@example.com"], ["LIMIT", 1]]
138
+ User Create (0.1ms) INSERT INTO "users" ("id", "first_name", "last_name", "email", "company_id", "created_at", "updated_at") VALUES (?, ?, ?, ?, ?, ?, ?) [["id", 1], ["first_name", "Test"], ["last_name", "User"], ["email", "3@example.com"], ["company_id", 1], ["created_at", "2022-01-19 02:17:40.952415"], ["updated_at", "2022-01-19 02:17:40.952415"]]
139
+ TRANSACTION (0.0ms) RELEASE SAVEPOINT active_record_1
140
+ Processing by ScimRails::ScimUsersController#destroy as JSON
141
+ Parameters: {"id"=>"1", "scim_user"=>{}}
142
+ Company Load (0.0ms) SELECT "companies".* FROM "companies" WHERE "companies"."subdomain" = ? LIMIT ? [["subdomain", "test"], ["LIMIT", 1]]
143
+ User Load (0.0ms) SELECT "users".* FROM "users" WHERE "users"."company_id" = ? AND "users"."id" = ? LIMIT ? [["company_id", 1], ["id", 1], ["LIMIT", 1]]
144
+ TRANSACTION (0.0ms) SAVEPOINT active_record_1
145
+ User Destroy (0.1ms) DELETE FROM "users" WHERE "users"."id" = ? [["id", 1]]
146
+ TRANSACTION (0.0ms) RELEASE SAVEPOINT active_record_1
147
+ Completed 204 No Content in 1ms (ActiveRecord: 0.2ms | Allocations: 745)
148
+ TRANSACTION (0.5ms) rollback transaction
149
+ TRANSACTION (0.0ms) begin transaction
150
+ TRANSACTION (0.0ms) SAVEPOINT active_record_1
151
+ Company Create (0.4ms) INSERT INTO "companies" ("name", "subdomain", "api_token", "created_at", "updated_at") VALUES (?, ?, ?, ?, ?) [["name", "Test Company"], ["subdomain", "test"], ["api_token", "eyJhbGciOiJIUzI1NiJ9.eyJpYXQiOjE2NDI1NTg2NjAsInN1YmRvbWFpbiI6InRlc3QifQ.PGvnqq8FpotgurltfYrCsc_eWG2mu9cOguLuEbDYbas"], ["created_at", "2022-01-19 02:17:40.957061"], ["updated_at", "2022-01-19 02:17:40.957061"]]
152
+ TRANSACTION (0.0ms) RELEASE SAVEPOINT active_record_1
153
+ TRANSACTION (0.0ms) SAVEPOINT active_record_1
154
+ User Exists? (0.1ms) SELECT 1 AS one FROM "users" WHERE "users"."email" = ? LIMIT ? [["email", "4@example.com"], ["LIMIT", 1]]
155
+ User Create (0.1ms) INSERT INTO "users" ("id", "first_name", "last_name", "email", "company_id", "created_at", "updated_at") VALUES (?, ?, ?, ?, ?, ?, ?) [["id", 1], ["first_name", "Test"], ["last_name", "User"], ["email", "4@example.com"], ["company_id", 1], ["created_at", "2022-01-19 02:17:40.959241"], ["updated_at", "2022-01-19 02:17:40.959241"]]
156
+ TRANSACTION (0.0ms) RELEASE SAVEPOINT active_record_1
157
+ Processing by ScimRails::ScimUsersController#destroy as JSON
158
+ Parameters: {"id"=>"1", "scim_user"=>{}}
159
+ Company Load (0.1ms) SELECT "companies".* FROM "companies" WHERE "companies"."subdomain" = ? LIMIT ? [["subdomain", "test"], ["LIMIT", 1]]
160
+ User Load (0.0ms) SELECT "users".* FROM "users" WHERE "users"."company_id" = ? AND "users"."id" = ? LIMIT ? [["company_id", 1], ["id", 1], ["LIMIT", 1]]
161
+ TRANSACTION (0.1ms) SAVEPOINT active_record_1
162
+ User Destroy (0.1ms) DELETE FROM "users" WHERE "users"."id" = ? [["id", 1]]
163
+ TRANSACTION (0.0ms) RELEASE SAVEPOINT active_record_1
164
+ Completed 204 No Content in 2ms (ActiveRecord: 0.3ms | Allocations: 745)
165
+ TRANSACTION (0.4ms) rollback transaction
166
+ TRANSACTION (0.0ms) begin transaction
167
+ TRANSACTION (0.0ms) SAVEPOINT active_record_1
168
+ Company Create (0.4ms) INSERT INTO "companies" ("name", "subdomain", "api_token", "created_at", "updated_at") VALUES (?, ?, ?, ?, ?) [["name", "Test Company"], ["subdomain", "test"], ["api_token", "eyJhbGciOiJIUzI1NiJ9.eyJpYXQiOjE2NDI1NTg2NjAsInN1YmRvbWFpbiI6InRlc3QifQ.PGvnqq8FpotgurltfYrCsc_eWG2mu9cOguLuEbDYbas"], ["created_at", "2022-01-19 02:17:40.966445"], ["updated_at", "2022-01-19 02:17:40.966445"]]
169
+ TRANSACTION (0.0ms) RELEASE SAVEPOINT active_record_1
170
+ TRANSACTION (0.0ms) SAVEPOINT active_record_1
171
+ User Exists? (0.1ms) SELECT 1 AS one FROM "users" WHERE "users"."email" = ? LIMIT ? [["email", "5@example.com"], ["LIMIT", 1]]
172
+ User Create (0.1ms) INSERT INTO "users" ("id", "first_name", "last_name", "email", "company_id", "created_at", "updated_at") VALUES (?, ?, ?, ?, ?, ?, ?) [["id", 1], ["first_name", "Test"], ["last_name", "User"], ["email", "5@example.com"], ["company_id", 1], ["created_at", "2022-01-19 02:17:40.968705"], ["updated_at", "2022-01-19 02:17:40.968705"]]
173
+ TRANSACTION (0.0ms) RELEASE SAVEPOINT active_record_1
174
+ Processing by ScimRails::ScimUsersController#destroy as JSON
175
+ Parameters: {"id"=>"1", "scim_user"=>{}}
176
+ Company Load (0.0ms) SELECT "companies".* FROM "companies" WHERE "companies"."subdomain" = ? LIMIT ? [["subdomain", "test"], ["LIMIT", 1]]
177
+ User Load (0.0ms) SELECT "users".* FROM "users" WHERE "users"."company_id" = ? AND "users"."id" = ? LIMIT ? [["company_id", 1], ["id", 1], ["LIMIT", 1]]
178
+ TRANSACTION (0.0ms) SAVEPOINT active_record_1
179
+ User Destroy (0.1ms) DELETE FROM "users" WHERE "users"."id" = ? [["id", 1]]
180
+ TRANSACTION (0.0ms) RELEASE SAVEPOINT active_record_1
181
+ Completed 204 No Content in 2ms (ActiveRecord: 0.2ms | Allocations: 745)
182
+ TRANSACTION (0.4ms) rollback transaction
183
+  (1.2ms) SELECT sqlite_version(*)
184
+ TRANSACTION (0.0ms) begin transaction
185
+ TRANSACTION (0.0ms) SAVEPOINT active_record_1
186
+ Company Create (0.4ms) INSERT INTO "companies" ("name", "subdomain", "api_token", "created_at", "updated_at") VALUES (?, ?, ?, ?, ?) [["name", "Test Company"], ["subdomain", "test"], ["api_token", "eyJhbGciOiJIUzI1NiJ9.eyJpYXQiOjE2NDI1NTg2OTUsInN1YmRvbWFpbiI6InRlc3QifQ.hSXEHIVzrCq0gQJZP4M3K9pY2QDWqiGN6sxLq1_LYw4"], ["created_at", "2022-01-19 02:18:15.205434"], ["updated_at", "2022-01-19 02:18:15.205434"]]
187
+ TRANSACTION (0.0ms) RELEASE SAVEPOINT active_record_1
188
+ TRANSACTION (0.1ms) SAVEPOINT active_record_1
189
+ User Exists? (0.1ms) SELECT 1 AS one FROM "users" WHERE "users"."email" = ? LIMIT ? [["email", "1@example.com"], ["LIMIT", 1]]
190
+ User Create (0.1ms) INSERT INTO "users" ("id", "first_name", "last_name", "email", "company_id", "created_at", "updated_at") VALUES (?, ?, ?, ?, ?, ?, ?) [["id", 1], ["first_name", "Test"], ["last_name", "User"], ["email", "1@example.com"], ["company_id", 1], ["created_at", "2022-01-19 02:18:15.229931"], ["updated_at", "2022-01-19 02:18:15.229931"]]
191
+ TRANSACTION (0.0ms) RELEASE SAVEPOINT active_record_1
192
+ User Load (0.1ms) SELECT "users".* FROM "users" WHERE "users"."company_id" = ? [["company_id", 1]]
193
+  (0.1ms) SELECT COUNT(*) FROM "users" WHERE "users"."company_id" = ? [["company_id", 1]]
194
+ Processing by ScimRails::ScimUsersController#destroy as JSON
195
+ Parameters: {"id"=>"1", "scim_user"=>{}}
196
+ Company Load (0.1ms) SELECT "companies".* FROM "companies" WHERE "companies"."subdomain" = ? LIMIT ? [["subdomain", "test"], ["LIMIT", 1]]
197
+ Completed 501 Not Implemented in 2ms (Views: 0.1ms | ActiveRecord: 0.1ms | Allocations: 944)
198
+ User Load (0.0ms) SELECT "users".* FROM "users" WHERE "users"."company_id" = ? [["company_id", 1]]
199
+  (0.1ms) SELECT COUNT(*) FROM "users" WHERE "users"."company_id" = ? [["company_id", 1]]
200
+ TRANSACTION (0.5ms) rollback transaction
201
+ TRANSACTION (0.0ms) begin transaction
202
+ TRANSACTION (0.0ms) SAVEPOINT active_record_1
203
+ Company Create (0.4ms) INSERT INTO "companies" ("name", "subdomain", "api_token", "created_at", "updated_at") VALUES (?, ?, ?, ?, ?) [["name", "Test Company"], ["subdomain", "test"], ["api_token", "eyJhbGciOiJIUzI1NiJ9.eyJpYXQiOjE2NDI1NTg2OTUsInN1YmRvbWFpbiI6InRlc3QifQ.hSXEHIVzrCq0gQJZP4M3K9pY2QDWqiGN6sxLq1_LYw4"], ["created_at", "2022-01-19 02:18:15.291393"], ["updated_at", "2022-01-19 02:18:15.291393"]]
204
+ TRANSACTION (0.0ms) RELEASE SAVEPOINT active_record_1
205
+ TRANSACTION (0.0ms) SAVEPOINT active_record_1
206
+ User Exists? (0.1ms) SELECT 1 AS one FROM "users" WHERE "users"."email" = ? LIMIT ? [["email", "2@example.com"], ["LIMIT", 1]]
207
+ User Create (0.1ms) INSERT INTO "users" ("id", "first_name", "last_name", "email", "company_id", "created_at", "updated_at") VALUES (?, ?, ?, ?, ?, ?, ?) [["id", 1], ["first_name", "Test"], ["last_name", "User"], ["email", "2@example.com"], ["company_id", 1], ["created_at", "2022-01-19 02:18:15.293590"], ["updated_at", "2022-01-19 02:18:15.293590"]]
208
+ TRANSACTION (0.0ms) RELEASE SAVEPOINT active_record_1
209
+ Processing by ScimRails::ScimUsersController#destroy as JSON
210
+ Parameters: {"id"=>"1", "scim_user"=>{}}
211
+ Company Load (0.0ms) SELECT "companies".* FROM "companies" WHERE "companies"."subdomain" = ? LIMIT ? [["subdomain", "test"], ["LIMIT", 1]]
212
+ User Load (0.1ms) SELECT "users".* FROM "users" WHERE "users"."company_id" = ? AND "users"."id" = ? LIMIT ? [["company_id", 1], ["id", 1], ["LIMIT", 1]]
213
+ TRANSACTION (0.0ms) SAVEPOINT active_record_1
214
+ User Destroy (0.1ms) DELETE FROM "users" WHERE "users"."id" = ? [["id", 1]]
215
+ TRANSACTION (0.0ms) RELEASE SAVEPOINT active_record_1
216
+ Completed 204 No Content in 2ms (ActiveRecord: 0.3ms | Allocations: 804)
217
+ TRANSACTION (0.4ms) rollback transaction
218
+ TRANSACTION (0.0ms) begin transaction
219
+ TRANSACTION (0.0ms) SAVEPOINT active_record_1
220
+ Company Create (0.4ms) INSERT INTO "companies" ("name", "subdomain", "api_token", "created_at", "updated_at") VALUES (?, ?, ?, ?, ?) [["name", "Test Company"], ["subdomain", "test"], ["api_token", "eyJhbGciOiJIUzI1NiJ9.eyJpYXQiOjE2NDI1NTg2OTUsInN1YmRvbWFpbiI6InRlc3QifQ.hSXEHIVzrCq0gQJZP4M3K9pY2QDWqiGN6sxLq1_LYw4"], ["created_at", "2022-01-19 02:18:15.300550"], ["updated_at", "2022-01-19 02:18:15.300550"]]
221
+ TRANSACTION (0.0ms) RELEASE SAVEPOINT active_record_1
222
+ TRANSACTION (0.0ms) SAVEPOINT active_record_1
223
+ User Exists? (0.1ms) SELECT 1 AS one FROM "users" WHERE "users"."email" = ? LIMIT ? [["email", "3@example.com"], ["LIMIT", 1]]
224
+ User Create (0.1ms) INSERT INTO "users" ("id", "first_name", "last_name", "email", "company_id", "created_at", "updated_at") VALUES (?, ?, ?, ?, ?, ?, ?) [["id", 1], ["first_name", "Test"], ["last_name", "User"], ["email", "3@example.com"], ["company_id", 1], ["created_at", "2022-01-19 02:18:15.302493"], ["updated_at", "2022-01-19 02:18:15.302493"]]
225
+ TRANSACTION (0.0ms) RELEASE SAVEPOINT active_record_1
226
+ Processing by ScimRails::ScimUsersController#destroy as JSON
227
+ Parameters: {"id"=>"1", "scim_user"=>{}}
228
+ Company Load (0.0ms) SELECT "companies".* FROM "companies" WHERE "companies"."subdomain" = ? LIMIT ? [["subdomain", "test"], ["LIMIT", 1]]
229
+ User Load (0.0ms) SELECT "users".* FROM "users" WHERE "users"."company_id" = ? AND "users"."id" = ? LIMIT ? [["company_id", 1], ["id", 1], ["LIMIT", 1]]
230
+ TRANSACTION (0.0ms) SAVEPOINT active_record_1
231
+ User Destroy (0.1ms) DELETE FROM "users" WHERE "users"."id" = ? [["id", 1]]
232
+ TRANSACTION (0.0ms) RELEASE SAVEPOINT active_record_1
233
+ Completed 204 No Content in 1ms (ActiveRecord: 0.2ms | Allocations: 745)
234
+ TRANSACTION (0.5ms) rollback transaction
235
+ TRANSACTION (0.0ms) begin transaction
236
+ TRANSACTION (0.1ms) SAVEPOINT active_record_1
237
+ Company Create (0.5ms) INSERT INTO "companies" ("name", "subdomain", "api_token", "created_at", "updated_at") VALUES (?, ?, ?, ?, ?) [["name", "Test Company"], ["subdomain", "test"], ["api_token", "eyJhbGciOiJIUzI1NiJ9.eyJpYXQiOjE2NDI1NTg4MTIsInN1YmRvbWFpbiI6InRlc3QifQ.Bq0UHkpMfDkEd3KIBr8NDrvvqXyIh-kBkIGMERE6y6Y"], ["created_at", "2022-01-19 02:20:12.470371"], ["updated_at", "2022-01-19 02:20:12.470371"]]
238
+ TRANSACTION (0.0ms) RELEASE SAVEPOINT active_record_1
239
+ TRANSACTION (0.0ms) SAVEPOINT active_record_1
240
+ User Exists? (0.1ms) SELECT 1 AS one FROM "users" WHERE "users"."email" = ? LIMIT ? [["email", "4@example.com"], ["LIMIT", 1]]
241
+ User Create (0.1ms) INSERT INTO "users" ("id", "first_name", "last_name", "email", "company_id", "created_at", "updated_at") VALUES (?, ?, ?, ?, ?, ?, ?) [["id", 1], ["first_name", "Test"], ["last_name", "User"], ["email", "4@example.com"], ["company_id", 1], ["created_at", "2022-01-19 02:20:12.473234"], ["updated_at", "2022-01-19 02:20:12.473234"]]
242
+ TRANSACTION (0.0ms) RELEASE SAVEPOINT active_record_1
243
+ Processing by ScimRails::ScimUsersController#destroy as JSON
244
+ Parameters: {"id"=>"1", "scim_user"=>{}}
245
+ Company Load (0.1ms) SELECT "companies".* FROM "companies" WHERE "companies"."subdomain" = ? LIMIT ? [["subdomain", "test"], ["LIMIT", 1]]
246
+ User Load (0.1ms) SELECT "users".* FROM "users" WHERE "users"."company_id" = ? AND "users"."id" = ? LIMIT ? [["company_id", 1], ["id", 1], ["LIMIT", 1]]
247
+ TRANSACTION (0.0ms) SAVEPOINT active_record_1
248
+ User Destroy (0.1ms) DELETE FROM "users" WHERE "users"."id" = ? [["id", 1]]
249
+ TRANSACTION (0.1ms) RELEASE SAVEPOINT active_record_1
250
+ Completed 204 No Content in 2ms (ActiveRecord: 0.3ms | Allocations: 745)
251
+ TRANSACTION (0.6ms) rollback transaction
252
+ TRANSACTION (0.1ms) begin transaction
253
+ TRANSACTION (0.1ms) SAVEPOINT active_record_1
254
+ Company Create (0.6ms) INSERT INTO "companies" ("name", "subdomain", "api_token", "created_at", "updated_at") VALUES (?, ?, ?, ?, ?) [["name", "Test Company"], ["subdomain", "test"], ["api_token", "eyJhbGciOiJIUzI1NiJ9.eyJpYXQiOjE2NDI1NTg4MTIsInN1YmRvbWFpbiI6InRlc3QifQ.Bq0UHkpMfDkEd3KIBr8NDrvvqXyIh-kBkIGMERE6y6Y"], ["created_at", "2022-01-19 02:20:12.480476"], ["updated_at", "2022-01-19 02:20:12.480476"]]
255
+ TRANSACTION (0.1ms) RELEASE SAVEPOINT active_record_1
256
+ TRANSACTION (0.0ms) SAVEPOINT active_record_1
257
+ User Exists? (0.1ms) SELECT 1 AS one FROM "users" WHERE "users"."email" = ? LIMIT ? [["email", "5@example.com"], ["LIMIT", 1]]
258
+ User Create (0.2ms) INSERT INTO "users" ("id", "first_name", "last_name", "email", "company_id", "created_at", "updated_at") VALUES (?, ?, ?, ?, ?, ?, ?) [["id", 1], ["first_name", "Test"], ["last_name", "User"], ["email", "5@example.com"], ["company_id", 1], ["created_at", "2022-01-19 02:20:12.483434"], ["updated_at", "2022-01-19 02:20:12.483434"]]
259
+ TRANSACTION (0.0ms) RELEASE SAVEPOINT active_record_1
260
+ User Load (0.1ms) SELECT "users".* FROM "users" WHERE "users"."company_id" = ? [["company_id", 1]]
261
+  (0.1ms) SELECT COUNT(*) FROM "users" WHERE "users"."company_id" = ? [["company_id", 1]]
262
+ Processing by ScimRails::ScimUsersController#destroy as JSON
263
+ Parameters: {"id"=>"1", "scim_user"=>{}}
264
+ Company Load (0.0ms) SELECT "companies".* FROM "companies" WHERE "companies"."subdomain" = ? LIMIT ? [["subdomain", "test"], ["LIMIT", 1]]
265
+ User Load (0.1ms) SELECT "users".* FROM "users" WHERE "users"."company_id" = ? AND "users"."id" = ? LIMIT ? [["company_id", 1], ["id", 1], ["LIMIT", 1]]
266
+ TRANSACTION (0.0ms) SAVEPOINT active_record_1
267
+ User Destroy (0.1ms) DELETE FROM "users" WHERE "users"."id" = ? [["id", 1]]
268
+ TRANSACTION (0.0ms) RELEASE SAVEPOINT active_record_1
269
+ Completed 204 No Content in 2ms (ActiveRecord: 0.3ms | Allocations: 745)
270
+ User Load (0.0ms) SELECT "users".* FROM "users" WHERE "users"."company_id" = ? [["company_id", 1]]
271
+  (0.1ms) SELECT COUNT(*) FROM "users" WHERE "users"."company_id" = ? [["company_id", 1]]
272
+ TRANSACTION (0.5ms) rollback transaction
273
+ TRANSACTION (0.0ms) begin transaction
274
+ Processing by ScimRails::ScimUsersController#destroy as JSON
275
+ Parameters: {"id"=>"1", "scim_user"=>{}}
276
+ Completed 401 Unauthorized in 0ms (Views: 0.2ms | ActiveRecord: 0.0ms | Allocations: 127)
277
+ TRANSACTION (0.0ms) rollback transaction
278
+ TRANSACTION (0.0ms) begin transaction
279
+ Processing by ScimRails::ScimUsersController#destroy as JSON
280
+ Parameters: {"id"=>"1", "scim_user"=>{}}
281
+ Company Load (0.1ms) SELECT "companies".* FROM "companies" WHERE "companies"."subdomain" = ? LIMIT ? [["subdomain", "unauthorized"], ["LIMIT", 1]]
282
+ Completed 401 Unauthorized in 1ms (Views: 0.2ms | ActiveRecord: 0.1ms | Allocations: 230)
283
+ TRANSACTION (0.0ms) rollback transaction
284
+ TRANSACTION (0.0ms) begin transaction
285
+ Processing by ScimRails::ScimUsersController#destroy as JSON
286
+ Parameters: {"id"=>"1", "scim_user"=>{}}
287
+ Completed 401 Unauthorized in 0ms (Views: 0.2ms | ActiveRecord: 0.0ms | Allocations: 127)
288
+ TRANSACTION (0.0ms) rollback transaction
289
+  (1.2ms) SELECT sqlite_version(*)
290
+ TRANSACTION (0.0ms) begin transaction
291
+ TRANSACTION (0.1ms) SAVEPOINT active_record_1
292
+ Company Create (0.5ms) INSERT INTO "companies" ("name", "subdomain", "api_token", "created_at", "updated_at") VALUES (?, ?, ?, ?, ?) [["name", "Test Company"], ["subdomain", "test"], ["api_token", "eyJhbGciOiJIUzI1NiJ9.eyJpYXQiOjE2NDI1NTg4MTgsInN1YmRvbWFpbiI6InRlc3QifQ.sYpeFtxMWhSYDgGetuPsZXpFMCY_YPGcgAMnmDhRSwo"], ["created_at", "2022-01-19 02:20:18.438946"], ["updated_at", "2022-01-19 02:20:18.438946"]]
293
+ TRANSACTION (0.0ms) RELEASE SAVEPOINT active_record_1
294
+ TRANSACTION (0.1ms) SAVEPOINT active_record_1
295
+ User Exists? (0.1ms) SELECT 1 AS one FROM "users" WHERE "users"."email" = ? LIMIT ? [["email", "1@example.com"], ["LIMIT", 1]]
296
+ User Create (0.1ms) INSERT INTO "users" ("id", "first_name", "last_name", "email", "company_id", "created_at", "updated_at") VALUES (?, ?, ?, ?, ?, ?, ?) [["id", 1], ["first_name", "Test"], ["last_name", "User"], ["email", "1@example.com"], ["company_id", 1], ["created_at", "2022-01-19 02:20:18.468134"], ["updated_at", "2022-01-19 02:20:18.468134"]]
297
+ TRANSACTION (0.0ms) RELEASE SAVEPOINT active_record_1
298
+ User Load (0.1ms) SELECT "users".* FROM "users" WHERE "users"."company_id" = ? [["company_id", 1]]
299
+  (0.1ms) SELECT COUNT(*) FROM "users" WHERE "users"."company_id" = ? [["company_id", 1]]
300
+ Processing by ScimRails::ScimUsersController#destroy as JSON
301
+ Parameters: {"id"=>"1", "scim_user"=>{}}
302
+ Company Load (0.1ms) SELECT "companies".* FROM "companies" WHERE "companies"."subdomain" = ? LIMIT ? [["subdomain", "test"], ["LIMIT", 1]]
303
+ Completed 501 Not Implemented in 3ms (Views: 0.2ms | ActiveRecord: 0.1ms | Allocations: 944)
304
+ User Load (0.0ms) SELECT "users".* FROM "users" WHERE "users"."company_id" = ? [["company_id", 1]]
305
+  (0.1ms) SELECT COUNT(*) FROM "users" WHERE "users"."company_id" = ? [["company_id", 1]]
306
+ TRANSACTION (0.4ms) rollback transaction
307
+ TRANSACTION (0.0ms) begin transaction
308
+ TRANSACTION (0.0ms) SAVEPOINT active_record_1
309
+ Company Create (0.4ms) INSERT INTO "companies" ("name", "subdomain", "api_token", "created_at", "updated_at") VALUES (?, ?, ?, ?, ?) [["name", "Test Company"], ["subdomain", "test"], ["api_token", "eyJhbGciOiJIUzI1NiJ9.eyJpYXQiOjE2NDI1NTg4MTgsInN1YmRvbWFpbiI6InRlc3QifQ.sYpeFtxMWhSYDgGetuPsZXpFMCY_YPGcgAMnmDhRSwo"], ["created_at", "2022-01-19 02:20:18.531009"], ["updated_at", "2022-01-19 02:20:18.531009"]]
310
+ TRANSACTION (0.0ms) RELEASE SAVEPOINT active_record_1
311
+ TRANSACTION (0.0ms) SAVEPOINT active_record_1
312
+ User Exists? (0.1ms) SELECT 1 AS one FROM "users" WHERE "users"."email" = ? LIMIT ? [["email", "2@example.com"], ["LIMIT", 1]]
313
+ User Create (0.1ms) INSERT INTO "users" ("id", "first_name", "last_name", "email", "company_id", "created_at", "updated_at") VALUES (?, ?, ?, ?, ?, ?, ?) [["id", 1], ["first_name", "Test"], ["last_name", "User"], ["email", "2@example.com"], ["company_id", 1], ["created_at", "2022-01-19 02:20:18.533046"], ["updated_at", "2022-01-19 02:20:18.533046"]]
314
+ TRANSACTION (0.0ms) RELEASE SAVEPOINT active_record_1
315
+ User Load (0.0ms) SELECT "users".* FROM "users" WHERE "users"."company_id" = ? [["company_id", 1]]
316
+  (0.0ms) SELECT COUNT(*) FROM "users" WHERE "users"."company_id" = ? [["company_id", 1]]
317
+ Processing by ScimRails::ScimUsersController#destroy as JSON
318
+ Parameters: {"id"=>"1", "scim_user"=>{}}
319
+ Company Load (0.0ms) SELECT "companies".* FROM "companies" WHERE "companies"."subdomain" = ? LIMIT ? [["subdomain", "test"], ["LIMIT", 1]]
320
+ User Load (0.1ms) SELECT "users".* FROM "users" WHERE "users"."company_id" = ? AND "users"."id" = ? LIMIT ? [["company_id", 1], ["id", 1], ["LIMIT", 1]]
321
+ TRANSACTION (0.1ms) SAVEPOINT active_record_1
322
+ User Destroy (0.1ms) DELETE FROM "users" WHERE "users"."id" = ? [["id", 1]]
323
+ TRANSACTION (0.0ms) RELEASE SAVEPOINT active_record_1
324
+ Completed 204 No Content in 2ms (ActiveRecord: 0.3ms | Allocations: 804)
325
+ User Load (0.0ms) SELECT "users".* FROM "users" WHERE "users"."company_id" = ? [["company_id", 1]]
326
+  (0.0ms) SELECT COUNT(*) FROM "users" WHERE "users"."company_id" = ? [["company_id", 1]]
327
+ TRANSACTION (0.4ms) rollback transaction
328
+ TRANSACTION (0.0ms) begin transaction
329
+ TRANSACTION (0.0ms) SAVEPOINT active_record_1
330
+ Company Create (0.3ms) INSERT INTO "companies" ("name", "subdomain", "api_token", "created_at", "updated_at") VALUES (?, ?, ?, ?, ?) [["name", "Test Company"], ["subdomain", "test"], ["api_token", "eyJhbGciOiJIUzI1NiJ9.eyJpYXQiOjE2NDI1NTg4MTgsInN1YmRvbWFpbiI6InRlc3QifQ.sYpeFtxMWhSYDgGetuPsZXpFMCY_YPGcgAMnmDhRSwo"], ["created_at", "2022-01-19 02:20:18.539502"], ["updated_at", "2022-01-19 02:20:18.539502"]]
331
+ TRANSACTION (0.0ms) RELEASE SAVEPOINT active_record_1
332
+ TRANSACTION (0.0ms) SAVEPOINT active_record_1
333
+ User Exists? (0.1ms) SELECT 1 AS one FROM "users" WHERE "users"."email" = ? LIMIT ? [["email", "3@example.com"], ["LIMIT", 1]]
334
+ User Create (0.1ms) INSERT INTO "users" ("id", "first_name", "last_name", "email", "company_id", "created_at", "updated_at") VALUES (?, ?, ?, ?, ?, ?, ?) [["id", 1], ["first_name", "Test"], ["last_name", "User"], ["email", "3@example.com"], ["company_id", 1], ["created_at", "2022-01-19 02:20:18.541374"], ["updated_at", "2022-01-19 02:20:18.541374"]]
335
+ TRANSACTION (0.0ms) RELEASE SAVEPOINT active_record_1
336
+ Processing by ScimRails::ScimUsersController#destroy as JSON
337
+ Parameters: {"id"=>"1", "scim_user"=>{}}
338
+ Company Load (0.0ms) SELECT "companies".* FROM "companies" WHERE "companies"."subdomain" = ? LIMIT ? [["subdomain", "test"], ["LIMIT", 1]]
339
+ User Load (0.0ms) SELECT "users".* FROM "users" WHERE "users"."company_id" = ? AND "users"."id" = ? LIMIT ? [["company_id", 1], ["id", 1], ["LIMIT", 1]]
340
+ TRANSACTION (0.0ms) SAVEPOINT active_record_1
341
+ User Destroy (0.1ms) DELETE FROM "users" WHERE "users"."id" = ? [["id", 1]]
342
+ TRANSACTION (0.0ms) RELEASE SAVEPOINT active_record_1
343
+ Completed 204 No Content in 1ms (ActiveRecord: 0.2ms | Allocations: 745)
344
+ TRANSACTION (0.3ms) rollback transaction
345
+ TRANSACTION (0.0ms) begin transaction
346
+ TRANSACTION (0.0ms) SAVEPOINT active_record_1
347
+ Company Create (0.3ms) INSERT INTO "companies" ("name", "subdomain", "api_token", "created_at", "updated_at") VALUES (?, ?, ?, ?, ?) [["name", "Test Company"], ["subdomain", "test"], ["api_token", "eyJhbGciOiJIUzI1NiJ9.eyJpYXQiOjE2NDI1NTg4MTgsInN1YmRvbWFpbiI6InRlc3QifQ.sYpeFtxMWhSYDgGetuPsZXpFMCY_YPGcgAMnmDhRSwo"], ["created_at", "2022-01-19 02:20:18.545949"], ["updated_at", "2022-01-19 02:20:18.545949"]]
348
+ TRANSACTION (0.0ms) RELEASE SAVEPOINT active_record_1
349
+ TRANSACTION (0.0ms) SAVEPOINT active_record_1
350
+ User Exists? (0.1ms) SELECT 1 AS one FROM "users" WHERE "users"."email" = ? LIMIT ? [["email", "4@example.com"], ["LIMIT", 1]]
351
+ User Create (0.1ms) INSERT INTO "users" ("id", "first_name", "last_name", "email", "company_id", "created_at", "updated_at") VALUES (?, ?, ?, ?, ?, ?, ?) [["id", 1], ["first_name", "Test"], ["last_name", "User"], ["email", "4@example.com"], ["company_id", 1], ["created_at", "2022-01-19 02:20:18.547843"], ["updated_at", "2022-01-19 02:20:18.547843"]]
352
+ TRANSACTION (0.0ms) RELEASE SAVEPOINT active_record_1
353
+ Processing by ScimRails::ScimUsersController#destroy as JSON
354
+ Parameters: {"id"=>"1", "scim_user"=>{}}
355
+ Company Load (0.0ms) SELECT "companies".* FROM "companies" WHERE "companies"."subdomain" = ? LIMIT ? [["subdomain", "test"], ["LIMIT", 1]]
356
+ User Load (0.0ms) SELECT "users".* FROM "users" WHERE "users"."company_id" = ? AND "users"."id" = ? LIMIT ? [["company_id", 1], ["id", 1], ["LIMIT", 1]]
357
+ TRANSACTION (0.0ms) SAVEPOINT active_record_1
358
+ User Destroy (0.1ms) DELETE FROM "users" WHERE "users"."id" = ? [["id", 1]]
359
+ TRANSACTION (0.0ms) RELEASE SAVEPOINT active_record_1
360
+ Completed 204 No Content in 2ms (ActiveRecord: 0.2ms | Allocations: 745)
361
+ TRANSACTION (0.3ms) rollback transaction
362
+ TRANSACTION (0.0ms) begin transaction
363
+ Processing by ScimRails::ScimUsersController#destroy as JSON
364
+ Parameters: {"id"=>"1", "scim_user"=>{}}
365
+ Completed 401 Unauthorized in 0ms (Views: 0.1ms | ActiveRecord: 0.0ms | Allocations: 127)
366
+ TRANSACTION (0.0ms) rollback transaction
367
+ TRANSACTION (0.0ms) begin transaction
368
+ Processing by ScimRails::ScimUsersController#destroy as JSON
369
+ Parameters: {"id"=>"1", "scim_user"=>{}}
370
+ Completed 401 Unauthorized in 0ms (Views: 0.1ms | ActiveRecord: 0.0ms | Allocations: 127)
371
+ TRANSACTION (0.0ms) rollback transaction
372
+ TRANSACTION (0.0ms) begin transaction
373
+ Processing by ScimRails::ScimUsersController#destroy as JSON
374
+ Parameters: {"id"=>"1", "scim_user"=>{}}
375
+ Company Load (0.1ms) SELECT "companies".* FROM "companies" WHERE "companies"."subdomain" = ? LIMIT ? [["subdomain", "unauthorized"], ["LIMIT", 1]]
376
+ Completed 401 Unauthorized in 1ms (Views: 0.1ms | ActiveRecord: 0.1ms | Allocations: 230)
377
+ TRANSACTION (0.0ms) rollback transaction
@@ -0,0 +1,5 @@
1
+ curl 'http://localhost:9999/scim/v2/Groups/1' \
2
+ -X 'PUT' \
3
+ -d '{"schemas": ["urn:ietf:params:scim:api:messages:2.0:PutOp"], "Operations": ["op": "Add", "path": "members", "value": {"$ref": null, "value": "1"}]}' \
4
+ -H 'Content-Type: application/scim+json' \
5
+ -H 'Authorization:Basic dGVzdF9jb21wYW55OjE=' \
File without changes
@@ -19,7 +19,8 @@ describe ScimPatchOperation do
19
19
  name: {
20
20
  familyName: :family_name,
21
21
  givenName: :given_name
22
- }
22
+ },
23
+ active: :active
23
24
  }
24
25
  }
25
26
  let(:operation) {
@@ -81,6 +82,15 @@ describe ScimPatchOperation do
81
82
  expect(operation.value).to eq value
82
83
  }
83
84
  end
85
+
86
+ context 'replace active' do
87
+ let(:path) { 'active' }
88
+ let(:value) { 'False' }
89
+
90
+ it 'convert string to bool' do
91
+ expect(operation.value).to eq false
92
+ end
93
+ end
84
94
  end
85
95
 
86
- end
96
+ end
@@ -22,6 +22,11 @@ describe ScimPatch do
22
22
  'op' => 'Replace',
23
23
  'path' => 'name.familyName',
24
24
  'value' => 'Suzuki'
25
+ },
26
+ {
27
+ 'op' => 'Replace',
28
+ 'path' => 'active',
29
+ 'value' => 'False'
25
30
  }
26
31
  ]
27
32
  }
@@ -39,7 +44,8 @@ describe ScimPatch do
39
44
  name: {
40
45
  familyName: :family_name,
41
46
  givenName: :given_name
42
- }
47
+ },
48
+ active: :active
43
49
  }
44
50
  }
45
51
 
@@ -61,6 +67,11 @@ describe ScimPatch do
61
67
  expect(patch.operations[2].path_scim).to eq 'name.familyName'
62
68
  expect(patch.operations[2].path_sp).to eq :family_name
63
69
  expect(patch.operations[2].value).to eq 'Suzuki'
70
+
71
+ expect(patch.operations[3].op).to eq :replace
72
+ expect(patch.operations[3].path_scim).to eq 'active'
73
+ expect(patch.operations[3].path_sp).to eq :active
74
+ expect(patch.operations[3].value).to eq false
64
75
  }
65
76
  end
66
77
 
@@ -69,4 +80,4 @@ describe ScimPatch do
69
80
  # patch.update(user)
70
81
  # end
71
82
 
72
- end
83
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: scimaenaga
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.0
4
+ version: 0.6.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Studist Corporation
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-12-21 00:00:00.000000000 Z
11
+ date: 2022-01-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -135,7 +135,7 @@ dependencies:
135
135
  - !ruby/object:Gem::Version
136
136
  version: '1.5'
137
137
  description: SCIM Adapter for Rails.
138
- email:
138
+ email:
139
139
  executables: []
140
140
  extensions: []
141
141
  extra_rdoc_files: []
@@ -219,18 +219,25 @@ files:
219
219
  - spec/dummy/config/routes.rb
220
220
  - spec/dummy/config/secrets.yml
221
221
  - spec/dummy/config/spring.rb
222
+ - spec/dummy/db/development.sqlite3
222
223
  - spec/dummy/db/migrate/20181206184304_create_users.rb
223
224
  - spec/dummy/db/migrate/20181206184313_create_companies.rb
224
225
  - spec/dummy/db/migrate/20210423075859_create_groups.rb
225
226
  - spec/dummy/db/migrate/20210423075950_create_group_users.rb
227
+ - spec/dummy/db/migrate/20220117095407_add_country_to_users.rb
226
228
  - spec/dummy/db/schema.rb
227
229
  - spec/dummy/db/seeds.rb
230
+ - spec/dummy/db/test.sqlite3
231
+ - spec/dummy/log/development.log
232
+ - spec/dummy/log/test.log
228
233
  - spec/dummy/public/404.html
229
234
  - spec/dummy/public/422.html
230
235
  - spec/dummy/public/500.html
231
236
  - spec/dummy/public/apple-touch-icon-precomposed.png
232
237
  - spec/dummy/public/apple-touch-icon.png
233
238
  - spec/dummy/public/favicon.ico
239
+ - spec/dummy/put_group.http
240
+ - spec/dummy/tmp/restart.txt
234
241
  - spec/factories/company.rb
235
242
  - spec/factories/group.rb
236
243
  - spec/factories/user.rb
@@ -241,12 +248,11 @@ files:
241
248
  - spec/spec_helper.rb
242
249
  - spec/support/auth_helper.rb
243
250
  - spec/support/factory_bot.rb
244
- - spec/support/scim_rails_config.rb
245
251
  homepage: https://github.com/StudistCorporation/scimaenaga
246
252
  licenses:
247
253
  - MIT
248
254
  metadata: {}
249
- post_install_message:
255
+ post_install_message:
250
256
  rdoc_options: []
251
257
  require_paths:
252
258
  - lib
@@ -265,83 +271,89 @@ required_rubygems_version: !ruby/object:Gem::Requirement
265
271
  version: '0'
266
272
  requirements: []
267
273
  rubygems_version: 3.0.3
268
- signing_key:
274
+ signing_key:
269
275
  specification_version: 4
270
276
  summary: SCIM Adapter for Rails.
271
277
  test_files:
272
- - spec/dummy/config.ru
273
- - spec/dummy/db/migrate/20181206184313_create_companies.rb
274
- - spec/dummy/db/migrate/20181206184304_create_users.rb
275
- - spec/dummy/db/migrate/20210423075950_create_group_users.rb
276
- - spec/dummy/db/migrate/20210423075859_create_groups.rb
277
- - spec/dummy/db/schema.rb
278
- - spec/dummy/db/seeds.rb
279
- - spec/dummy/config/spring.rb
280
- - spec/dummy/config/environment.rb
281
- - spec/dummy/config/routes.rb
282
- - spec/dummy/config/cable.yml
283
- - spec/dummy/config/database.yml
284
- - spec/dummy/config/secrets.yml
285
- - spec/dummy/config/application.rb
286
- - spec/dummy/config/initializers/mime_types.rb
287
- - spec/dummy/config/initializers/backtrace_silencers.rb
288
- - spec/dummy/config/initializers/wrap_parameters.rb
289
- - spec/dummy/config/initializers/assets.rb
290
- - spec/dummy/config/initializers/inflections.rb
291
- - spec/dummy/config/initializers/new_framework_defaults.rb
292
- - spec/dummy/config/initializers/filter_parameter_logging.rb
293
- - spec/dummy/config/initializers/scim_rails_config.rb
294
- - spec/dummy/config/initializers/session_store.rb
295
- - spec/dummy/config/initializers/cookies_serializer.rb
296
- - spec/dummy/config/initializers/application_controller_renderer.rb
297
- - spec/dummy/config/boot.rb
298
- - spec/dummy/config/puma.rb
299
- - spec/dummy/config/environments/test.rb
300
- - spec/dummy/config/environments/production.rb
301
- - spec/dummy/config/environments/development.rb
302
- - spec/dummy/config/locales/en.yml
278
+ - spec/spec_helper.rb
279
+ - spec/dummy/app/mailers/application_mailer.rb
280
+ - spec/dummy/app/models/group.rb
281
+ - spec/dummy/app/models/company.rb
282
+ - spec/dummy/app/models/group_user.rb
283
+ - spec/dummy/app/models/application_record.rb
284
+ - spec/dummy/app/models/user.rb
285
+ - spec/dummy/app/jobs/application_job.rb
286
+ - spec/dummy/app/controllers/application_controller.rb
287
+ - spec/dummy/app/views/layouts/application.html.erb
303
288
  - spec/dummy/app/views/layouts/mailer.html.erb
304
289
  - spec/dummy/app/views/layouts/mailer.text.erb
305
- - spec/dummy/app/views/layouts/application.html.erb
306
- - spec/dummy/app/channels/application_cable/channel.rb
307
- - spec/dummy/app/channels/application_cable/connection.rb
308
- - spec/dummy/app/jobs/application_job.rb
309
290
  - spec/dummy/app/assets/config/manifest.js
310
- - spec/dummy/app/assets/javascripts/application.js
311
291
  - spec/dummy/app/assets/javascripts/cable.js
292
+ - spec/dummy/app/assets/javascripts/application.js
312
293
  - spec/dummy/app/assets/stylesheets/application.css
313
294
  - spec/dummy/app/helpers/application_helper.rb
314
- - spec/dummy/app/controllers/application_controller.rb
315
- - spec/dummy/app/models/user.rb
316
- - spec/dummy/app/models/group.rb
317
- - spec/dummy/app/models/application_record.rb
318
- - spec/dummy/app/models/group_user.rb
319
- - spec/dummy/app/models/company.rb
320
- - spec/dummy/app/mailers/application_mailer.rb
321
- - spec/dummy/Rakefile
295
+ - spec/dummy/app/channels/application_cable/connection.rb
296
+ - spec/dummy/app/channels/application_cable/channel.rb
297
+ - spec/dummy/bin/update
298
+ - spec/dummy/bin/rake
322
299
  - spec/dummy/bin/setup
323
- - spec/dummy/bin/rails
324
300
  - spec/dummy/bin/bundle
325
- - spec/dummy/bin/rake
326
- - spec/dummy/bin/update
327
- - spec/dummy/public/500.html
328
- - spec/dummy/public/apple-touch-icon-precomposed.png
301
+ - spec/dummy/bin/rails
302
+ - spec/dummy/config/secrets.yml
303
+ - spec/dummy/config/routes.rb
304
+ - spec/dummy/config/locales/en.yml
305
+ - spec/dummy/config/cable.yml
306
+ - spec/dummy/config/environments/production.rb
307
+ - spec/dummy/config/environments/development.rb
308
+ - spec/dummy/config/environments/test.rb
309
+ - spec/dummy/config/spring.rb
310
+ - spec/dummy/config/environment.rb
311
+ - spec/dummy/config/application.rb
312
+ - spec/dummy/config/puma.rb
313
+ - spec/dummy/config/database.yml
314
+ - spec/dummy/config/boot.rb
315
+ - spec/dummy/config/initializers/application_controller_renderer.rb
316
+ - spec/dummy/config/initializers/backtrace_silencers.rb
317
+ - spec/dummy/config/initializers/mime_types.rb
318
+ - spec/dummy/config/initializers/filter_parameter_logging.rb
319
+ - spec/dummy/config/initializers/session_store.rb
320
+ - spec/dummy/config/initializers/wrap_parameters.rb
321
+ - spec/dummy/config/initializers/new_framework_defaults.rb
322
+ - spec/dummy/config/initializers/assets.rb
323
+ - spec/dummy/config/initializers/cookies_serializer.rb
324
+ - spec/dummy/config/initializers/scim_rails_config.rb
325
+ - spec/dummy/config/initializers/inflections.rb
326
+ - spec/dummy/config.ru
327
+ - spec/dummy/put_group.http
328
+ - spec/dummy/Rakefile
329
329
  - spec/dummy/public/favicon.ico
330
- - spec/dummy/public/404.html
331
- - spec/dummy/public/apple-touch-icon.png
332
330
  - spec/dummy/public/422.html
331
+ - spec/dummy/public/apple-touch-icon.png
332
+ - spec/dummy/public/500.html
333
+ - spec/dummy/public/404.html
334
+ - spec/dummy/public/apple-touch-icon-precomposed.png
335
+ - spec/dummy/db/schema.rb
336
+ - spec/dummy/db/seeds.rb
337
+ - spec/dummy/db/test.sqlite3
338
+ - spec/dummy/db/migrate/20220117095407_add_country_to_users.rb
339
+ - spec/dummy/db/migrate/20181206184304_create_users.rb
340
+ - spec/dummy/db/migrate/20210423075950_create_group_users.rb
341
+ - spec/dummy/db/migrate/20181206184313_create_companies.rb
342
+ - spec/dummy/db/migrate/20210423075859_create_groups.rb
343
+ - spec/dummy/db/development.sqlite3
344
+ - spec/dummy/log/test.log
345
+ - spec/dummy/log/development.log
346
+ - spec/dummy/tmp/restart.txt
347
+ - spec/libraries/scim_patch_operation_spec.rb
348
+ - spec/libraries/scim_patch_spec.rb
349
+ - spec/models/scim_query_parser_spec.rb
333
350
  - spec/support/factory_bot.rb
334
- - spec/support/scim_rails_config.rb
335
351
  - spec/support/auth_helper.rb
352
+ - spec/factories/group.rb
353
+ - spec/factories/company.rb
354
+ - spec/factories/user.rb
336
355
  - spec/lib/scim_rails/encoder_spec.rb
337
- - spec/controllers/scim_rails/scim_users_controller_spec.rb
338
356
  - spec/controllers/scim_rails/scim_users_request_spec.rb
339
- - spec/controllers/scim_rails/scim_groups_request_spec.rb
357
+ - spec/controllers/scim_rails/scim_users_controller_spec.rb
340
358
  - spec/controllers/scim_rails/scim_groups_controller_spec.rb
341
- - spec/libraries/scim_patch_spec.rb
342
- - spec/libraries/scim_patch_operation_spec.rb
343
- - spec/factories/user.rb
344
- - spec/factories/group.rb
345
- - spec/factories/company.rb
346
- - spec/spec_helper.rb
347
- - spec/models/scim_query_parser_spec.rb
359
+ - spec/controllers/scim_rails/scim_groups_request_spec.rb
@@ -1,59 +0,0 @@
1
- # This file would normally be in config > initializers but
2
- # is included here because it is essentially a spec helper
3
-
4
- ScimRails.configure do |config|
5
- config.basic_auth_model = "Company"
6
- config.scim_users_model = "User"
7
-
8
- config.basic_auth_model_searchable_attribute = :subdomain
9
- config.basic_auth_model_authenticatable_attribute = :api_token
10
- config.scim_users_scope = :users
11
- config.scim_users_list_order = :id
12
-
13
- config.signing_algorithm = "HS256"
14
- config.signing_secret = "2d6806dd11c2fece2e81b8ca76dcb0062f5b08e28e3264e8ba1c44bbd3578b70"
15
-
16
- config.user_deprovision_method = :archive!
17
- config.user_reprovision_method = :unarchive!
18
-
19
- config.mutable_user_attributes = [
20
- :first_name,
21
- :last_name,
22
- :email
23
- ]
24
-
25
- config.queryable_user_attributes = {
26
- userName: :email,
27
- givenName: :first_name,
28
- familyName: :last_name,
29
- email: :email
30
- }
31
-
32
- config.mutable_user_attributes_schema = {
33
- name: {
34
- givenName: :first_name,
35
- familyName: :last_name
36
- },
37
- emails: [
38
- {
39
- value: :email
40
- }
41
- ]
42
- }
43
-
44
- config.user_schema = {
45
- schemas: ["urn:ietf:params:scim:schemas:core:2.0:User"],
46
- id: :id,
47
- userName: :email,
48
- name: {
49
- givenName: :first_name,
50
- familyName: :last_name
51
- },
52
- emails: [
53
- {
54
- value: :email
55
- },
56
- ],
57
- active: :unarchived?
58
- }
59
- end