8
8
import pytest
9
9
from boto3 .dynamodb .conditions import Key
10
10
from botocore import stub
11
+ from botocore .config import Config
11
12
12
13
from aws_lambda_powertools .utilities import parameters
13
14
from aws_lambda_powertools .utilities .parameters .base import BaseProvider , ExpirableValue
@@ -30,15 +31,20 @@ def mock_version():
30
31
return random .randrange (1 , 1000 )
31
32
32
33
33
- def test_dynamodb_provider_get (mock_name , mock_value ):
34
+ @pytest .fixture (scope = "module" )
35
+ def config ():
36
+ return Config (region_name = "us-east-1" )
37
+
38
+
39
+ def test_dynamodb_provider_get (mock_name , mock_value , config ):
34
40
"""
35
41
Test DynamoDBProvider.get() with a non-cached value
36
42
"""
37
43
38
44
table_name = "TEST_TABLE"
39
45
40
46
# Create a new provider
41
- provider = parameters .DynamoDBProvider (table_name , region = "us-east-1" )
47
+ provider = parameters .DynamoDBProvider (table_name , config = config )
42
48
43
49
# Stub the boto3 client
44
50
stubber = stub .Stubber (provider .table .meta .client )
@@ -56,9 +62,9 @@ def test_dynamodb_provider_get(mock_name, mock_value):
56
62
stubber .deactivate ()
57
63
58
64
59
- def test_dynamodb_provider_get_default_region (monkeypatch , mock_name , mock_value ):
65
+ def test_dynamodb_provider_get_default_config (monkeypatch , mock_name , mock_value ):
60
66
"""
61
- Test DynamoDBProvider.get() without setting a region
67
+ Test DynamoDBProvider.get() without setting a config
62
68
"""
63
69
64
70
monkeypatch .setenv ("AWS_DEFAULT_REGION" , "us-east-1" )
@@ -84,15 +90,15 @@ def test_dynamodb_provider_get_default_region(monkeypatch, mock_name, mock_value
84
90
stubber .deactivate ()
85
91
86
92
87
- def test_dynamodb_provider_get_cached (mock_name , mock_value ):
93
+ def test_dynamodb_provider_get_cached (mock_name , mock_value , config ):
88
94
"""
89
95
Test DynamoDBProvider.get() with a cached value
90
96
"""
91
97
92
98
table_name = "TEST_TABLE"
93
99
94
100
# Create a new provider
95
- provider = parameters .DynamoDBProvider (table_name , region = "us-east-1" )
101
+ provider = parameters .DynamoDBProvider (table_name , config = config )
96
102
97
103
# Inject value in the internal store
98
104
provider .store [(mock_name , None )] = ExpirableValue (mock_value , datetime .now () + timedelta (seconds = 60 ))
@@ -110,15 +116,15 @@ def test_dynamodb_provider_get_cached(mock_name, mock_value):
110
116
stubber .deactivate ()
111
117
112
118
113
- def test_dynamodb_provider_get_expired (mock_name , mock_value ):
119
+ def test_dynamodb_provider_get_expired (mock_name , mock_value , config ):
114
120
"""
115
121
Test DynamoDBProvider.get() with a cached but expired value
116
122
"""
117
123
118
124
table_name = "TEST_TABLE"
119
125
120
126
# Create a new provider
121
- provider = parameters .DynamoDBProvider (table_name , region = "us-east-1" )
127
+ provider = parameters .DynamoDBProvider (table_name , config = config )
122
128
123
129
# Inject value in the internal store
124
130
provider .store [(mock_name , None )] = ExpirableValue (mock_value , datetime .now () - timedelta (seconds = 60 ))
@@ -139,7 +145,7 @@ def test_dynamodb_provider_get_expired(mock_name, mock_value):
139
145
stubber .deactivate ()
140
146
141
147
142
- def test_dynamodb_provider_get_multiple (mock_name , mock_value ):
148
+ def test_dynamodb_provider_get_multiple (mock_name , mock_value , config ):
143
149
"""
144
150
Test DynamoDBProvider.get_multiple() with a non-cached path
145
151
"""
@@ -148,7 +154,7 @@ def test_dynamodb_provider_get_multiple(mock_name, mock_value):
148
154
table_name = "TEST_TABLE"
149
155
150
156
# Create a new provider
151
- provider = parameters .DynamoDBProvider (table_name , region = "us-east-1" )
157
+ provider = parameters .DynamoDBProvider (table_name , config = config )
152
158
153
159
# Stub the boto3 client
154
160
stubber = stub .Stubber (provider .table .meta .client )
@@ -175,7 +181,7 @@ def test_dynamodb_provider_get_multiple(mock_name, mock_value):
175
181
stubber .deactivate ()
176
182
177
183
178
- def test_dynamodb_provider_get_multiple_next_token (mock_name , mock_value ):
184
+ def test_dynamodb_provider_get_multiple_next_token (mock_name , mock_value , config ):
179
185
"""
180
186
Test DynamoDBProvider.get_multiple() with a non-cached path
181
187
"""
@@ -184,7 +190,7 @@ def test_dynamodb_provider_get_multiple_next_token(mock_name, mock_value):
184
190
table_name = "TEST_TABLE"
185
191
186
192
# Create a new provider
187
- provider = parameters .DynamoDBProvider (table_name , region = "us-east-1" )
193
+ provider = parameters .DynamoDBProvider (table_name , config = config )
188
194
189
195
# Stub the boto3 client
190
196
stubber = stub .Stubber (provider .table .meta .client )
@@ -228,13 +234,13 @@ def test_dynamodb_provider_get_multiple_next_token(mock_name, mock_value):
228
234
stubber .deactivate ()
229
235
230
236
231
- def test_ssm_provider_get (mock_name , mock_value , mock_version ):
237
+ def test_ssm_provider_get (mock_name , mock_value , mock_version , config ):
232
238
"""
233
239
Test SSMProvider.get() with a non-cached value
234
240
"""
235
241
236
242
# Create a new provider
237
- provider = parameters .SSMProvider (region = "us-east-1" )
243
+ provider = parameters .SSMProvider (config = config )
238
244
239
245
# Stub the boto3 client
240
246
stubber = stub .Stubber (provider .client )
@@ -263,9 +269,9 @@ def test_ssm_provider_get(mock_name, mock_value, mock_version):
263
269
stubber .deactivate ()
264
270
265
271
266
- def test_ssm_provider_get_default_region (monkeypatch , mock_name , mock_value , mock_version ):
272
+ def test_ssm_provider_get_default_config (monkeypatch , mock_name , mock_value , mock_version ):
267
273
"""
268
- Test SSMProvider.get() without specifying the region
274
+ Test SSMProvider.get() without specifying the config
269
275
"""
270
276
271
277
monkeypatch .setenv ("AWS_DEFAULT_REGION" , "us-east-1" )
@@ -300,13 +306,13 @@ def test_ssm_provider_get_default_region(monkeypatch, mock_name, mock_value, moc
300
306
stubber .deactivate ()
301
307
302
308
303
- def test_ssm_provider_get_cached (mock_name , mock_value ):
309
+ def test_ssm_provider_get_cached (mock_name , mock_value , config ):
304
310
"""
305
311
Test SSMProvider.get() with a cached value
306
312
"""
307
313
308
314
# Create a new provider
309
- provider = parameters .SSMProvider (region = "us-east-1" )
315
+ provider = parameters .SSMProvider (config = config )
310
316
311
317
# Inject value in the internal store
312
318
provider .store [(mock_name , None )] = ExpirableValue (mock_value , datetime .now () + timedelta (seconds = 60 ))
@@ -324,13 +330,13 @@ def test_ssm_provider_get_cached(mock_name, mock_value):
324
330
stubber .deactivate ()
325
331
326
332
327
- def test_ssm_provider_get_expired (mock_name , mock_value , mock_version ):
333
+ def test_ssm_provider_get_expired (mock_name , mock_value , mock_version , config ):
328
334
"""
329
335
Test SSMProvider.get() with a cached but expired value
330
336
"""
331
337
332
338
# Create a new provider
333
- provider = parameters .SSMProvider (region = "us-east-1" )
339
+ provider = parameters .SSMProvider (config = config )
334
340
335
341
# Inject value in the internal store
336
342
provider .store [(mock_name , None )] = ExpirableValue (mock_value , datetime .now () - timedelta (seconds = 60 ))
@@ -362,15 +368,15 @@ def test_ssm_provider_get_expired(mock_name, mock_value, mock_version):
362
368
stubber .deactivate ()
363
369
364
370
365
- def test_ssm_provider_get_multiple (mock_name , mock_value , mock_version ):
371
+ def test_ssm_provider_get_multiple (mock_name , mock_value , mock_version , config ):
366
372
"""
367
373
Test SSMProvider.get_multiple() with a non-cached path
368
374
"""
369
375
370
376
mock_param_names = ["A" , "B" , "C" ]
371
377
372
378
# Create a new provider
373
- provider = parameters .SSMProvider (region = "us-east-1" )
379
+ provider = parameters .SSMProvider (config = config )
374
380
375
381
# Stub the boto3 client
376
382
stubber = stub .Stubber (provider .client )
@@ -406,15 +412,15 @@ def test_ssm_provider_get_multiple(mock_name, mock_value, mock_version):
406
412
stubber .deactivate ()
407
413
408
414
409
- def test_ssm_provider_get_multiple_different_path (mock_name , mock_value , mock_version ):
415
+ def test_ssm_provider_get_multiple_different_path (mock_name , mock_value , mock_version , config ):
410
416
"""
411
417
Test SSMProvider.get_multiple() with a non-cached path and names that don't start with the path
412
418
"""
413
419
414
420
mock_param_names = ["A" , "B" , "C" ]
415
421
416
422
# Create a new provider
417
- provider = parameters .SSMProvider (region = "us-east-1" )
423
+ provider = parameters .SSMProvider (config = config )
418
424
419
425
# Stub the boto3 client
420
426
stubber = stub .Stubber (provider .client )
@@ -450,15 +456,15 @@ def test_ssm_provider_get_multiple_different_path(mock_name, mock_value, mock_ve
450
456
stubber .deactivate ()
451
457
452
458
453
- def test_ssm_provider_get_multiple_next_token (mock_name , mock_value , mock_version ):
459
+ def test_ssm_provider_get_multiple_next_token (mock_name , mock_value , mock_version , config ):
454
460
"""
455
461
Test SSMProvider.get_multiple() with a non-cached path with multiple calls
456
462
"""
457
463
458
464
mock_param_names = ["A" , "B" , "C" ]
459
465
460
466
# Create a new provider
461
- provider = parameters .SSMProvider (region = "us-east-1" )
467
+ provider = parameters .SSMProvider (config = config )
462
468
463
469
# Stub the boto3 client
464
470
stubber = stub .Stubber (provider .client )
@@ -516,13 +522,13 @@ def test_ssm_provider_get_multiple_next_token(mock_name, mock_value, mock_versio
516
522
stubber .deactivate ()
517
523
518
524
519
- def test_secrets_provider_get (mock_name , mock_value ):
525
+ def test_secrets_provider_get (mock_name , mock_value , config ):
520
526
"""
521
527
Test SecretsProvider.get() with a non-cached value
522
528
"""
523
529
524
530
# Create a new provider
525
- provider = parameters .SecretsProvider (region = "us-east-1" )
531
+ provider = parameters .SecretsProvider (config = config )
526
532
527
533
# Stub the boto3 client
528
534
stubber = stub .Stubber (provider .client )
@@ -546,9 +552,9 @@ def test_secrets_provider_get(mock_name, mock_value):
546
552
stubber .deactivate ()
547
553
548
554
549
- def test_secrets_provider_get_default_region (monkeypatch , mock_name , mock_value ):
555
+ def test_secrets_provider_get_default_config (monkeypatch , mock_name , mock_value ):
550
556
"""
551
- Test SecretsProvider.get() without specifying a region
557
+ Test SecretsProvider.get() without specifying a config
552
558
"""
553
559
554
560
monkeypatch .setenv ("AWS_DEFAULT_REGION" , "us-east-1" )
@@ -578,13 +584,13 @@ def test_secrets_provider_get_default_region(monkeypatch, mock_name, mock_value)
578
584
stubber .deactivate ()
579
585
580
586
581
- def test_secrets_provider_get_cached (mock_name , mock_value ):
587
+ def test_secrets_provider_get_cached (mock_name , mock_value , config ):
582
588
"""
583
589
Test SecretsProvider.get() with a cached value
584
590
"""
585
591
586
592
# Create a new provider
587
- provider = parameters .SecretsProvider (region = "us-east-1" )
593
+ provider = parameters .SecretsProvider (config = config )
588
594
589
595
# Inject value in the internal store
590
596
provider .store [(mock_name , None )] = ExpirableValue (mock_value , datetime .now () + timedelta (seconds = 60 ))
@@ -602,13 +608,13 @@ def test_secrets_provider_get_cached(mock_name, mock_value):
602
608
stubber .deactivate ()
603
609
604
610
605
- def test_secrets_provider_get_expired (mock_name , mock_value ):
611
+ def test_secrets_provider_get_expired (mock_name , mock_value , config ):
606
612
"""
607
613
Test SecretsProvider.get() with a cached but expired value
608
614
"""
609
615
610
616
# Create a new provider
611
- provider = parameters .SecretsProvider (region = "us-east-1" )
617
+ provider = parameters .SecretsProvider (config = config )
612
618
613
619
# Inject value in the internal store
614
620
provider .store [(mock_name , None )] = ExpirableValue (mock_value , datetime .now () - timedelta (seconds = 60 ))
0 commit comments