workos 2.2.0 → 2.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (43) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +2 -2
  3. data/lib/workos/audit_trail.rb +1 -0
  4. data/lib/workos/challenge.rb +2 -1
  5. data/lib/workos/connection.rb +1 -0
  6. data/lib/workos/deprecated_hash_wrapper.rb +76 -0
  7. data/lib/workos/directory.rb +1 -0
  8. data/lib/workos/directory_group.rb +22 -2
  9. data/lib/workos/directory_sync.rb +11 -8
  10. data/lib/workos/directory_user.rb +9 -1
  11. data/lib/workos/factor.rb +2 -6
  12. data/lib/workos/hash_provider.rb +19 -0
  13. data/lib/workos/organization.rb +1 -0
  14. data/lib/workos/organizations.rb +1 -0
  15. data/lib/workos/profile.rb +1 -0
  16. data/lib/workos/profile_and_token.rb +1 -0
  17. data/lib/workos/sso.rb +1 -0
  18. data/lib/workos/types/challenge_struct.rb +1 -1
  19. data/lib/workos/types/directory_group_struct.rb +5 -0
  20. data/lib/workos/types/factor_struct.rb +0 -1
  21. data/lib/workos/types/passwordless_session_struct.rb +2 -0
  22. data/lib/workos/types/verify_factor_struct.rb +1 -3
  23. data/lib/workos/verify_factor.rb +1 -0
  24. data/lib/workos/version.rb +1 -1
  25. data/lib/workos/webhook.rb +1 -0
  26. data/lib/workos.rb +2 -0
  27. data/spec/lib/workos/directory_sync_spec.rb +26 -18
  28. data/spec/lib/workos/directory_user_spec.rb +36 -0
  29. data/spec/lib/workos/mfa_spec.rb +31 -1
  30. data/spec/support/fixtures/vcr_cassettes/directory_sync/get_group.yml +48 -28
  31. data/spec/support/fixtures/vcr_cassettes/directory_sync/list_groups/with_after.yml +46 -32
  32. data/spec/support/fixtures/vcr_cassettes/directory_sync/list_groups/with_before.yml +47 -31
  33. data/spec/support/fixtures/vcr_cassettes/directory_sync/list_groups/with_directory.yml +46 -34
  34. data/spec/support/fixtures/vcr_cassettes/directory_sync/list_groups/with_limit.yml +41 -31
  35. data/spec/support/fixtures/vcr_cassettes/directory_sync/list_groups/with_no_options.yml +36 -26
  36. data/spec/support/fixtures/vcr_cassettes/directory_sync/list_groups/with_user.yml +38 -28
  37. data/spec/support/fixtures/vcr_cassettes/mfa/challenge_factor_totp_valid.yml +1 -1
  38. data/spec/support/fixtures/vcr_cassettes/mfa/enroll_factor_generic_valid.yml +1 -1
  39. data/spec/support/fixtures/vcr_cassettes/mfa/enroll_factor_sms_valid.yml +1 -1
  40. data/spec/support/fixtures/vcr_cassettes/mfa/enroll_factor_totp_valid.yml +1 -1
  41. data/spec/support/fixtures/vcr_cassettes/mfa/get_factor_valid.yml +1 -1
  42. data/spec/support/fixtures/vcr_cassettes/mfa/verify_factor_generic_valid_is_false.yml +82 -0
  43. metadata +9 -3
@@ -0,0 +1,36 @@
1
+ # frozen_string_literal: true
2
+ # typed: false
3
+
4
+ describe WorkOS::DirectoryUser do
5
+ # rubocop:disable Layout/LineLength
6
+ describe '.get_primary_email' do
7
+ context 'with one primary email' do
8
+ it 'returns the primary email' do
9
+ user = WorkOS::DirectoryUser.new('{"object":"directory_user","id":"directory_user_01FAZYNPC8M0HRYTKFP2GNX852","directory_id":"directory_01FAZYMST676QMTFN1DDJZZX87","idp_id":"6092c280a3f1e19ef6d8cef8","username":"logan@workos.com","emails":[{"primary":true,"value":"logan@workos.com"}, {"primary":false,"value":"logan@gmail.com"}],"first_name":"Logan","last_name":"Gingerich","state":"active","raw_attributes":{},"custom_attributes":{},"groups":[]}')
10
+ expect(user.primary_email).to eq('logan@workos.com')
11
+ end
12
+ end
13
+
14
+ context 'with multiple primary emails' do
15
+ it 'returns the first email marked as primary' do
16
+ user = WorkOS::DirectoryUser.new('{"object":"directory_user","id":"directory_user_01FAZYNPC8M0HRYTKFP2GNX852","directory_id":"directory_01FAZYMST676QMTFN1DDJZZX87","idp_id":"6092c280a3f1e19ef6d8cef8","username":"logan@workos.com","emails":[{"primary":true,"value":"logan@workos.com"}, {"primary":true,"value":"logan@gmail.com"}],"first_name":"Logan","last_name":"Gingerich","state":"active","raw_attributes":{},"custom_attributes":{},"groups":[]}')
17
+ expect(user.primary_email).to eq('logan@workos.com')
18
+ end
19
+ end
20
+
21
+ context 'with no primary emails' do
22
+ it 'returns nil' do
23
+ user = WorkOS::DirectoryUser.new('{"object":"directory_user","id":"directory_user_01FAZYNPC8M0HRYTKFP2GNX852","directory_id":"directory_01FAZYMST676QMTFN1DDJZZX87","idp_id":"6092c280a3f1e19ef6d8cef8","username":"logan@workos.com","emails":[{"primary":false,"value":"logan@gmail.com"}],"first_name":"Logan","last_name":"Gingerich","state":"active","raw_attributes":{},"custom_attributes":{},"groups":[]}')
24
+ expect(user.primary_email).to eq(nil)
25
+ end
26
+ end
27
+
28
+ context 'with an empty email array' do
29
+ it 'returns nil' do
30
+ user = WorkOS::DirectoryUser.new('{"object":"directory_user","id":"directory_user_01FAZYNPC8M0HRYTKFP2GNX852","directory_id":"directory_01FAZYMST676QMTFN1DDJZZX87","idp_id":"6092c280a3f1e19ef6d8cef8","username":"logan@workos.com","emails":[],"first_name":"Logan","last_name":"Gingerich","state":"active","raw_attributes":{},"custom_attributes":{},"groups":[]}')
31
+ expect(user.primary_email).to eq(nil)
32
+ end
33
+ end
34
+ end
35
+ # rubocop:enable Layout/LineLength
36
+ end
@@ -3,6 +3,7 @@
3
3
 
4
4
  describe WorkOS::MFA do
