workos 2.2.1 → 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.
- checksums.yaml +4 -4
 - data/Gemfile.lock +2 -2
 - data/lib/workos/audit_trail.rb +1 -0
 - data/lib/workos/challenge.rb +1 -1
 - data/lib/workos/directory_group.rb +18 -1
 - data/lib/workos/directory_sync.rb +3 -0
 - data/lib/workos/directory_user.rb +5 -0
 - data/lib/workos/factor.rb +1 -6
 - data/lib/workos/organizations.rb +1 -0
 - data/lib/workos/sso.rb +1 -0
 - data/lib/workos/types/challenge_struct.rb +1 -1
 - data/lib/workos/types/directory_group_struct.rb +5 -0
 - data/lib/workos/types/factor_struct.rb +0 -1
 - data/lib/workos/version.rb +1 -1
 - data/spec/lib/workos/directory_sync_spec.rb +23 -19
 - data/spec/lib/workos/directory_user_spec.rb +36 -0
 - data/spec/support/fixtures/vcr_cassettes/directory_sync/get_group.yml +48 -28
 - data/spec/support/fixtures/vcr_cassettes/directory_sync/list_groups/with_after.yml +46 -32
 - data/spec/support/fixtures/vcr_cassettes/directory_sync/list_groups/with_before.yml +47 -31
 - data/spec/support/fixtures/vcr_cassettes/directory_sync/list_groups/with_directory.yml +46 -34
 - data/spec/support/fixtures/vcr_cassettes/directory_sync/list_groups/with_limit.yml +41 -31
 - data/spec/support/fixtures/vcr_cassettes/directory_sync/list_groups/with_no_options.yml +36 -26
 - data/spec/support/fixtures/vcr_cassettes/directory_sync/list_groups/with_user.yml +38 -28
 - data/spec/support/fixtures/vcr_cassettes/mfa/challenge_factor_totp_valid.yml +1 -1
 - data/spec/support/fixtures/vcr_cassettes/mfa/enroll_factor_generic_valid.yml +1 -1
 - data/spec/support/fixtures/vcr_cassettes/mfa/enroll_factor_sms_valid.yml +1 -1
 - data/spec/support/fixtures/vcr_cassettes/mfa/enroll_factor_totp_valid.yml +1 -1
 - data/spec/support/fixtures/vcr_cassettes/mfa/get_factor_valid.yml +1 -1
 - metadata +5 -3
 
    
        checksums.yaml
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            ---
         
     | 
| 
       2 
2 
     | 
    
         
             
            SHA256:
         
     | 
| 
       3 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       4 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 3 
     | 
    
         
            +
              metadata.gz: f7abb4f1d075ea976bbc8577247d36ff763a21dd1b18335daac39a8c80d6acea
         
     | 
| 
      
 4 
     | 
    
         
            +
              data.tar.gz: 4c8e6326e7b80773a292754a7030033773470dc12228571cad8b0198a3c8342b
         
     | 
| 
       5 
5 
     | 
    
         
             
            SHA512:
         
     | 
| 
       6 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       7 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 6 
     | 
    
         
            +
              metadata.gz: 7d4c51f21848cb44e0f0326deab050040989811f829b4bbf1c317aca9d08e113c47bd4dbd822faac3f195d8695204fd3acb9a797638a0d9c4f951100964a53e7
         
     | 
| 
      
 7 
     | 
    
         
            +
              data.tar.gz: 2b25fd19c5008c27d03a9ab73f6dcb02ba2cd7f133d0726ce46ccadb4928e2805dca1f63dbefd9552ea7ee8ea9acf122a7641dabf48e5199f4f607dcb8754c46
         
     | 
    
        data/Gemfile.lock
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            PATH
         
     | 
| 
       2 
2 
     | 
    
         
             
              remote: .
         
     | 
| 
       3 
3 
     | 
    
         
             
              specs:
         
     | 
