1
+ /**
2
+ * Test getParameters function
3
+ *
4
+ * @group unit/parameters/SSMProvider/getParameters/function
5
+ */
6
+ import { DEFAULT_PROVIDERS } from '../../src/BaseProvider' ;
7
+ import { SSMProvider , getParameters } from '../../src/SSMProvider' ;
8
+ import { SSMClient , GetParametersByPathCommand } from '@aws-sdk/client-ssm' ;
9
+ import { mockClient } from 'aws-sdk-client-mock' ;
10
+ import 'aws-sdk-client-mock-jest' ;
11
+
12
+ describe ( 'Function: getParameters' , ( ) => {
13
+
14
+ beforeEach ( ( ) => {
15
+ jest . clearAllMocks ( ) ;
16
+ } ) ;
17
+
18
+ test ( 'when called and a default provider doesn\'t exist, it instantiates one and returns the value' , async ( ) => {
19
+
20
+ // Prepare
21
+ const parameterPath = '/foo' ;
22
+ const parameterValue = 'bar' ;
23
+ const client = mockClient ( SSMClient ) . on ( GetParametersByPathCommand ) . resolves ( {
24
+ Parameters : [ {
25
+ Name : '/foo/bar' ,
26
+ Value : parameterValue ,
27
+ } ] ,
28
+ } ) ;
29
+
30
+ // Act
31
+ const parameters = await getParameters ( parameterPath ) ;
32
+
33
+ // Assess
34
+ expect ( client ) . toReceiveCommandWith ( GetParametersByPathCommand , {
35
+ Path : parameterPath ,
36
+ } ) ;
37
+ expect ( parameters ) . toEqual ( {
38
+ bar : parameterValue ,
39
+ } ) ;
40
+
41
+ } ) ;
42
+
43
+ test ( 'when called and a default provider exists, it uses it and returns the value' , async ( ) => {
44
+
45
+ // Prepare
46
+ const provider = new SSMProvider ( ) ;
47
+ DEFAULT_PROVIDERS . ssm = provider ;
48
+ const parameterPath = '/foo' ;
49
+ const parameterValue = 'bar' ;
50
+ const client = mockClient ( SSMClient ) . on ( GetParametersByPathCommand ) . resolves ( {
51
+ Parameters : [ {
52
+ Name : '/foo/bar' ,
53
+ Value : parameterValue ,
54
+ } ] ,
55
+ } ) ;
56
+
57
+ // Act
58
+ const parameters = await getParameters ( parameterPath ) ;
59
+
60
+ // Assess
61
+ expect ( client ) . toReceiveCommandWith ( GetParametersByPathCommand , {
62
+ Path : parameterPath ,
63
+ } ) ;
64
+ expect ( parameters ) . toEqual ( {
65
+ 'bar' : parameterValue ,
66
+ } ) ;
67
+ expect ( DEFAULT_PROVIDERS . ssm ) . toBe ( provider ) ;
68
+
69
+ } ) ;
70
+
71
+ } ) ;
0 commit comments