|
37 | 37 | let :config do
|
38 | 38 | {
|
39 | 39 | role_arn: 'aws_role',
|
40 |
| - google_client_id: 'client_id', |
41 |
| - google_client_secret: 'client_secret', |
| 40 | + client_id: 'client_id', |
| 41 | + client_secret: 'client_secret', |
42 | 42 | profile: 'cdo',
|
43 | 43 | client: Aws::STS::Client.new(stub_responses: true)
|
44 | 44 | }
|
|
79 | 79 | @oauth_default.once
|
80 | 80 | system.times(5)
|
81 | 81 |
|
82 |
| - c = Aws::STS::Client.new.config.credentials |
| 82 | + c = Aws::Google.new(config).credentials |
83 | 83 | _(c.credentials.access_key_id).must_equal credentials[:access_key_id]
|
84 | 84 | _(c.credentials.secret_access_key).must_equal credentials[:secret_access_key]
|
85 | 85 | _(c.credentials.session_token).must_equal credentials[:session_token]
|
|
95 | 95 |
|
96 | 96 | system.times(5)
|
97 | 97 |
|
98 |
| - c = Aws::STS::Client.new.config.credentials |
| 98 | + c = Aws::Google.new(config).credentials |
99 | 99 | _(c.credentials.access_key_id).must_equal credentials[:access_key_id]
|
100 | 100 | _(c.credentials.secret_access_key).must_equal credentials[:secret_access_key]
|
101 | 101 | _(c.credentials.session_token).must_equal credentials[:session_token]
|
|
109 | 109 | { credentials: credentials.dup.tap { |c| c[:expiration] = 2.hours.from_now } }
|
110 | 110 | ]
|
111 | 111 | )
|
112 |
| - service = Aws::STS::Client.new |
113 |
| - expiration = service.config.credentials.expiration |
114 |
| - _(expiration).must_equal(service.config.credentials.expiration) |
| 112 | + provider = Aws::Google.new(config) |
| 113 | + expiration = provider.expiration |
| 114 | + _(expiration).must_equal(provider.expiration) |
115 | 115 | Timecop.travel(1.5.hours.from_now) do
|
116 |
| - _(expiration).wont_equal(service.config.credentials.expiration) |
| 116 | + _(expiration).wont_equal(provider.expiration) |
117 | 117 | end
|
118 | 118 | end
|
119 | 119 |
|
120 | 120 | it 'refreshes saved expired credentials' do
|
121 | 121 | config[:profile] = 'cdo-expired'
|
122 | 122 | @oauth_default.once
|
123 | 123 | system.times(5)
|
124 |
| - Aws::STS::Client.new.config.credentials |
| 124 | + Aws::Google.new(config).credentials |
125 | 125 | end
|
126 | 126 |
|
127 | 127 | it 'reuses saved credentials without refreshing' do
|
128 | 128 | config[:profile] = 'cdo-saved'
|
129 | 129 | Aws::Google.any_instance.expects(:refresh).never
|
130 |
| - Aws::STS::Client.new.config.credentials |
| 130 | + Aws::Google.new(config).credentials |
131 | 131 | end
|
132 | 132 |
|
133 | 133 | describe 'valid Google auth, no AWS permissions' do
|
|
145 | 145 | system.times(5)
|
146 | 146 | @oauth_default.once
|
147 | 147 | Aws::Google.any_instance.expects(:google_oauth).returns(oauth)
|
148 |
| - Aws::STS::Client.new.config.credentials |
| 148 | + Aws::Google.new(config).credentials |
149 | 149 | end
|
150 | 150 |
|
151 | 151 | it 'raises error on invalid AWS permissions' do
|
152 | 152 | Google::Auth.expects(:get_application_default).returns(nil)
|
153 | 153 | Aws::Google.any_instance.expects(:google_oauth).times(2).returns(oauth, nil)
|
154 | 154 | err = assert_raises(Aws::STS::Errors::AccessDenied) do
|
155 |
| - Aws::STS::Client.new.config.credentials |
| 155 | + Aws::Google.new(config).credentials |
156 | 156 | end
|
157 | 157 | _(err.message).must_match 'Your Google ID does not have access to the requested AWS Role.'
|
158 | 158 | end
|
|
176 | 176 | }
|
177 | 177 | )
|
178 | 178 | Aws::Google.any_instance.expects(:google_oauth).returns(oauth)
|
179 |
| - Aws::STS::Client.new.config.credentials |
| 179 | + Aws::Google.new(config).credentials |
180 | 180 | assert_requested(token_post)
|
181 | 181 | end
|
182 | 182 | end
|
|
196 | 196 | system.times(5)
|
197 | 197 | @oauth_default.once
|
198 | 198 | Aws::Google.any_instance.expects(:google_oauth).returns(oauth).once
|
199 |
| - Aws::STS::Client.new.config.credentials |
| 199 | + Aws::Google.new(config).credentials |
200 | 200 | end
|
201 | 201 | end
|
202 | 202 | end
|
|
0 commit comments