5
5
  it_behaves_like 'client'
6
+
6
7
  describe 'enroll_factor valid requests' do
7
8
  context 'enroll factor using valid generic argument' do
8
9
  it 'returns a valid factor object' do
@@ -14,6 +15,7 @@ describe WorkOS::MFA do
14
15
  end
15
16
  end
16
17
  end
18
+
17
19
  context 'enroll factor using valid totp arguments' do
18
20
  it 'returns a valid factor object' do
19
21
  VCR.use_cassette 'mfa/enroll_factor_totp_valid' do
@@ -26,6 +28,7 @@ describe WorkOS::MFA do
26
28
  end
27
29
  end
28
30
  end
31
+
29
32
  context 'enroll factor using valid sms arguments' do
30
33
  it 'returns a valid factor object' do
31
34
  VCR.use_cassette 'mfa/enroll_factor_sms_valid' do
@@ -38,6 +41,7 @@ describe WorkOS::MFA do
38
41
  end
39
42
  end
40
43
  end
44
+
41
45
  describe 'enroll_factor invalid responses' do
42
46
  context 'enroll factor throws error if type is not sms or totp' do
43
47
  it 'returns an error' do
@@ -52,6 +56,7 @@ describe WorkOS::MFA do
52
56
  )
53
57
  end
54
58
  end
59
+
55
60
  context 'enroll factor throws error if type is not sms or totp' do
56
61
  it 'returns an error' do
57
62
  expect do
@@ -78,6 +83,7 @@ describe WorkOS::MFA do
78
83
  end
79
84
  end
80
85
  end
86
+
81
87
  describe 'challenge factor with valid request arguments' do
82
88
  context 'challenge with totp' do
83
89
  it 'returns challenge factor object for totp' do
@@ -89,6 +95,7 @@ describe WorkOS::MFA do
89
95
  end
90
96
  end
91
97
  end
98
+
92
99
  context 'challenge with sms' do
93
100
  it 'returns a challenge factor object for sms' do
94
101
  VCR.use_cassette 'mfa/challenge_factor_sms_valid' do
@@ -100,6 +107,7 @@ describe WorkOS::MFA do
100
107
  end
101
108
  end
102
109
  end
110
+
103
111
  context 'challenge with generic' do
104
112
  it 'returns a valid challenge factor object for generic otp' do
105
113
  VCR.use_cassette 'mfa/challenge_factor_generic_valid' do
@@ -111,6 +119,7 @@ describe WorkOS::MFA do
111
119
  end
112
120
  end
113
121
  end
122
+
114
123
  describe 'challenge factor with invalid arguments' do
115
124
  context 'challenge with totp mssing authentication_factor_id' do
116
125
  it 'returns argument error' do
@@ -123,6 +132,7 @@ describe WorkOS::MFA do
123
132
  end
124
133
  end
125
134
  end
135
+
126
136
  describe 'challenge factor with valid requests' do
127
137
  context 'verify generic otp' do
128
138
  it 'returns a true boolean if the challenge has not been verifed yet' do
@@ -135,6 +145,19 @@ describe WorkOS::MFA do
135
145
  end
136
146
  end
137
147
  end
148
+
149
+ context 'verify generic otp invalid response' do
150
+ it 'returns a true boolean if the challenge has not been verifed yet' do
151
+ VCR.use_cassette 'mfa/verify_factor_generic_valid_is_false' do
152
+ verify_factor = described_class.verify_factor(
153
+ authentication_challenge_id: 'auth_challenge_01FZ4YVRBMXP5ZM0A7BP4AJ12J',
154
+ code: '897792',
155
+ )
156
+ expect(verify_factor.valid == 'false')
157
+ end
158
+ end
159
+ end
160
+
138
161
  context 'verify generic otp' do
139
162
  it 'returns error that the challenge has already been verfied' do
140
163
  VCR.use_cassette 'mfa/verify_factor_generic_invalid' do
@@ -146,6 +169,7 @@ describe WorkOS::MFA do
146
169
  end.to raise_error(WorkOS::InvalidRequestError)
147
170
  end
148
171
  end
172
+
149
173
  context 'verify generic otp' do
150
174
  it 'returns error that the challenge has expired' do
151
175
  VCR.use_cassette 'mfa/verify_factor_generic_expired' do
@@ -160,6 +184,7 @@ describe WorkOS::MFA do
160
184
  end
161
185
  end
162
186
  end
187
+
163
188
  describe 'verify_factor with invalid argument' do
164
189
  context 'missing code argument' do
165
190
  it 'returns argument error' do
@@ -173,8 +198,9 @@ describe WorkOS::MFA do
173
198
  )
174
199
  end
175
200
  end
201
+
176
202
  context 'missing authentication_challenge_id argument' do
177
- it '' do
203
+ it 'returns and error' do
178
204
  expect do
179
205
  described_class.verify_factor(
180
206
  code: '897792',
@@ -185,6 +211,7 @@ describe WorkOS::MFA do
185
211
  )
186
212
  end
187
213
  end
214
+
188
215
  context 'missing code and authentication_challenge_id arguments' do
189
216
  it 'returns argument error' do
190
217
  expect do
@@ -196,6 +223,7 @@ describe WorkOS::MFA do
196
223
  end
197
224
  end
198
225
  end
226
+
199
227
  describe 'tests returning and deleting a factor' do
200
228
  context 'returns a factor' do
201
229
  it 'uses get_factor to return factor' do
@@ -207,6 +235,7 @@ describe WorkOS::MFA do
207
235
  end
208
236
  end
209
237
  end
238
+
210
239
  context 'invalid factor request' do
211
240
  it 'uses get_factor and throws error if id is wrong' do
212
241
  VCR.use_cassette 'mfa/get_factor_invalid' do
@@ -218,6 +247,7 @@ describe WorkOS::MFA do
218
247
  end
219
248
  end
220
249
  end
250
+
221
251
  context 'deletes facotr' do
222
252
  it 'uses delete_factor to delete factor' do
223
253
  VCR.use_cassette 'mfa/delete_factor' do
@@ -2,7 +2,7 @@
2
2
  http_interactions:
3
3
  - request:
4
4
  method: get
5
- uri: https://api.workos.com/directory_groups/directory_grp_01E64QTDNS0EGJ0FMCVY9BWGZT
5
+ uri: https://api.workos.com/directory_groups/directory_group_01G2Z8D4ZR8RJ03Y1W7P9K8NMG
6
6
  body:
7
7
  encoding: US-ASCII
8
8
  string: ''
@@ -14,7 +14,7 @@ http_interactions:
14
14
  Accept:
15
15
  - "*/*"
