g5_authentication_client 0.5.0 → 0.5.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +10 -0
- data/README.md +4 -10
- data/lib/g5_authentication_client/client.rb +2 -1
- data/lib/g5_authentication_client/version.rb +1 -1
- data/spec/g5_authentication_client/client_spec.rb +52 -18
- metadata +3 -3
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA1:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: 0feb9bbacf734abc8f82d494f5b2e0d19342e851
         | 
| 4 | 
            +
              data.tar.gz: 1c671a19a12f098fdc271ef64fbe6f3ec62b3645
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: b0a1a80419a069ebe94d04204fe1f3cf5f53a2454e4cd94ecdb6a86b7e8996dad81245758a1f856ff5517ca9f804b8288df2ec7eafedd8a27a4b11dbd6faa88d
         | 
| 7 | 
            +
              data.tar.gz: b4450179fffa6f0bffa364bf5c28b02c6564c9be166efcc2f80c4e166506116a76fa84910ddedbeac68ba90c0203f303835bc9cb7276a70e74ac8371ed1273eb
         | 
    
        data/CHANGELOG.md
    CHANGED
    
    | @@ -1,3 +1,13 @@ | |
| 1 | 
            +
            ## v0.5.1 (2015-08-21)
         | 
| 2 | 
            +
             | 
| 3 | 
            +
            * Allow user attributes to be selectively updated
         | 