| 
       4 
     | 
    
         
            -
                workos (2. 
     | 
| 
      
 4 
     | 
    
         
            +
                workos (2.3.0)
         
     | 
| 
       5 
5 
     | 
    
         
             
                  sorbet-runtime (~> 0.5)
         
     | 
| 
       6 
6 
     | 
    
         | 
| 
       7 
7 
     | 
    
         
             
            GEM
         
     | 
| 
         @@ -60,7 +60,7 @@ GEM 
     | 
|
| 
       60 
60 
     | 
    
         
             
                simplecov_json_formatter (0.1.2)
         
     | 
| 
       61 
61 
     | 
    
         
             
                sorbet (0.5.6388)
         
     | 
| 
       62 
62 
     | 
    
         
             
                  sorbet-static (= 0.5.6388)
         
     | 
| 
       63 
     | 
    
         
            -
                sorbet-runtime (0.5. 
     | 
| 
      
 63 
     | 
    
         
            +
                sorbet-runtime (0.5.10090)
         
     | 
| 
       64 
64 
     | 
    
         
             
                sorbet-static (0.5.6388-universal-darwin-14)
         
     | 
| 
       65 
65 
     | 
    
         
             
                sorbet-static (0.5.6388-universal-darwin-15)
         
     | 
| 
       66 
66 
     | 
    
         
             
                sorbet-static (0.5.6388-universal-darwin-16)
         
     | 
    
        data/lib/workos/audit_trail.rb
    CHANGED
    
    | 
         @@ -65,6 +65,7 @@ module WorkOS 
     | 
|
| 
       65 
65 
     | 
    
         
             
                  # @option options [String] before Event ID to look before
         
     | 
| 
       66 
66 
     | 
    
         
             
                  # @option options [String] after Event ID to look after
         
     | 
| 
       67 
67 
     | 
    
         
             
                  # @option options [Integer] limit Number of Events to return
         
     | 
| 
      
 68 
     | 
    
         
            +
                  # @option options [String] order The order in which to paginate records
         
     | 
| 
       68 
69 
     | 
    
         
             
                  # @option options [Array<String>] group List of Groups to filter for
         
     | 
| 
       69 
70 
     | 
    
         
             
                  # @option options [Array<String>] action List of Actions to filter for
         
     | 
| 
       70 
71 
     | 
    
         
             
                  # @option options [Array<String>] action_type List of Action Types to
         
     | 
    
        data/lib/workos/challenge.rb
    CHANGED
    
    | 
         @@ -16,7 +16,7 @@ module WorkOS 
     | 
|
| 
       16 
16 
     | 
    
         
             
                  raw = parse_json(json)
         
     | 
| 
       17 
17 
     | 
    
         
             
                  @id = T.let(raw.id, String)
         
     | 
| 
       18 
18 
     | 
    
         
             
                  @object = T.let(raw.object, String)
         
     | 
| 
       19 
     | 
    
         
            -
                  @expires_at = raw.expires_at
         
     | 
| 
      
 19 
     | 
    
         
            +
                  @expires_at = T.let(raw.expires_at, String)
         
     | 
| 
       20 
20 
     | 
    
         
             
                  @code = raw.code
         
     | 
| 
       21 
21 
     | 
    
         
             
                  @authentication_factor_id = T.let(raw.authentication_factor_id, String)
         
     | 
| 
       22 
22 
     | 
    
         
             
                  @created_at = T.let(raw.created_at, String)
         
     | 
| 
         @@ -9,22 +9,34 @@ module WorkOS 
     | 
|
| 
       9 
9 
     | 
    
         
             
                include HashProvider
         
     | 
| 
       10 
10 
     | 
    
         
             
                extend T::Sig
         
     | 
| 
       11 
11 
     | 
    
         | 
| 
       12 
     | 
    
         
            -
                attr_accessor :id, :name, : 
     | 
| 
      
 12 
     | 
    
         
            +
                attr_accessor :id, :directory_id, :idp_id, :name, :created_at, :updated_at, :raw_attributes
         
     | 
| 
       13 
13 
     | 
    
         | 
| 
      
 14 
     | 
    
         
            +
                # rubocop:disable Metrics/AbcSize
         
     | 
| 
       14 
15 
     | 
    
         
             
                sig { params(json: String).void }
         
     | 
| 
       15 
16 
     | 
    
         
             
                def initialize(json)
         
     | 
| 
       16 
17 
     | 
    
         
             
                  raw = parse_json(json)
         
     | 
| 
       17 
18 
     | 
    
         | 
| 
       18 
19 
     | 
    
         
             
                  @id = T.let(raw.id, String)
         
     | 
| 
      
 20 
     | 
    
         
            +
                  @directory_id = T.let(raw.directory_id, String)
         
     | 
| 
      
 21 
     | 
    
         
            +
                  @idp_id = T.let(raw.idp_id, String)
         
     | 
| 
       19 
22 
     | 
    
         
             
                  @name = T.let(raw.name, String)
         
     | 
| 
      
 23 
     | 
    
         
            +
                  @created_at = T.let(raw.created_at, String)
         
     | 
| 
      
 24 
     | 
    
         
            +
                  @updated_at = T.let(raw.updated_at, String)
         
     | 
| 
      
 25 
     | 
    
         
            +
                  @raw_attributes = raw.raw_attributes
         
     | 
| 
       20 
26 
     | 
    
         | 
| 
       21 
27 
     | 
    
         
             
                  replace_without_warning(to_json)
         
     | 
| 
       22 
28 
     | 
    
         
             
                end
         
     | 
| 
      
 29 
     | 
    
         
            +
                # rubocop:enable Metrics/AbcSize
         
     | 
| 
       23 
30 
     | 
    
         | 
| 
       24 
31 
     | 
    
         
             
                def to_json(*)
         
     | 
| 
       25 
32 
     | 
    
         
             
                  {
         
     | 
| 
       26 
33 
     | 
    
         
             
                    id: id,
         
     | 
| 
      
 34 
     | 
    
         
            +
                    directory_id: directory_id,
         
     | 
| 
      
 35 
     | 
    
         
            +
                    idp_id: idp_id,
         
     | 
| 
       27 
36 
     | 
    
         
             
                    name: name,
         
     | 
| 
      
 37 
     | 
    
         
            +
                    created_at: created_at,
         
     | 
| 
      
 38 
     | 
    
         
            +
                    updated_at: updated_at,
         
     | 
| 
      
 39 
     | 
    
         
            +
                    raw_attributes: raw_attributes,
         
     | 
| 
       28 
40 
     | 
    
         
             
                  }
         
     | 
| 
       29 
41 
     | 
    
         
             
                end
         
     | 
| 
       30 
42 
     | 
    
         | 
| 
         @@ -40,7 +52,12 @@ module WorkOS 
     | 
|
| 
       40 
52 
     | 
    
         | 
| 
       41 
53 
     | 
    
         
             
                  WorkOS::Types::DirectoryGroupStruct.new(
         
     | 
| 
       42 
54 
     | 
    
         
             
                    id: hash[:id],
         
     | 
| 
      
 55 
     | 
    
         
            +
                    directory_id: hash[:directory_id],
         
     | 
| 
      
 56 
     | 
    
         
            +
                    idp_id: hash[:idp_id],
         
     | 
| 
       43 
57 
     | 
    
         
             
                    name: hash[:name],
         
     | 
| 
      
 58 
     | 
    
         
            +
                    created_at: hash[:created_at],
         
     | 
| 
      
 59 
     | 
    
         
            +
                    updated_at: hash[:updated_at],
         
     | 
| 
      
 60 
     | 
    
         
            +
                    raw_attributes: hash[:raw_attributes],
         
     | 
| 
       44 
61 
     | 
    
         
             
                  )
         
     | 
| 
       45 
62 
     | 
    
         
             
                end
         
     | 
| 
       46 
63 
     | 
    
         
             
              end
         
     | 
| 
         @@ -22,6 +22,7 @@ module WorkOS 
     | 
|
| 
       22 
22 
     | 
    
         
             
                  #  retrieved.
         
     | 
| 
       23 
23 
     | 
    
         
             
                  # @option options [String] search A search term for direcory names.
         
     | 
| 
       24 
24 
     | 
    
         
             
                  # @option options [String] limit Maximum number of records to return.
         
     | 
| 
      
 25 
     | 
    
         
            +
                  # @option options [String] order The order in which to paginate records
         
     | 
| 
       25 
26 
     | 
    
         
             
                  # @option options [String] before Pagination cursor to receive records
         
     | 
| 
       26 
27 
     | 
    
         
             
                  #  before a provided Directory ID.
         
     | 
| 
       27 
28 
     | 
    
         
             
                  # @option options [String] after Pagination cursor to receive records
         
     | 
| 
         @@ -91,6 +92,7 @@ module WorkOS 
     | 
|
| 
       91 
92 
     | 
    
         
             
                  # @option options [String] user The ID of the directory user whose
         
     | 
| 
       92 
93 
     | 
    
         
             
                  #  directory groups will be retrieved.
         
     | 
| 
       93 
94 
     | 
    
         
             
                  # @option options [String] limit Maximum number of records to return.
         
     | 
| 
      
 95 
     | 
    
         
            +
                  # @option options [String] order The order in which to paginate records
         
     | 
| 
       94 
96 
     | 
    
         
             
                  # @option options [String] before Pagination cursor to receive records
         
     | 
| 
       95 
97 
     | 
    
         
             
                  #  before a provided Directory Group ID.
         
     | 
| 
       96 
98 
     | 
    
         
             
                  # @option options [String] after Pagination cursor to receive records
         
     | 
| 
         @@ -130,6 +132,7 @@ module WorkOS 
     | 
|
| 
       130 
132 
     | 
    
         
             
                  # @option options [String] user The ID of the directory group whose
         
     | 
| 
       131 
133 
     | 
    
         
             
                  #  directory users will be retrieved.
         
     | 
| 
       132 
134 
     | 
    
         
             
                  # @option options [String] limit Maximum number of records to return.
         
     | 
| 
      
 135 
     | 
    
         
            +
                  # @option options [String] order The order in which to paginate records
         
     | 
| 
       133 
136 
     | 
    
         
             
                  # @option options [String] before Pagination cursor to receive records
         
     | 
| 
       134 
137 
     | 
    
         
             
                  #  before a provided Directory User ID.
         
     | 
| 
       135 
138 
     | 
    
         
             
                  # @option options [String] after Pagination cursor to receive records
         
     | 
    
        data/lib/workos/factor.rb
    CHANGED
    
    | 
         @@ -7,15 +7,13 @@ module WorkOS 
     | 
|
| 
       7 
7 
     | 
    
         
             
              # in DirectoryUser space, and is instantiated internally but exposed.
         
     | 
| 
       8 
8 
     | 
    
         
             
              class Factor
         
     | 
| 
       9 
9 
     | 
    
         
             
                include HashProvider
         
     | 
| 
       10 
     | 
    
         
            -
                # rubocop:disable Metrics/AbcSize
         
     | 
| 
       11 
10 
     | 
    
         
             
                extend T::Sig
         
     | 
| 
       12 
     | 
    
         
            -
                attr_accessor :id, : 
     | 
| 
      
 11 
     | 
    
         
            +
                attr_accessor :id, :object, :type, :sms, :totp, :updated_at, :created_at
         
     | 
| 
       13 
12 
     | 
    
         | 
| 
       14 
13 
     | 
    
         
             
                sig { params(json: String).void }
         
     | 
| 
       15 
14 
     | 
    
         
             
                def initialize(json)
         
     | 
| 
       16 
15 
     | 
    
         
             
                  raw = parse_json(json)
         
     | 
| 
       17 
16 
     | 
    
         
             
                  @id = T.let(raw.id, String)
         
     | 
| 
       18 
     | 
    
         
            -
                  @environment_id = T.let(raw.environment_id, String)
         
     | 
| 
       19 
17 
     | 
    
         
             
                  @object = T.let(raw.object, String)
         
     | 
| 
       20 
18 
     | 
    
         
             
                  @type = T.let(raw.type, String)
         
     | 
| 
       21 
19 
     | 
    
         
             
                  @created_at = T.let(raw.created_at, String)
         
     | 
| 
         @@ -27,7 +25,6 @@ module WorkOS 
     | 
|
| 
       27 
25 
     | 
    
         
             
                def to_json(*)
         
     | 
| 
       28 
26 
     | 
    
         
             
                  {
         
     | 
| 
       29 
27 
     | 
    
         
             
                    id: id,
         
     | 
| 
       30 
     | 
    
         
            -
                    environment_id: environment_id,
         
     | 
| 
       31 
28 
     | 
    
         
             
                    object: object,
         
     | 
| 
       32 
29 
     | 
    
         
             
                    type: type,
         
     | 
| 
       33 
30 
     | 
    
         
             
                    totp: totp,
         
     | 
| 
         @@ -45,7 +42,6 @@ module WorkOS 
     | 
|
| 
       45 
42 
     | 
    
         | 
| 
       46 
43 
     | 
    
         
             
                  WorkOS::Types::FactorStruct.new(
         
     | 
| 
       47 
44 
     | 
    
         
             
                    id: hash[:id],
         
     | 
| 
       48 
     | 
    
         
            -
                    environment_id: hash[:environment_id],
         
     | 
| 
       49 
45 
     | 
    
         
             
                    object: hash[:object],
         
     | 
| 
       50 
46 
     | 
    
         
             
                    type: hash[:type],
         
     | 
| 
       51 
47 
     | 
    
         
             
                    totp: hash[:totp],
         
     | 
| 
         @@ -54,6 +50,5 @@ module WorkOS 
     | 
|
| 
       54 
50 
     | 
    
         
             
                    updated_at: hash[:updated_at],
         
     | 
| 
       55 
51 
     | 
    
         
             
                  )
         
     | 
| 
       56 
52 
     | 
    
         
             
                end
         
     | 
| 
       57 
     | 
    
         
            -
                # rubocop:enable Metrics/AbcSize
         
     | 
| 
       58 
53 
     | 
    
         
             
              end
         
     | 
| 
       59 
54 
     | 
    
         
             
            end
         
     | 
    
        data/lib/workos/organizations.rb
    CHANGED
    
    | 
         @@ -21,6 +21,7 @@ module WorkOS 
     | 
|
| 
       21 
21 
     | 
    
         
             
                  # @param [String] after A pagination argument used to request
         
     | 
| 
       22 
22 
     | 
    
         
             
                  #  organizations after the provided Organization ID.
         
     | 
| 
       23 
23 
     | 
    
         
             
                  # @param [Integer] limit A pagination argument used to limit the number
         
     | 
| 
      
 24 
     | 
    
         
            +
                  # @param [String] order The order in which to paginate records
         
     | 
| 
       24 
25 
     | 
    
         
             
                  #  of listed Organizations that are returned.
         
     | 
| 
       25 
26 
     | 
    
         
             
                  sig do
         
     | 
| 
       26 
27 
     | 
    
         
             
                    params(
         
     | 
    
        data/lib/workos/sso.rb
    CHANGED
    
    | 
         @@ -163,6 +163,7 @@ module WorkOS 
     | 
|
| 
       163 
163 
     | 
    
         
             
                  # @option options [String] organization_id The id of the organization
         
     | 
| 
       164 
164 
     | 
    
         
             
                  #  of the connections to be retrieved.
         
     | 
| 
       165 
165 
     | 
    
         
             
                  # @option options [String] limit Maximum number of records to return.
         
     | 
| 
      
 166 
     | 
    
         
            +
                  # @option options [String] order The order in which to paginate records
         
     | 
| 
       166 
167 
     | 
    
         
             
                  # @option options [String] before Pagination cursor to receive records
         
     | 
| 
       167 
168 
     | 
    
         
             
                  #  before a provided Connection ID.
         
     | 
| 
       168 
169 
     | 
    
         
             
                  # @option options [String] after Pagination cursor to receive records
         
     | 
| 
         @@ -8,7 +8,7 @@ module WorkOS 
     | 
|
| 
       8 
8 
     | 
    
         
             
                class ChallengeStruct < T::Struct
         
     | 
| 
       9 
9 
     | 
    
         
             
                  const :id, String
         
     | 
| 
       10 
10 
     | 
    
         
             
                  const :object, String
         
     | 
| 
       11 
     | 
    
         
            -
                  const :expires_at,  
     | 
| 
      
 11 
     | 
    
         
            +
                  const :expires_at, String
         
     | 
| 
       12 
12 
     | 
    
         
             
                  const :code, T.nilable(String)
         
     | 
| 
       13 
13 
     | 
    
         
             
                  const :authentication_factor_id, String
         
     | 
| 
       14 
14 
     | 
    
         
             
                  const :created_at, String
         
     | 
| 
         @@ -7,7 +7,12 @@ module WorkOS 
     | 
|
| 
       7 
7 
     | 
    
         
             
                # for the DirectoryGroup class
         
     | 
| 
       8 
8 
     | 
    
         
             
                class DirectoryGroupStruct < T::Struct
         
     | 
| 
       9 
9 
     | 
    
         
             
                  const :id, String
         
     | 
| 
      
 10 
     | 
    
         
            +
                  const :directory_id, String
         
     | 
| 
      
 11 
     | 
    
         
            +
                  const :idp_id, String
         
     | 
| 
       10 
12 
     | 
    
         
             
                  const :name, String
         
     | 
| 
      
 13 
     | 
    
         
            +
                  const :created_at, String
         
     | 
| 
      
 14 
     | 
    
         
            +
                  const :updated_at, String
         
     | 
| 
      
 15 
     | 
    
         
            +
                  const :raw_attributes, T::Hash[Symbol, Object]
         
     | 
| 
       11 
16 
     | 
    
         
             
                end
         
     | 
| 
       12 
17 
     | 
    
         
             
              end
         
     | 
| 
       13 
18 
     | 
    
         
             
            end
         
     | 
    
        data/lib/workos/version.rb
    CHANGED
    
    
| 
         @@ -189,7 +189,7 @@ describe WorkOS::DirectorySync do 
     | 
|
| 
       189 
189 
     | 
    
         
             
                context 'with directory option' do
         
     | 
| 
       190 
190 
     | 
    
         
             
                  it 'forms the proper request to the API' do
         
     | 
| 
       191 
191 
     | 
    
         
             
                    request_args = [
         
     | 
| 
       192 
     | 
    
         
            -
                      '/directory_groups?directory= 
     | 
| 
      
 192 
     | 
    
         
            +
                      '/directory_groups?directory=directory_01G2Z8ADK5NPMVTWF48MVVE4HT',
         
     | 
| 
       193 
193 
     | 
    
         
             
                      'Content-Type' => 'application/json'
         
     | 
| 
       194 
194 
     | 
    
         
             
                    ]
         
     | 
| 
       195 
195 
     | 
    
         | 
| 
         @@ -200,7 +200,7 @@ describe WorkOS::DirectorySync do 
     | 
|
| 
       200 
200 
     | 
    
         | 
| 
       201 
201 
     | 
    
         
             
                    VCR.use_cassette 'directory_sync/list_groups/with_directory' do
         
     | 
| 
       202 
202 
     | 
    
         
             
                      groups = described_class.list_groups(
         
     | 
| 
       203 
     | 
    
         
            -
                        directory: ' 
     | 
| 
      
 203 
     | 
    
         
            +
                        directory: 'directory_01G2Z8ADK5NPMVTWF48MVVE4HT',
         
     | 
| 
       204 
204 
     | 
    
         
             
                      )
         
     | 
| 
       205 
205 
     | 
    
         | 
| 
       206 
206 
     | 
    
         
             
                      expect(groups.data.size).to eq(10)
         
     | 
| 
         @@ -212,7 +212,7 @@ describe WorkOS::DirectorySync do 
     | 
|
| 
       212 
212 
     | 
    
         
             
                context 'with user option' do
         
     | 
| 
       213 
213 
     | 
    
         
             
                  it 'forms the proper request to the API' do
         
     | 
| 
       214 
214 
     | 
    
         
             
                    request_args = [
         
     | 
| 
       215 
     | 
    
         
            -
                      '/directory_groups?user= 
     | 
| 
      
 215 
     | 
    
         
            +
                      '/directory_groups?user=directory_user_01G2Z8D4FDB28ZNSRRBVCF2E0P',
         
     | 
| 
       216 
216 
     | 
    
         
             
                      'Content-Type' => 'application/json'
         
     | 
| 
       217 
217 
     | 
    
         
             
                    ]
         
     | 
| 
       218 
218 
     | 
    
         | 
| 
         @@ -223,7 +223,7 @@ describe WorkOS::DirectorySync do 
     | 
|
| 
       223 
223 
     | 
    
         | 
| 
       224 
224 
     | 
    
         
             
                    VCR.use_cassette 'directory_sync/list_groups/with_user' do
         
     | 
| 
       225 
225 
     | 
    
         
             
                      groups = described_class.list_groups(
         
     | 
| 
       226 
     | 
    
         
            -
                        user: ' 
     | 
| 
      
 226 
     | 
    
         
            +
                        user: 'directory_user_01G2Z8D4FDB28ZNSRRBVCF2E0P',
         
     | 
| 
       227 
227 
     | 
    
         
             
                      )
         
     | 
| 
       228 
228 
     | 
    
         | 
| 
       229 
229 
     | 
    
         
             
                      expect(groups.data.size).to eq(3)
         
     | 
| 
         @@ -234,8 +234,8 @@ describe WorkOS::DirectorySync do 
     | 
|
| 
       234 
234 
     | 
    
         
             
                context 'with the before option' do
         
     | 
| 
       235 
235 
     | 
    
         
             
                  it 'forms the proper request to the API' do
         
     | 
| 
       236 
236 
     | 
    
         
             
                    request_args = [
         
     | 
| 
       237 
     | 
    
         
            -
                      '/directory_groups?before= 
     | 
| 
       238 
     | 
    
         
            -
                      'directory= 
     | 
| 
      
 237 
     | 
    
         
            +
                      '/directory_groups?before=directory_group_01G2Z8D4ZR8RJ03Y1W7P9K8NMG&' \
         
     | 
| 
      
 238 
     | 
    
         
            +
                      'directory=directory_01G2Z8ADK5NPMVTWF48MVVE4HT',
         
     | 
| 
       239 
239 
     | 
    
         
             
                      'Content-Type' => 'application/json'
         
     | 
| 
       240 
240 
     | 
    
         
             
                    ]
         
     | 
| 
       241 
241 
     | 
    
         | 
| 
         @@ -246,11 +246,11 @@ describe WorkOS::DirectorySync do 
     | 
|
| 
       246 
246 
     | 
    
         | 
| 
       247 
247 
     | 
    
         
             
                    VCR.use_cassette 'directory_sync/list_groups/with_before' do
         
     | 
| 
       248 
248 
     | 
    
         
             
                      groups = described_class.list_groups(
         
     | 
| 
       249 
     | 
    
         
            -
                        before: ' 
     | 
| 
       250 
     | 
    
         
            -
                        directory: ' 
     | 
| 
      
 249 
     | 
    
         
            +
                        before: 'directory_group_01G2Z8D4ZR8RJ03Y1W7P9K8NMG',
         
     | 
| 
      
 250 
     | 
    
         
            +
                        directory: 'directory_01G2Z8ADK5NPMVTWF48MVVE4HT',
         
     | 
| 
       251 
251 
     | 
    
         
             
                      )
         
     | 
| 
       252 
252 
     | 
    
         | 
| 
       253 
     | 
    
         
            -
                      expect(groups.data.size).to eq( 
     | 
| 
      
 253 
     | 
    
         
            +
                      expect(groups.data.size).to eq(10)
         
     | 
| 
       254 
254 
     | 
    
         
             
                    end
         
     | 
| 
       255 
255 
     | 
    
         
             
                  end
         
     | 
| 
       256 
256 
     | 
    
         
             
                end
         
     | 
| 
         @@ -258,8 +258,8 @@ describe WorkOS::DirectorySync do 
     | 
|
| 
       258 
258 
     | 
    
         
             
                context 'with the after option' do
         
     | 
| 
       259 
259 
     | 
    
         
             
                  it 'forms the proper request to the API' do
         
     | 
| 
       260 
260 
     | 
    
         
             
                    request_args = [
         
     | 
| 
       261 
     | 
    
         
            -
                      '/directory_groups?after= 
     | 
| 
       262 
     | 
    
         
            -
                      'directory= 
     | 
| 
      
 261 
     | 
    
         
            +
                      '/directory_groups?after=directory_group_01G2Z8D4ZR8RJ03Y1W7P9K8NMG&' \
         
     | 
| 
      
 262 
     | 
    
         
            +
                      'directory=directory_01G2Z8ADK5NPMVTWF48MVVE4HT',
         
     | 
| 
       263 
263 
     | 
    
         
             
                      'Content-Type' => 'application/json'
         
     | 
| 
       264 
264 
     | 
    
         
             
                    ]
         
     | 
| 
       265 
265 
     | 
    
         | 
| 
         @@ -270,11 +270,11 @@ describe WorkOS::DirectorySync do 
     | 
|
| 
       270 
270 
     | 
    
         | 
| 
       271 
271 
     | 
    
         
             
                    VCR.use_cassette 'directory_sync/list_groups/with_after' do
         
     | 
| 
       272 
272 
     | 
    
         
             
                      groups = described_class.list_groups(
         
     | 
| 
       273 
     | 
    
         
            -
                        after: ' 
     | 
| 
       274 
     | 
    
         
            -
                        directory: ' 
     | 
| 
      
 273 
     | 
    
         
            +
                        after: 'directory_group_01G2Z8D4ZR8RJ03Y1W7P9K8NMG',
         
     | 
| 
      
 274 
     | 
    
         
            +
                        directory: 'directory_01G2Z8ADK5NPMVTWF48MVVE4HT',
         
     | 
| 
       275 
275 
     | 
    
         
             
                      )
         
     | 
| 
       276 
276 
     | 
    
         | 
| 
       277 
     | 
    
         
            -
                      expect(groups.data.size).to eq( 
     | 
| 
      
 277 
     | 
    
         
            +
                      expect(groups.data.size).to eq(9)
         
     | 
| 
       278 
278 
     | 
    
         
             
                    end
         
     | 
| 
       279 
279 
     | 
    
         
             
                  end
         
     | 
| 
       280 
280 
     | 
    
         
             
                end
         
     | 
| 
         @@ -283,7 +283,7 @@ describe WorkOS::DirectorySync do 
     | 
|
| 
       283 
283 
     | 
    
         
             
                  it 'forms the proper request to the API' do
         
     | 
| 
       284 
284 
     | 
    
         
             
                    request_args = [
         
     | 
| 
       285 
285 
     | 
    
         
             
                      '/directory_groups?limit=2&' \
         
     | 
| 
       286 
     | 
    
         
            -
                      'directory= 
     | 
| 
      
 286 
     | 
    
         
            +
                      'directory=directory_01G2Z8ADK5NPMVTWF48MVVE4HT',
         
     | 
| 
       287 
287 
     | 
    
         
             
                      'Content-Type' => 'application/json'
         
     | 
| 
       288 
288 
     | 
    
         
             
                    ]
         
     | 
| 
       289 
289 
     | 
    
         | 
| 
         @@ -295,7 +295,7 @@ describe WorkOS::DirectorySync do 
     | 
|
| 
       295 
295 
     | 
    
         
             
                    VCR.use_cassette 'directory_sync/list_groups/with_limit' do
         
     | 
| 
       296 
296 
     | 
    
         
             
                      groups = described_class.list_groups(
         
     | 
| 
       297 
297 
     | 
    
         
             
                        limit: 2,
         
     | 
| 
       298 
     | 
    
         
            -
                        directory: ' 
     | 
| 
      
 298 
     | 
    
         
            +
                        directory: 'directory_01G2Z8ADK5NPMVTWF48MVVE4HT',
         
     | 
| 
       299 
299 
     | 
    
         
             
                      )
         
     | 
| 
       300 
300 
     | 
    
         | 
| 
       301 
301 
     | 
    
         
             
                      expect(groups.data.size).to eq(2)
         
     | 
| 
         @@ -438,11 +438,15 @@ describe WorkOS::DirectorySync do 
     | 
|
| 
       438 
438 
     | 
    
         
             
                  it 'returns a group' do
         
     | 
| 
       439 
439 
     | 
    
         
             
                    VCR.use_cassette('directory_sync/get_group') do
         
     | 
| 
       440 
440 
     | 
    
         
             
                      group = WorkOS::DirectorySync.get_group(
         
     | 
| 
       441 
     | 
    
         
            -
                        ' 
     | 
| 
      
 441 
     | 
    
         
            +
                        'directory_group_01G2Z8D4ZR8RJ03Y1W7P9K8NMG',
         
     | 
| 
       442 
442 
     | 
    
         
             
                      )
         
     | 
| 
       443 
443 
     | 
    
         | 
| 
       444 
     | 
    
         
            -
                      expect(group[' 
     | 
| 
       445 
     | 
    
         
            -
                      expect(group 
     | 
| 
      
 444 
     | 
    
         
            +
                      expect(group['directory_id']).to eq('directory_01G2Z8ADK5NPMVTWF48MVVE4HT')
         
     | 
| 
      
 445 
     | 
    
         
            +
                      expect(group['idp_id']).to eq('01jlao4614two3d')
         
     | 
| 
      
 446 
     | 
    
         
            +
                      expect(group['name']).to eq('Sales')
         
     | 
| 
      
 447 
     | 
    
         
            +
                      expect(group.name).to eq('Sales')
         
     | 
| 
      
 448 
     | 
    
         
            +
                      expect(group['created_at']).to eq('2022-05-13T17:45:31.732Z')
         
     | 
| 
      
 449 
     | 
    
         
            +
                      expect(group['updated_at']).to eq('2022-06-07T17:45:35.739Z')
         
     | 
| 
       446 
450 
     | 
    
         
             
                    end
         
     | 
| 
       447 
451 
     | 
    
         
             
                  end
         
     | 
| 
       448 
452 
     | 
    
         
             
                end
         
     | 
| 
         @@ -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
         
     | 
| 
         @@ -2,7 +2,7 @@ 
     | 
|
| 
       2 
2 
     | 
    
         
             
            http_interactions:
         
     | 
| 
       3 
3 
     | 
    
         
             
            - request:
         
     | 
| 
       4 
4 
     | 
    
         
             
                method: get
         
     | 
| 
       5 
     | 
    
         
            -
                uri: https://api.workos.com/directory_groups/ 
     | 
| 
      
 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/ 
     | 
| 
      
 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 
     | 
    
         
            -
                   
     | 
| 
       26 
     | 
    
         
            -
                  -  
     | 
| 
      
 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 
     | 
    
         
            -
                   
     | 
| 
       34 
     | 
    
         
            -
                  - ' 
     | 
| 
       35 
     | 
    
         
            -
             
     | 
| 
       36 
     | 
    
         
            -
             
     | 
| 
      
 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 
     | 
    
         
            -
                   
     | 
| 
       40 
     | 
    
         
            -
                  -  
     | 
| 
      
 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- 
     | 
| 
       44 
     | 
    
         
            -
                  -  
     | 
| 
      
 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 
     | 
    
         
            -
                  -  
     | 
| 
       47 
     | 
    
         
            -
                   
     | 
| 
       48 
     | 
    
         
            -
                  -  
     | 
| 
       49 
     | 
    
         
            -
                   
     | 
| 
       50 
     | 
    
         
            -
                  -  
     | 
| 
       51 
     | 
    
         
            -
                   
     | 
| 
       52 
     | 
    
         
            -
                  -  
     | 
| 
       53 
     | 
    
         
            -
                   
     | 
| 
       54 
     | 
    
         
            -
                  -  
     | 
| 
       55 
     | 
    
         
            -
                   
     | 
| 
       56 
     | 
    
         
            -
                  -  
     | 
| 
      
 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:  
     | 
| 
       59 
     | 
    
         
            -
                  string: '{"id":" 
     | 
| 
      
 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:  
     | 
| 
      
 81 
     | 
    
         
            +
              recorded_at: Tue, 07 Jun 2022 22:28:37 GMT
         
     | 
| 
       62 
82 
     | 
    
         
             
            recorded_with: VCR 5.0.0
         
     |