16
16
  User-Agent:
17
- - WorkOS; ruby/2.7.1; x86_64-darwin19; v0.2.3
17
+ - WorkOS; ruby/3.0.2; x86_64-darwin19; v2.1.1
18
18
  Authorization:
19
19
  - Bearer <API_KEY>
20
20
  response:
@@ -22,41 +22,61 @@ http_interactions:
22
22
  code: 200
23
23
  message: OK
24
24
  headers:
25
- Server:
26
- - Cowboy
25
+ Date:
26
+ - Tue, 07 Jun 2022 22:28:37 GMT
27
+ Content-Type:
28
+ - application/json; charset=utf-8
29
+ Transfer-Encoding:
30
+ - chunked
27
31
  Connection:
28
32
  - keep-alive
29
- Vary:
30
- - Origin, Accept-Encoding
31
33
  Access-Control-Allow-Credentials:
32
34
  - 'true'
33
- X-Dns-Prefetch-Control:
34
- - 'off'
35
- X-Frame-Options:
36
- - SAMEORIGIN
35
+ Content-Security-Policy:
36
+ - 'default-src ''self'';base-uri ''self'';block-all-mixed-content;font-src ''self''
37
+ https: data:;frame-ancestors ''self'';img-src ''self'' data:;object-src ''none'';script-src
38
+ ''self'';script-src-attr ''none'';style-src ''self'' https: ''unsafe-inline'';upgrade-insecure-requests'
39
+ Etag:
40
+ - W/"244-4TugYfq6OLpdb2GYu9NN0Z83S0g"
41
+ Expect-Ct:
42
+ - max-age=0
43
+ Referrer-Policy:
44
+ - no-referrer
37
45
  Strict-Transport-Security:
38
46
  - max-age=15552000; includeSubDomains
39
- X-Download-Options:
40
- - noopen
47
+ Vary:
48
+ - Origin, Accept-Encoding
49
+ Via:
50
+ - 1.1 spaces-router (664a92218d61)
41
51
  X-Content-Type-Options:
42
52
  - nosniff
43
- X-Xss-Protection:
44
- - 1; mode=block
53
+ X-Dns-Prefetch-Control:
54
+ - 'off'
55
+ X-Download-Options:
56
+ - noopen
57
+ X-Frame-Options:
58
+ - SAMEORIGIN
59
+ X-Permitted-Cross-Domain-Policies:
60
+ - none
45
61
  X-Request-Id:
46
- - 4fb94ab3-ecff-4cea-b0b7-d4d1b3ffad3a
47
- Content-Type:
48
- - application/json; charset=utf-8
49
- Content-Length:
50
- - '65'
51
- Etag:
52
- - W/"41-QrnAKhorJuUwAsR1OyMpfB8q1Kc"
53
- Date:
54
- - Thu, 30 Apr 2020 04:47:49 GMT
55
- Via:
56
- - 1.1 vegur
62
+ - 4a7bfd77-da6c-b1ae-bc39-35a1c175ecf2
63
+ X-Xss-Protection:
64
+ - '0'
65
+ Cf-Cache-Status:
66
+ - DYNAMIC
67
+ Report-To:
68
+ - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=9nQ%2FpfKZE%2BT1W4WrbQGusRS%2FxZHEG7sB0Ps3PUXt4lmPSmC%2FZHLV6KW90D74Y9VQ0QT7q3OIF47yVIwX5fwPKOHMwcOYQv0eyKUrFYxKkNf6QALpJE7%2BVNSUBiEmv3cZ1zOXUFCiuMl2MYygsw%3D%3D"}],"group":"cf-nel","max_age":604800}'
69
+ Nel:
70
+ - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}'
71
+ Server:
72
+ - cloudflare
73
+ Cf-Ray:
74
+ - 717cd26458fd671d-DFW
75
+ Alt-Svc:
76
+ - h3=":443"; ma=86400, h3-29=":443"; ma=86400
57
77
  body:
58
- encoding: UTF-8
59
- string: '{"id":"directory_grp_01E64QTDNS0EGJ0FMCVY9BWGZT","name":"Walrus"}'
78
+ encoding: ASCII-8BIT
79
+ string: '{"object":"directory_group","id":"directory_group_01G2Z8D4ZR8RJ03Y1W7P9K8NMG","idp_id":"01jlao4614two3d","directory_id":"directory_01G2Z8ADK5NPMVTWF48MVVE4HT","name":"Sales","created_at":"2022-05-13T17:45:31.732Z","updated_at":"2022-06-07T17:45:35.739Z","raw_attributes":{"id":"01jlao4614two3d","etag":"\"DaDAXuEwpvygu_Ul-89tlT4iVJBEvO3LZpQ0lrbYRrc/uLYJ0Hrx1gXXVg9z-zGLBZET2Wo\"","kind":"admin#directory#group","name":"Sales","email":"sales@foo-corp.com","description":"","adminCreated":true,"directMembersCount":"1","nonEditableAliases":["sales@foo-corp.com.test-google-a.com"]}}'
60
80
  http_version:
61
- recorded_at: Thu, 30 Apr 2020 04:47:49 GMT
81
+ recorded_at: Tue, 07 Jun 2022 22:28:37 GMT
62
82
  recorded_with: VCR 5.0.0
@@ -2,7 +2,7 @@
2
2
  http_interactions:
3
3
  - request:
4
4
  method: get
5
- uri: https://api.workos.com/directory_groups?after=after-id&directory=directory_01EK2YEMVTWGX27STRDR0N3MP9
5
+ uri: https://api.workos.com/directory_groups?after=directory_group_01G2Z8D4ZR8RJ03Y1W7P9K8NMG&directory=directory_01G2Z8ADK5NPMVTWF48MVVE4HT
6
6
  body:
7
7
  encoding: US-ASCII
8
8
  string: ''
@@ -14,7 +14,7 @@ http_interactions:
14
14
  Accept:
15
15
  - "*/*"
16
16
  User-Agent:
17
- - WorkOS; ruby/2.7.1; x86_64-darwin19; v0.10.3
17
+ - WorkOS; ruby/3.0.2; x86_64-darwin19; v2.1.1
18
18
  Authorization:
19
19
  - Bearer <API_KEY>
20
20
  response:
@@ -22,55 +22,69 @@ http_interactions:
22
22
  code: 200
23
23
  message: OK
24
24
  headers:
25
- Server:
26
- - Cowboy
25
+ Date:
26
+ - Tue, 07 Jun 2022 22:28:36 GMT
27
+ Content-Type:
28
+ - application/json; charset=utf-8
29
+ Content-Length:
30
+ - '1163'
27
31
  Connection:
28
32
  - keep-alive