| 4 | 
            +
              ([#25](https://github.com/G5/g5_authentication_client/pull/25))
         | 
| 5 | 
            +
             | 
| 6 | 
            +
            ## v0.5.0 (2015-06-01)
         | 
| 7 | 
            +
             | 
| 8 | 
            +
            * Add support for resource-scoped roles
         | 
| 9 | 
            +
              ([#24](https://github.com/G5/g5_authentication_client/pull/24))
         | 
| 10 | 
            +
             | 
| 1 11 | 
             
            ## v0.4.0 (2015-05-20)
         | 
| 2 12 |  | 
| 3 13 | 
             
            * Add `G5AuthenticationClient::Client#list_roles`, a new
         | 
    
        data/README.md
    CHANGED
    
    | @@ -4,7 +4,7 @@ A client library for the g5-authentication service. | |
| 4 4 |  | 
| 5 5 | 
             
            ## Current version ##
         | 
| 6 6 |  | 
| 7 | 
            -
            0. | 
| 7 | 
            +
            0.5.1
         | 
| 8 8 |  | 
| 9 9 | 
             
            ## Requirements ##
         | 
| 10 10 |  | 
| @@ -217,15 +217,9 @@ service: | |
| 217 217 | 
             
            ```ruby
         | 
| 218 218 | 
             
            auth_client = G5AuthenticationClient::Client.new(access_token: 'my_access_token')
         | 
| 219 219 | 
             
            auth_client.list_roles
         | 
| 220 | 
            -
            # => [#<G5AuthenticationClient::Role  | 
| 221 | 
            -
             | 
| 222 | 
            -
             | 
| 223 | 
            -
            To retrieve information about a particular role:
         | 
| 224 | 
            -
             | 
| 225 | 
            -
            ```ruby
         | 
| 226 | 
            -
            auth_client = G5AuthenticationClient::Client.new(access_token: 'my_access_token')
         | 
| 227 | 
            -
            auth_client.get_role(4)
         | 
| 228 | 
            -
            # => #<G5AuthenticationClient::Role id=4 name="viewer">
         | 
| 220 | 
            +
            # => [#<G5AuthenticationClient::Role name="admin" type="GLOBAL" urn=nil>,
         | 
| 221 | 
            +
            #     #<G5AuthenticationClient::Role name="viewer" type="G5Updatable::Client" urn="g5-c-1abc2de-custom-client">,
         | 
| 222 | 
            +
            #     ...]
         | 
| 229 223 | 
             
            ```
         | 
| 230 224 |  | 
| 231 225 | 
             
            ## Examples ##
         | 
| @@ -41,28 +41,40 @@ describe G5AuthenticationClient::Client do | |
| 41 41 |  | 
| 42 42 | 
             
              let(:new_user_options) do
         | 
| 43 43 | 
             
                {email: email,
         | 
| 44 | 
            -
             | 
| 45 | 
            -
             | 
| 46 | 
            -
             | 
| 44 | 
            +
                 password: new_password,
         | 
| 45 | 
            +
                 password_confirmation: new_password,
         | 
| 46 | 
            +
                 id: user_id,
         | 
| 47 | 
            +
                 first_name: first_name,
         | 
| 48 | 
            +
                 last_name: last_name,
         | 
| 49 | 
            +
                 organization_name: organization_name,
         | 
| 50 | 
            +
                 phone_number: phone_number,
         | 
| 51 | 
            +
                 title: title,
         | 
| 52 | 
            +
                 roles: [{name: role_name, urn: role_urn, type: role_type}]}
         | 
| 47 53 | 
             
              end
         | 
| 48 54 |  | 
| 49 55 | 
             
              let(:new_user_request) do
         | 
| 50 56 | 
             
                {
         | 
| 51 | 
            -
                  'email'=>email,
         | 
| 52 | 
            -
                  'first_name'=> | 
| 53 | 
            -
                  'last_name'=> | 
| 54 | 
            -
                  'organization_name'=> | 
| 55 | 
            -
                  'password'=> | 
| 56 | 
            -
                  'password_confirmation'=> | 
| 57 | 
            -
                  'phone_number'=> | 
| 58 | 
            -
                  'title'=> | 
| 59 | 
            -
                  'roles'=>['name'=>role_name,'urn'=> role_urn, 'type'=>role_type]
         | 
| 57 | 
            +
                  'email' => email,
         | 
| 58 | 
            +
                  'first_name' => first_name,
         | 
| 59 | 
            +
                  'last_name'=> last_name,
         | 
| 60 | 
            +
                  'organization_name' => organization_name,
         | 
| 61 | 
            +
                  'password' => new_password,
         | 
| 62 | 
            +
                  'password_confirmation' => new_password,
         | 
| 63 | 
            +
                  'phone_number' => phone_number,
         | 
| 64 | 
            +
                  'title' => title,
         | 
| 65 | 
            +
                  'roles' => [{'name' => role_name, 'urn'=> role_urn, 'type' => role_type}]
         | 
| 60 66 | 
             
                }
         | 
| 61 67 | 
             
              end
         | 
| 62 68 |  | 
| 63 | 
            -
              let(:email){'foo@blah.com'}
         | 
| 64 | 
            -
              let(:password){'mybigtestpasswored'}
         | 
| 65 | 
            -
              let(: | 
| 69 | 
            +
              let(:email) { 'foo@blah.com' }
         | 
| 70 | 
            +
              let(:password) { 'mybigtestpasswored' }
         | 
| 71 | 
            +
              let(:new_password) { "#{password}x" }
         | 
| 72 | 
            +
              let(:user_id) { 1 }
         | 
| 73 | 
            +
              let(:first_name) { 'Fred' }
         | 
| 74 | 
            +
              let(:last_name) { 'Rogers' }
         | 
| 75 | 
            +
              let(:organization_name) { 'The Neighborhood' }
         | 
| 76 | 
            +
              let(:phone_number) { '(555) 555-5555' }
         | 
| 77 | 
            +
              let(:title) { 'Neighbor' }
         | 
| 66 78 | 
             
              let(:role_name) { 'my_role_1' }
         | 
| 67 79 | 
             
              let(:role_type) { 'G5Updatable::Client1' }
         | 
| 68 80 | 
             
              let(:role_urn) { 'someurn1' }
         | 
| @@ -320,11 +332,33 @@ describe G5AuthenticationClient::Client do | |
| 320 332 |  | 
| 321 333 | 
             
                it_should_behave_like 'an oauth protected resource', G5AuthenticationClient::User
         | 
| 322 334 |  | 
| 323 | 
            -
                 | 
| 324 | 
            -
                   | 
| 325 | 
            -
             | 
| 335 | 
            +
                context 'when all user options are populated' do
         | 
| 336 | 
            +
                  it 'will have the appropriate body and Authorization header' do
         | 
| 337 | 
            +
                    update_user
         | 
| 338 | 
            +
                    expect(a_request(:put, /#{endpoint}\/v1\/users\/#{user_id}/).
         | 
| 326 339 | 
             
                           with(body: Faraday::NestedParamsEncoder.encode({'user'=>new_user_request}), headers: {'Authorization' => auth_header_value})).
         | 
| 327 340 | 
             
                    to have_been_made.once
         | 
| 341 | 
            +
                  end
         | 
| 342 | 
            +
                end
         | 
| 343 | 
            +
             | 
| 344 | 
            +
                context 'when some user options are not populated' do
         | 
| 345 | 
            +
                  let(:new_user_options) do
         | 
| 346 | 
            +
                    {id: user_id,
         | 
| 347 | 
            +
                     email: email,
         | 
| 348 | 
            +
                     first_name: first_name}
         | 
| 349 | 
            +
                  end
         | 
| 350 | 
            +
             | 
| 351 | 
            +
                  let(:new_user_request) do
         | 
| 352 | 
            +
                    {'email' => email,
         | 
| 353 | 
            +
                     'first_name' => first_name}
         | 
| 354 | 
            +
                  end
         | 
| 355 | 
            +
             | 
| 356 | 
            +
                  it 'only sends the populated attributes and ignores the rest' do
         | 
| 357 | 
            +
                    update_user
         | 
| 358 | 
            +
                    expect(a_request(:put, /#{endpoint}\/v1\/users\/#{user_id}/).
         | 
| 359 | 
            +
                           with(body: Faraday::NestedParamsEncoder.encode({'user'=>new_user_request}), headers: {'Authorization' => auth_header_value})).
         | 
| 360 | 
            +
                           to have_been_made.once
         | 
| 361 | 
            +
                  end
         | 
| 328 362 | 
             
                end
         | 
| 329 363 | 
             
              end
         | 
| 330 364 |  | 
    
        metadata
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: g5_authentication_client
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 0.5. | 
| 4 | 
            +
              version: 0.5.1
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Rob Revels
         | 
| @@ -9,7 +9,7 @@ authors: | |
| 9 9 | 
             
            autorequire: 
         | 
| 10 10 | 
             
            bindir: bin
         | 
| 11 11 | 
             
            cert_chain: []
         | 
| 12 | 
            -
            date: 2015- | 
| 12 | 
            +
            date: 2015-08-21 00:00:00.000000000 Z
         | 
| 13 13 | 
             
            dependencies:
         | 
| 14 14 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 15 15 | 
             
              name: modelish
         | 
| @@ -246,7 +246,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement | |
| 246 246 | 
             
                  version: '0'
         | 
| 247 247 | 
             
            requirements: []
         | 
| 248 248 | 
             
            rubyforge_project: g5_authentication_client
         | 
| 249 | 
            -
            rubygems_version: 2.4. | 
| 249 | 
            +
            rubygems_version: 2.4.6
         | 
| 250 250 | 
             
            signing_key: 
         | 
| 251 251 | 
             
            specification_version: 4
         | 
| 252 252 | 
             
            summary: Client for the G5 Auth service
         |