scimaenaga 0.6.0 → 0.6.1

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.
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