29
- Vary:
30
- - Origin, Accept-Encoding
31
33
  Access-Control-Allow-Credentials:
32
34
  - 'true'
33
35
  Content-Security-Policy:
34
36
  - 'default-src ''self'';base-uri ''self'';block-all-mixed-content;font-src ''self''
35
37
  https: data:;frame-ancestors ''self'';img-src ''self'' data:;object-src ''none'';script-src
36
38
  ''self'';script-src-attr ''none'';style-src ''self'' https: ''unsafe-inline'';upgrade-insecure-requests'
37
- X-Dns-Prefetch-Control:
38
- - 'off'
39
+ Etag:
40
+ - W/"15fc-zBhUbLZyJQxiq8umMaogT0kzj/8"
39
41
  Expect-Ct:
40
42
  - max-age=0
41
- X-Frame-Options:
42
- - SAMEORIGIN
43
+ Referrer-Policy:
44
+ - no-referrer
43
45
  Strict-Transport-Security:
44
46
  - max-age=15552000; includeSubDomains
45
- X-Download-Options:
46
- - noopen
47
+ Vary:
48
+ - Origin, Accept-Encoding
49
+ Via:
50
+ - 1.1 spaces-router (664a92218d61)
47
51
  X-Content-Type-Options:
48
52
  - nosniff
53
+ X-Dns-Prefetch-Control:
54
+ - 'off'
55
+ X-Download-Options:
56
+ - noopen
57
+ X-Frame-Options:
58
+ - SAMEORIGIN
49
59
  X-Permitted-Cross-Domain-Policies:
50
60
  - none
51
- Referrer-Policy:
52
- - no-referrer
61
+ X-Request-Id:
62
+ - f3944a4c-8532-4b6a-196a-84ee38216e1b
53
63
  X-Xss-Protection:
54
64
  - '0'
55
- X-Request-Id:
56
- - 701ecc5d-6981-4251-ae0c-bef3f25b385d
57
- Content-Type:
58
- - application/json; charset=utf-8
59
- Etag:
60
- - W/"1086-U0g32oMn7n/R4sgNmCrb1ApGS3U"
61
- Date:
62
- - Thu, 22 Apr 2021 22:11:09 GMT
63
- Transfer-Encoding:
64
- - chunked
65
- Via:
66
- - 1.1 vegur
65
+ Cf-Cache-Status:
66
+ - DYNAMIC
67
+ Report-To:
68
+ - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=1YP42SeOofST3UnTgCIrEFd696HKzEJZ8n%2BBstJNNpMA98mb0YLj3fWYfmEA7eO5zxgderbhiUaenVJ9XVHdxOrOqKVitgdDejHBmbTFCceoPJf%2BQoH4wH6aOuSDALnFIe9cPUIsWo3nhxVpvg%3D%3D"}],"group":"cf-nel","max_age":604800}'
69
+ Nel:
70
+ - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}'
71
+ Server:
72
+ - cloudflare
73
+ Cf-Ray:
74
+ - 717cd2605c599ecb-DFW
75
+ Alt-Svc:
76
+ - h3=":443"; ma=86400, h3-29=":443"; ma=86400
67
77
  body:
68
78
  encoding: ASCII-8BIT
