@@ -132,71 +132,72 @@ def test_hashivault_handle_auth_not_enough_args():
132
132
hashivault .handle_auth ()
133
133
134
134
135
- def test_aws_assumerole_with_accesssecret ():
136
- '''
137
- Test that the aws_assumerole_backend function call returns a token given the access_key and secret_key.
138
- '''
135
+ def test_aws_assumerole_with_accesssecret (monkeypatch ):
136
+ """Test that the aws_assumerole_backend function call returns a token given
137
+ the access_key and secret_key."""
139
138
kwargs = {
140
139
'access_key' : 'my_access_key' ,
141
140
'secret_key' : 'my_secret_key' ,
142
141
'role_arn' : 'the_arn' ,
143
142
'identifier' : 'access_token' ,
144
143
}
145
- with mock .patch .object (aws_assumerole , 'aws_assumerole_getcreds' ) as method_mock :
146
- method_mock .return_value = {
144
+
145
+ def mock_getcreds (access_key , secret_key , role_arn , session_token ):
146
+ return {
147
147
'access_key' : 'the_access_key' ,
148
148
'secret_key' : 'the_secret_key' ,
149
149
'access_token' : 'the_access_token' ,
150
150
'Expiration' : datetime .datetime .today () + datetime .timedelta (days = 1 ),
151
151
}
152
- token = aws_assumerole .aws_assumerole_backend (** kwargs )
153
- method_mock .assert_called_with (
154
- kwargs .get ('access_key' ),
155
- kwargs .get ('secret_key' ),
156
- kwargs .get ('role_arn' ),
157
- None )
158
- assert token == 'the_access_token'
159
- kwargs ['identifier' ] = 'secret_key'
160
- method_mock .reset_mock ()
161
- token = aws_assumerole .aws_assumerole_backend (** kwargs )
162
- method_mock .assert_not_called ()
163
- assert token == 'the_secret_key'
164
- kwargs ['identifier' ] = 'access_key'
165
- method_mock .reset_mock ()
166
- token = aws_assumerole .aws_assumerole_backend (** kwargs )
167
- method_mock .assert_not_called ()
168
- assert token == 'the_access_key'
169
-
170
-
171
- def test_aws_assumerole_with_arnonly ():
172
- '''
173
- Test backend function with only the role ARN provided.
174
- '''
152
+
153
+ monkeypatch .setattr (
154
+ aws_assumerole ,
155
+ 'aws_assumerole_getcreds' ,
156
+ mock_getcreds )
157
+
158
+ token = aws_assumerole .aws_assumerole_backend (** kwargs )
159
+ assert token == 'the_access_token'
160
+
161
+ kwargs ['identifier' ] = 'secret_key'
162
+ token = aws_assumerole .aws_assumerole_backend (** kwargs )
163
+ assert token == 'the_secret_key'
164
+
165
+ kwargs ['identifier' ] = 'access_key'
166
+ token = aws_assumerole .aws_assumerole_backend (** kwargs )
167
+ assert token == 'the_access_key'
168
+
169
+
170
+ def test_aws_assumerole_with_arnonly (monkeypatch ):
171
+ """Test backend function with only the role ARN provided."""
175
172
kwargs = {
176
173
'role_arn' : 'the_arn' ,
177
174
'identifier' : 'access_token' ,
178
175
}
179
- with mock .patch .object (aws_assumerole , 'aws_assumerole_getcreds' ) as method_mock :
180
- method_mock .return_value = {
176
+
177
+ # Define a mock function that will replace aws_assumerole_getcreds
178
+ def mock_getcreds (* args , ** kwargs ):
179
+ return {
181
180
'access_key' : 'the_access_key' ,
182
181
'secret_key' : 'the_secret_key' ,
183
182
'access_token' : 'the_access_token' ,
184
183
'Expiration' : datetime .datetime .today () + datetime .timedelta (days = 1 ),
185
184
}
186
- token = aws_assumerole .aws_assumerole_backend (** kwargs )
187
- method_mock .assert_called_with (
188
- None , None , kwargs .get ('role_arn' ), None )
189
- assert token == 'the_access_token'
190
- kwargs ['identifier' ] = 'secret_key'
191
- method_mock .reset_mock ()
192
- token = aws_assumerole .aws_assumerole_backend (** kwargs )
193
- method_mock .assert_not_called ()
194
- assert token == 'the_secret_key'
195
- kwargs ['identifier' ] = 'access_key'
196
- method_mock .reset_mock ()
197
- token = aws_assumerole .aws_assumerole_backend (** kwargs )
198
- method_mock .assert_not_called ()
199
- assert token == 'the_access_key'
185
+
186
+ monkeypatch .setattr (
187
+ aws_assumerole ,
188
+ 'aws_assumerole_getcreds' ,
189
+ mock_getcreds )
190
+
191
+ token = aws_assumerole .aws_assumerole_backend (** kwargs )
192
+ assert token == 'the_access_token'
193
+
194
+ kwargs ['identifier' ] = 'secret_key'
195
+ token = aws_assumerole .aws_assumerole_backend (** kwargs )
196
+ assert token == 'the_secret_key'
197
+
198
+ kwargs ['identifier' ] = 'access_key'
199
+ token = aws_assumerole .aws_assumerole_backend (** kwargs )
200
+ assert token == 'the_access_key'
200
201
201
202
202
203
class TestDelineaImports :
0 commit comments