69
- string: '{"object":"list","listMetadata":{"before":null,"after":"directory_group_01EQ7V7C6FBGG55PKG7YB03EFB"},"data":[{"id":"directory_group_01EQ7V7C6FBGG55PKG7YB03EFB","name":"Design","raw_attributes":{"id":"03dy6vkm1y2alqi","etag":"\"eqhz5i5wiQgvARWPEnQdniNQ_SjQV5znfZGv9dAkRwc/FOmENMweP80vOL_QS7AgEhmMJW0\"","kind":"admin#directory#group","name":"Design","email":"design@foo-corp.com","description":"","adminCreated":true,"directMembersCount":"3","nonEditableAliases":["design@foo-corp.com.test-google-a.com"]}},{"id":"directory_group_01EQ7V7C6AKS8D12WX2CMC2HWR","name":"Admins","raw_attributes":{"id":"00gjdgxs2s95kg4","etag":"\"eqhz5i5wiQgvARWPEnQdniNQ_SjQV5znfZGv9dAkRwc/8_DFveza530aqHjNIY138qbXpkw\"","kind":"admin#directory#group","name":"Admins","email":"admins@foo-corp.com","description":"","adminCreated":true,"directMembersCount":"2","nonEditableAliases":["admins@foo-corp.com.test-google-a.com"]}},{"id":"directory_group_01EQ7V7C6200HRGPS7R63DMQSF","name":"Solutions
70
- Engineering","raw_attributes":{"id":"02u6wntf1dyjihd","etag":"\"eqhz5i5wiQgvARWPEnQdniNQ_SjQV5znfZGv9dAkRwc/oLFNnHZPgXTE6zt2vA9UCBE9UOs\"","kind":"admin#directory#group","name":"Solutions
71
- Engineering","email":"solutions@foo-corp.com","description":"","adminCreated":true,"directMembersCount":"2","nonEditableAliases":["solutions@foo-corp.com.test-google-a.com"]}},{"id":"directory_group_01EQ7V7C5Y9K2Z4MK9A7YY3QF4","name":"Security","raw_attributes":{"id":"01fob9te1lgjaw4","etag":"\"eqhz5i5wiQgvARWPEnQdniNQ_SjQV5znfZGv9dAkRwc/-pzmhVkdxBet5lTdVfY9yKrRslE\"","kind":"admin#directory#group","name":"Security","email":"security@foo-corp.com","description":"","adminCreated":true,"directMembersCount":"3","nonEditableAliases":["security@foo-corp.com.test-google-a.com"]}},{"id":"directory_group_01EQ7V7C5SQ82F5NNMKRA3B899","name":"Account
72
- Management","raw_attributes":{"id":"02grqrue4294w24","etag":"\"eqhz5i5wiQgvARWPEnQdniNQ_SjQV5znfZGv9dAkRwc/19PzKtmXLlC1UyVC2k6NA7ye9mk\"","kind":"admin#directory#group","name":"Account
73
- Management","email":"account-managers@foo-corp.com","description":"","adminCreated":true,"directMembersCount":"2","nonEditableAliases":["account-managers@foo-corp.com.test-google-a.com"]}},{"id":"directory_group_01EQ7V7C5NGE4MWHP3FSX3KK47","name":"Marketing","raw_attributes":{"id":"01y810tw1ti9q8c","etag":"\"eqhz5i5wiQgvARWPEnQdniNQ_SjQV5znfZGv9dAkRwc/8Bp1ATnSYZXUB84_9v_K0i54jgc\"","kind":"admin#directory#group","name":"Marketing","email":"marketing@foo-corp.com","description":"","adminCreated":true,"directMembersCount":"2","nonEditableAliases":["marketing@foo-corp.com.test-google-a.com"]}},{"id":"directory_group_01EQ7V7C5EMBZ944Y6AJ3K266Q","name":"Documentation","raw_attributes":{"id":"03as4poj49cz6j9","etag":"\"eqhz5i5wiQgvARWPEnQdniNQ_SjQV5znfZGv9dAkRwc/fU4_KaNDCoJ05Uod_dINIl-Cf_s\"","kind":"admin#directory#group","name":"Documentation","email":"docs@foo-corp.com","description":"","adminCreated":true,"directMembersCount":"2","nonEditableAliases":["docs@foo-corp.com.test-google-a.com"]}},{"id":"directory_group_01EQ7V7C581FB7T0PHV6NERYC4","name":"Partnerships","raw_attributes":{"id":"045jfvxd1049v32","etag":"\"eqhz5i5wiQgvARWPEnQdniNQ_SjQV5znfZGv9dAkRwc/dQAxLJSL7rODUPbi9CivyyrpTVQ\"","kind":"admin#directory#group","name":"Partnerships","email":"partnerships@foo-corp.com","description":"","adminCreated":true,"directMembersCount":"1","nonEditableAliases":["partnerships@foo-corp.com.test-google-a.com"]}},{"id":"directory_group_01EK2YFBQ3F19AD96V9FFMDS1X","name":"Sales","raw_attributes":{"id":"01jlao4614two3d","etag":"\"eqhz5i5wiQgvARWPEnQdniNQ_SjQV5znfZGv9dAkRwc/q7KEwEs-K95FIjfrPVol15Ku3YU\"","kind":"admin#directory#group","name":"Sales","email":"sales@foo-corp.com","description":"","adminCreated":true,"directMembersCount":"1","nonEditableAliases":["sales@foo-corp.com.test-google-a.com"]}},{"id":"directory_group_01EK2YFBPZ8SWMQ01NWN3TNZK4","name":"Engineering","raw_attributes":{"id":"030j0zll1b5a1gf","etag":"\"eqhz5i5wiQgvARWPEnQdniNQ_SjQV5znfZGv9dAkRwc/eSnflkB5fzBxa6QfGsXjaftif2A\"","kind":"admin#directory#group","name":"Engineering","email":"engineering@foo-corp.com","description":"","adminCreated":true,"directMembersCount":"8","nonEditableAliases":["engineering@foo-corp.com.test-google-a.com"]}}]}'
79
+ string: '{"object":"list","data":[{"object":"directory_group","id":"directory_group_01G2Z8D5VBM14YQKFY02DHGFHD","idp_id":"01fob9te1lgjaw4","directory_id":"directory_01G2Z8ADK5NPMVTWF48MVVE4HT","name":"Security","created_at":"2022-05-13T17:45:32.577Z","updated_at":"2022-06-07T17:45:36.258Z","raw_attributes":{"id":"01fob9te1lgjaw4","etag":"\"DaDAXuEwpvygu_Ul-89tlT4iVJBEvO3LZpQ0lrbYRrc/i0mPa7pjMhSlP3jSyX-lRL7ScU8\"","kind":"admin#directory#group","name":"Security","email":"security@foo-corp.com","description":"","adminCreated":true,"directMembersCount":"0","nonEditableAliases":["security@foo-corp.com.test-google-a.com"]}},{"object":"directory_group","id":"directory_group_01G2Z8D5SAKF3GXE9BTR6KZCJR","idp_id":"028h4qwu0uyrb9k","directory_id":"directory_01G2Z8ADK5NPMVTWF48MVVE4HT","name":"Risk
80
+ Management","created_at":"2022-05-13T17:45:32.577Z","updated_at":"2022-06-07T17:45:36.258Z","raw_attributes":{"id":"028h4qwu0uyrb9k","etag":"\"DaDAXuEwpvygu_Ul-89tlT4iVJBEvO3LZpQ0lrbYRrc/F0K5jmtHPYux11G_e7no2r29804\"","kind":"admin#directory#group","name":"Risk
81
+ Management","email":"risk@foo-corp.com","description":"","adminCreated":true,"directMembersCount":"0","nonEditableAliases":["risk@foo-corp.com.test-google-a.com"]}},{"object":"directory_group","id":"directory_group_01G2Z8D5P1AFTJ8XK16RQ1FKWD","idp_id":"02szc72q2sp1i88","directory_id":"directory_01G2Z8ADK5NPMVTWF48MVVE4HT","name":"Michael
82
+ Youngs Group","created_at":"2022-05-13T17:45:32.577Z","updated_at":"2022-06-07T17:45:36.258Z","raw_attributes":{"id":"02szc72q2sp1i88","etag":"\"DaDAXuEwpvygu_Ul-89tlT4iVJBEvO3LZpQ0lrbYRrc/nF7tojOSI2G7C_nIp74DiIKrzbs\"","kind":"admin#directory#group","name":"Michael
83
+ Youngs Group","email":"michaelyoungsgroup@foo-corp.com","description":"","adminCreated":true,"directMembersCount":"0","nonEditableAliases":["Michaelyoungsgroup@foo-corp.com.test-google-a.com"]}},{"object":"directory_group","id":"directory_group_01G2Z8D5MBRDS85VWEHFHF74SZ","idp_id":"01y810tw1ti9q8c","directory_id":"directory_01G2Z8ADK5NPMVTWF48MVVE4HT","name":"Marketing","created_at":"2022-05-13T17:45:32.577Z","updated_at":"2022-06-07T17:45:36.258Z","raw_attributes":{"id":"01y810tw1ti9q8c","etag":"\"DaDAXuEwpvygu_Ul-89tlT4iVJBEvO3LZpQ0lrbYRrc/41snDYeG-HeWJ3n0Q3SGWwlvUpo\"","kind":"admin#directory#group","name":"Marketing","email":"marketing@foo-corp.com","description":"","adminCreated":true,"directMembersCount":"0","nonEditableAliases":["marketing@foo-corp.com.test-google-a.com"]}},{"object":"directory_group","id":"directory_group_01G2Z8D5JD50HDRNPDYB8VWXSE","idp_id":"02xcytpi45aqkmr","directory_id":"directory_01G2Z8ADK5NPMVTWF48MVVE4HT","name":"Finance","created_at":"2022-05-13T17:45:32.577Z","updated_at":"2022-06-07T17:45:36.258Z","raw_attributes":{"id":"02xcytpi45aqkmr","etag":"\"DaDAXuEwpvygu_Ul-89tlT4iVJBEvO3LZpQ0lrbYRrc/fjF75r0GGL7S9fWA5ngkflNIduQ\"","kind":"admin#directory#group","name":"Finance","email":"finance@foo-corp.com","description":"","adminCreated":true,"directMembersCount":"0","nonEditableAliases":["finance@foo-corp.com.test-google-a.com"]}},{"object":"directory_group","id":"directory_group_01G2Z8D5F80M4DEMGGMFPHV4XV","idp_id":"03as4poj49cz6j9","directory_id":"directory_01G2Z8ADK5NPMVTWF48MVVE4HT","name":"Documentation","created_at":"2022-05-13T17:45:32.577Z","updated_at":"2022-06-07T17:45:36.258Z","raw_attributes":{"id":"03as4poj49cz6j9","etag":"\"DaDAXuEwpvygu_Ul-89tlT4iVJBEvO3LZpQ0lrbYRrc/-sI8PUONUvqYWMpmaVCxKjp8YBY\"","kind":"admin#directory#group","name":"Documentation","email":"docs@foo-corp.com","description":"","adminCreated":true,"directMembersCount":"2","nonEditableAliases":["docs@foo-corp.com.test-google-a.com"]}},{"object":"directory_group","id":"directory_group_01G2Z8D59X1K7Q38CJCN0T9KPR","idp_id":"02iq8gzs1b2i1ae","directory_id":"directory_01G2Z8ADK5NPMVTWF48MVVE4HT","name":"Contractors","created_at":"2022-05-13T17:45:32.577Z","updated_at":"2022-06-07T17:45:36.258Z","raw_attributes":{"id":"02iq8gzs1b2i1ae","etag":"\"DaDAXuEwpvygu_Ul-89tlT4iVJBEvO3LZpQ0lrbYRrc/JHD88ylaaIXdP90ob6UHKZ_PYHo\"","kind":"admin#directory#group","name":"Contractors","email":"contractors@foo-corp.com","description":"","adminCreated":true,"directMembersCount":"0","nonEditableAliases":["contractors@foo-corp.com.test-google-a.com"]}},{"object":"directory_group","id":"directory_group_01G2Z8D586TSJBGTFJ5SGS3BAC","idp_id":"03fwokq01u3hhmd","directory_id":"directory_01G2Z8ADK5NPMVTWF48MVVE4HT","name":"Sync
84
+ Delay Test All Users","created_at":"2022-05-13T17:45:32.577Z","updated_at":"2022-06-07T17:45:36.258Z","raw_attributes":{"id":"03fwokq01u3hhmd","etag":"\"DaDAXuEwpvygu_Ul-89tlT4iVJBEvO3LZpQ0lrbYRrc/reGSvbZ45OETFOEVxJtCcqUYi3A\"","kind":"admin#directory#group","name":"Sync
85
+ Delay Test All Users","email":"allusers@foo-corp.com","description":"","adminCreated":true,"directMembersCount":"1","nonEditableAliases":["allusers@foo-corp.com.test-google-a.com"]}},{"object":"directory_group","id":"directory_group_01G2Z8D50AEFFZHKBFNRE0Y16C","idp_id":"041mghml1ld1sg5","directory_id":"directory_01G2Z8ADK5NPMVTWF48MVVE4HT","name":"Sync
86
+ Delay 2","created_at":"2022-05-13T17:45:31.732Z","updated_at":"2022-06-07T17:45:35.739Z","raw_attributes":{"id":"041mghml1ld1sg5","etag":"\"DaDAXuEwpvygu_Ul-89tlT4iVJBEvO3LZpQ0lrbYRrc/5tCYHwRu-uImFIfoexVJvinM9rM\"","kind":"admin#directory#group","name":"Sync
87
+ Delay 2","email":"sd2@foo-corp.com","description":"","adminCreated":true,"directMembersCount":"1","nonEditableAliases":["sd2@foo-corp.com.test-google-a.com"]}}],"list_metadata":{"before":"directory_group_01G2Z8D50AEFFZHKBFNRE0Y16C","after":null},"listMetadata":{"before":"directory_group_01G2Z8D50AEFFZHKBFNRE0Y16C","after":null}}'
74
88
  http_version:
75
- recorded_at: Thu, 22 Apr 2021 22:11:09 GMT
89
+ recorded_at: Tue, 07 Jun 2022 22:28:36 GMT
76
90
  recorded_with: VCR 5.0.0
@@ -2,7 +2,7 @@
2
2
  http_interactions:
3
3
  - request:
4
4
  method: get
5
- uri: https://api.workos.com/directory_groups?before=before-id&directory=directory_01EK2YEMVTWGX27STRDR0N3MP9
5
+ uri: https://api.workos.com/directory_groups?before=directory_group_01G2Z8D4ZR8RJ03Y1W7P9K8NMG&directory=directory_01G2Z8ADK5NPMVTWF48MVVE4HT
6
6
  body:
7
7
  encoding: US-ASCII
8
8
  string: ''
@@ -14,7 +14,7 @@ http_interactions:
14
14
  Accept:
15
15
  - "*/*"
16
16
  User-Agent:
17
- - WorkOS; ruby/2.7.1; x86_64-darwin19; v0.10.3
17
+ - WorkOS; ruby/3.0.2; x86_64-darwin19; v2.1.1
18
18
  Authorization:
19
19
  - Bearer <API_KEY>
20
20
  response:
@@ -22,53 +22,69 @@ http_interactions:
22
22
  code: 200
23
23
  message: OK
24
24
  headers:
25
- Server:
26
- - Cowboy
25
+ Date:
26
+ - Tue, 07 Jun 2022 22:28:36 GMT
27
+ Content-Type:
28
+ - application/json; charset=utf-8
29
+ Content-Length:
30
+ - '1244'
27
31
  Connection:
28
32
  - keep-alive
29
- Vary:
30
- - Origin, Accept-Encoding
31
33
  Access-Control-Allow-Credentials:
32
34
  - 'true'
33
35
  Content-Security-Policy:
34
36
  - 'default-src ''self'';base-uri ''self'';block-all-mixed-content;font-src ''self''
35
37
  https: data:;frame-ancestors ''self'';img-src ''self'' data:;object-src ''none'';script-src
36
38
  ''self'';script-src-attr ''none'';style-src ''self'' https: ''unsafe-inline'';upgrade-insecure-requests'
37
- X-Dns-Prefetch-Control:
38
- - 'off'
39
+ Etag:
40
+ - W/"190a-JonqCohX6cL7n0wcQQA8Kg+TPEE"
39
41
  Expect-Ct:
40
42
  - max-age=0
41
- X-Frame-Options:
42
- - SAMEORIGIN
43
+ Referrer-Policy:
44
+ - no-referrer
43
45
  Strict-Transport-Security:
44
46
  - max-age=15552000; includeSubDomains
45
- X-Download-Options:
46
- - noopen
47
+ Vary:
48
+ - Origin, Accept-Encoding
49
+ Via:
50
+ - 1.1 spaces-router (664a92218d61)
47
51
  X-Content-Type-Options:
48
52
  - nosniff
53
+ X-Dns-Prefetch-Control:
54
+ - 'off'
55
+ X-Download-Options:
56
+ - noopen
57
+ X-Frame-Options:
58
+ - SAMEORIGIN
49
59
  X-Permitted-Cross-Domain-Policies:
50
60
  - none
51
- Referrer-Policy:
52
- - no-referrer
61
+ X-Request-Id:
62
+ - 82d22803-f18d-3631-8423-6656d7140a01
53
63
  X-Xss-Protection:
54
64
  - '0'
55
- X-Request-Id:
56
- - 64e0f437-2f55-4f97-b0e6-6edbc88ea86f
57
- Content-Type:
58
- - application/json; charset=utf-8
59
- Content-Length:
60
- - '71'
61
- Etag:
62
- - W/"47-5KOnfOsRy36pnaPjBxvaf6LRiGc"
63
- Date:
64
- - Thu, 22 Apr 2021 22:11:08 GMT
65
- Via:
66
- - 1.1 vegur
65
+ Cf-Cache-Status:
66
+ - DYNAMIC
67
+ Report-To:
68
+ - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=FhQofzBw3L0rL%2BFOl1ANeGyokRua2ZrLG6GhpGAfljx6D7qHsvDTHxGiC%2BfeyodCbzXyK5u0rsbEH5WBkLPsbVH%2BnCUHm%2FcQRJ1cCam7OloBoWYNCS5oqkk4n0dVg2KvRF2Pk6lsnnYViryjhw%3D%3D"}],"group":"cf-nel","max_age":604800}'
69
+ Nel:
70
+ - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}'
71
+ Server:
72
+ - cloudflare
73
+ Cf-Ray:
74
+ - 717cd25e4bdc9f12-DFW
75
+ Alt-Svc:
76
+ - h3=":443"; ma=86400, h3-29=":443"; ma=86400
67
77
  body:
68
- encoding: UTF-8
69
- string: '{"object":"list","listMetadata":{"before":"directory_group_01EQ7V7C74DTH00CYB72T50ABG","after":null},"data":[{"id":"directory_group_01EQ823D94EF0AH5QMDRB91YWR","name":"Contractors","raw_attributes":{"id":"02iq8gzs1b2i1ae","etag":"\"eqhz5i5wiQgvARWPEnQdniNQ_SjQV5znfZGv9dAkRwc/rF1OEdXlr3FwClDxryrS1Qi22xQ\"","kind":"admin#directory#group","name":"Contractors","email":"contractors@foo-corp.com","description":"","adminCreated":true,"directMembersCount":"2","nonEditableAliases":["contractors@foo-corp.com.test-google-a.com"]}},{"id":"directory_group_01EQ7V7C74DTH00CYB72T50ABG","name":"Risk
70
- Management","raw_attributes":{"id":"028h4qwu0uyrb9k","etag":"\"eqhz5i5wiQgvARWPEnQdniNQ_SjQV5znfZGv9dAkRwc/kbW-E1aXnJl6pxP1nnwTfMnja4Q\"","kind":"admin#directory#group","name":"Risk
71
- Management","email":"risk@foo-corp.com","description":"","adminCreated":true,"directMembersCount":"1","nonEditableAliases":["risk@foo-corp.com.test-google-a.com"]}}]}'
78
+ encoding: ASCII-8BIT
79
+ string: '{"object":"list","data":[{"object":"directory_group","id":"directory_group_01G2Z8D4Z78331QJ6NS4SS23R2","idp_id":"03ep43zb4k5jctj","directory_id":"directory_01G2Z8ADK5NPMVTWF48MVVE4HT","name":"Top
80
+ Level Testing Group","created_at":"2022-05-13T17:45:31.732Z","updated_at":"2022-06-07T17:45:35.739Z","raw_attributes":{"id":"03ep43zb4k5jctj","etag":"\"DaDAXuEwpvygu_Ul-89tlT4iVJBEvO3LZpQ0lrbYRrc/Rv3rXSfY7UNiJs3Pr3ZQF_awbJs\"","kind":"admin#directory#group","name":"Top
81
+ Level Testing Group","email":"top-level-testing-group@foo-corp.com","description":"","adminCreated":true,"directMembersCount":"2","nonEditableAliases":["top-level-testing-group@foo-corp.com.test-google-a.com"]}},{"object":"directory_group","id":"directory_group_01G2Z8D4YNGM52FAMCN957G2MN","idp_id":"02u6wntf1dyjihd","directory_id":"directory_01G2Z8ADK5NPMVTWF48MVVE4HT","name":"Solutions
82
+ Engineering","created_at":"2022-05-13T17:45:31.732Z","updated_at":"2022-06-07T17:45:35.739Z","raw_attributes":{"id":"02u6wntf1dyjihd","etag":"\"DaDAXuEwpvygu_Ul-89tlT4iVJBEvO3LZpQ0lrbYRrc/5l7SbdbosPbGq61b1rf0xJ7uVv4\"","kind":"admin#directory#group","name":"Solutions
83
+ Engineering","email":"solutions@foo-corp.com","description":"","adminCreated":true,"directMembersCount":"1","nonEditableAliases":["solutions@foo-corp.com.test-google-a.com"]}},{"object":"directory_group","id":"directory_group_01G2Z8D4Y3CBBJ0A3NFGRKYGHJ","idp_id":"01baon6m2km2f35","directory_id":"directory_01G2Z8ADK5NPMVTWF48MVVE4HT","name":"All
84
+ users add test","created_at":"2022-05-13T17:45:31.732Z","updated_at":"2022-06-07T17:45:35.739Z","raw_attributes":{"id":"01baon6m2km2f35","etag":"\"DaDAXuEwpvygu_Ul-89tlT4iVJBEvO3LZpQ0lrbYRrc/mRuvBpx11GHfb70eGtUSI9PTi7Y\"","kind":"admin#directory#group","name":"All
85
+ users add test","email":"auad1@foo-corp.com","description":"","adminCreated":true,"directMembersCount":"2","nonEditableAliases":["auad1@foo-corp.com.test-google-a.com"]}},{"object":"directory_group","id":"directory_group_01G2Z8D4WVTPFCAAY49PWKXJ8G","idp_id":"04du1wux3xtq7g3","directory_id":"directory_01G2Z8ADK5NPMVTWF48MVVE4HT","name":"nested-testing-group","created_at":"2022-05-13T17:45:31.732Z","updated_at":"2022-06-07T17:45:35.739Z","raw_attributes":{"id":"04du1wux3xtq7g3","etag":"\"DaDAXuEwpvygu_Ul-89tlT4iVJBEvO3LZpQ0lrbYRrc/wVI7nPHi3T9SxQSeubz8XktrUrA\"","kind":"admin#directory#group","name":"nested-testing-group","email":"nested-testing-group@foo-corp.com","description":"","adminCreated":true,"directMembersCount":"3","nonEditableAliases":["nested-testing-group@foo-corp.com.test-google-a.com"]}},{"object":"directory_group","id":"directory_group_01G2Z8D4WBJAZ5KNPHN9RNC3NN","idp_id":"03hv69ve1ssgpby","directory_id":"directory_01G2Z8ADK5NPMVTWF48MVVE4HT","name":"Product","created_at":"2022-05-13T17:45:31.732Z","updated_at":"2022-06-07T17:45:35.739Z","raw_attributes":{"id":"03hv69ve1ssgpby","etag":"\"DaDAXuEwpvygu_Ul-89tlT4iVJBEvO3LZpQ0lrbYRrc/akv0W7AtILwAbK00X1pIhnOcYz0\"","kind":"admin#directory#group","name":"Product","email":"product@foo-corp.com","description":"","adminCreated":true,"directMembersCount":"1","nonEditableAliases":["product@foo-corp.com.test-google-a.com"]}},{"object":"directory_group","id":"directory_group_01G2Z8D4VSSEM22MQ9GXMJFRWQ","idp_id":"045jfvxd1049v32","directory_id":"directory_01G2Z8ADK5NPMVTWF48MVVE4HT","name":"Partnerships","created_at":"2022-05-13T17:45:31.732Z","updated_at":"2022-06-07T17:45:35.739Z","raw_attributes":{"id":"045jfvxd1049v32","etag":"\"DaDAXuEwpvygu_Ul-89tlT4iVJBEvO3LZpQ0lrbYRrc/A3klhKGDCgS_gA9TeU3-CmtPuOA\"","kind":"admin#directory#group","name":"Partnerships","email":"partnerships@foo-corp.com","description":"","adminCreated":true,"directMembersCount":"1","nonEditableAliases":["partnerships@foo-corp.com.test-google-a.com"]}},{"object":"directory_group","id":"directory_group_01G2Z8D4TXW3JPSK425M710KRM","idp_id":"03dy6vkm1y2alqi","directory_id":"directory_01G2Z8ADK5NPMVTWF48MVVE4HT","name":"Design","created_at":"2022-05-13T17:45:31.732Z","updated_at":"2022-06-07T17:45:35.739Z","raw_attributes":{"id":"03dy6vkm1y2alqi","etag":"\"DaDAXuEwpvygu_Ul-89tlT4iVJBEvO3LZpQ0lrbYRrc/fFPsJbCjOImSDOp5Krvi2NKdjIY\"","kind":"admin#directory#group","name":"Design","email":"design@foo-corp.com","description":"","adminCreated":true,"directMembersCount":"2","nonEditableAliases":["design@foo-corp.com.test-google-a.com"]}},{"object":"directory_group","id":"directory_group_01G2Z8D4SF1Q3JSKQ3ATXXRM6S","idp_id":"030j0zll1b5a1gf","directory_id":"directory_01G2Z8ADK5NPMVTWF48MVVE4HT","name":"Engineering","created_at":"2022-05-13T17:45:31.732Z","updated_at":"2022-06-07T17:45:35.739Z","raw_attributes":{"id":"030j0zll1b5a1gf","etag":"\"DaDAXuEwpvygu_Ul-89tlT4iVJBEvO3LZpQ0lrbYRrc/FMy2bHceMX55_T9U8C44ZRK7l3U\"","kind":"admin#directory#group","name":"Engineering","email":"engineering@foo-corp.com","description":"","adminCreated":true,"directMembersCount":"4","nonEditableAliases":["engineering@foo-corp.com.test-google-a.com"]}},{"object":"directory_group","id":"directory_group_01G2Z8D4RA97JQ3ECAK7T9DN8J","idp_id":"04iylrwe0qvafhv","directory_id":"directory_01G2Z8ADK5NPMVTWF48MVVE4HT","name":"David
86
+ Testing Group","created_at":"2022-05-13T17:45:31.732Z","updated_at":"2022-06-07T17:45:35.739Z","raw_attributes":{"id":"04iylrwe0qvafhv","etag":"\"DaDAXuEwpvygu_Ul-89tlT4iVJBEvO3LZpQ0lrbYRrc/YJOEah4Cy1mft4AbEfWfvAXsHDs\"","kind":"admin#directory#group","name":"David
87
+ Testing Group","email":"davidtesting@foo-corp.com","description":"Group description","adminCreated":true,"directMembersCount":"5","nonEditableAliases":["davidtesting@foo-corp.com.test-google-a.com"]}},{"object":"directory_group","id":"directory_group_01G2Z8D4PCZPAAB9CGS8EB34G5","idp_id":"00gjdgxs2s95kg4","directory_id":"directory_01G2Z8ADK5NPMVTWF48MVVE4HT","name":"Admins","created_at":"2022-05-13T17:45:31.732Z","updated_at":"2022-06-07T17:45:35.739Z","raw_attributes":{"id":"00gjdgxs2s95kg4","etag":"\"DaDAXuEwpvygu_Ul-89tlT4iVJBEvO3LZpQ0lrbYRrc/Un_xfweaPs74WQWtUQJesHlOKAk\"","kind":"admin#directory#group","name":"Admins","email":"admins@foo-corp.com","description":"","adminCreated":true,"directMembersCount":"3","nonEditableAliases":["admins@foo-corp.com.test-google-a.com"]}}],"list_metadata":{"before":"directory_group_01G2Z8D4PCZPAAB9CGS8EB34G5","after":"directory_group_01G2Z8D4Z78331QJ6NS4SS23R2"},"listMetadata":{"before":"directory_group_01G2Z8D4PCZPAAB9CGS8EB34G5","after":"directory_group_01G2Z8D4Z78331QJ6NS4SS23R2"}}'
72
88
  http_version:
73
- recorded_at: Thu, 22 Apr 2021 22:11:09 GMT
89
+ recorded_at: Tue, 07 Jun 2022 22:28:36 GMT
74
90
  recorded_with: VCR 5.0.0