@@ -21,6 +21,10 @@ describe(remoteProvider.name, () => {
21
21
accessKeyId : "mockInstanceMetadataAccessKeyId" ,
22
22
secretAccessKey : "mockInstanceMetadataSecretAccessKey" ,
23
23
} ;
24
+ const mockFromHttp = jest . fn ( ) . mockReturnValue ( async ( ) => mockCredsFromContainer ) ;
25
+
26
+ const sampleFullUri = "http://localhost" ;
27
+ const sampleRelativeUri = "/" ;
24
28
25
29
beforeEach ( ( ) => {
26
30
process . env = {
@@ -29,6 +33,10 @@ describe(remoteProvider.name, () => {
29
33
[ ENV_CMDS_FULL_URI ] : undefined ,
30
34
[ ENV_IMDS_DISABLED ] : undefined ,
31
35
} ;
36
+
37
+ jest . mock ( "@aws-sdk/credential-provider-http" , ( ) => ( {
38
+ fromHttp : mockFromHttp ,
39
+ } ) ) ;
32
40
( fromContainerMetadata as jest . Mock ) . mockReturnValue ( async ( ) => mockCredsFromContainer ) ;
33
41
( fromInstanceMetadata as jest . Mock ) . mockReturnValue ( async ( ) => mockSourceCredsFromInstanceMetadata ) ;
34
42
} ) ;
@@ -38,16 +46,23 @@ describe(remoteProvider.name, () => {
38
46
jest . clearAllMocks ( ) ;
39
47
} ) ;
40
48
41
- it . each ( [ ENV_CMDS_RELATIVE_URI , ENV_CMDS_FULL_URI ] ) (
42
- "returns fromContainerMetadata if env['%s'] is set" ,
43
- async ( key ) => {
44
- process . env [ key ] = "defined" ;
45
- const receivedCreds = await ( await remoteProvider ( mockInit ) ) ( ) ;
46
- expect ( receivedCreds ) . toStrictEqual ( mockCredsFromContainer ) ;
47
- expect ( fromContainerMetadata ) . toHaveBeenCalledWith ( mockInit ) ;
48
- expect ( fromInstanceMetadata ) . not . toHaveBeenCalled ( ) ;
49
- }
50
- ) ;
49
+ it ( `returns fromContainerMetadata if env[${ ENV_CMDS_RELATIVE_URI } ] is set` , async ( ) => {
50
+ process . env [ ENV_CMDS_RELATIVE_URI ] = sampleRelativeUri ;
51
+ const receivedCreds = await ( await remoteProvider ( mockInit ) ) ( ) ;
52
+ expect ( receivedCreds ) . toStrictEqual ( mockCredsFromContainer ) ;
53
+ expect ( mockFromHttp ) . toHaveBeenCalledWith ( mockInit ) ;
54
+ expect ( fromContainerMetadata ) . toHaveBeenCalledWith ( mockInit ) ;
55
+ expect ( fromInstanceMetadata ) . not . toHaveBeenCalled ( ) ;
56
+ } ) ;
57
+
58
+ it ( `returns fromContainerMetadata if env[${ ENV_CMDS_FULL_URI } ] is set` , async ( ) => {
59
+ process . env [ ENV_CMDS_FULL_URI ] = sampleFullUri ;
60
+ const receivedCreds = await ( await remoteProvider ( mockInit ) ) ( ) ;
61
+ expect ( receivedCreds ) . toStrictEqual ( mockCredsFromContainer ) ;
62
+ expect ( mockFromHttp ) . toHaveBeenCalledWith ( mockInit ) ;
63
+ expect ( fromContainerMetadata ) . toHaveBeenCalledWith ( mockInit ) ;
64
+ expect ( fromInstanceMetadata ) . not . toHaveBeenCalled ( ) ;
65
+ } ) ;
51
66
52
67
it ( `throws if env['${ ENV_IMDS_DISABLED } '] is set` , async ( ) => {
53
68
process . env [ ENV_IMDS_DISABLED ] = "1" ;
@@ -60,6 +75,7 @@ describe(remoteProvider.name, () => {
60
75
} catch ( error ) {
61
76
expect ( error ) . toStrictEqual ( expectedError ) ;
62
77
}
78
+ expect ( mockFromHttp ) . not . toHaveBeenCalled ( ) ;
63
79
expect ( fromContainerMetadata ) . not . toHaveBeenCalled ( ) ;
64
80
expect ( fromInstanceMetadata ) . not . toHaveBeenCalled ( ) ;
65
81
} ) ;
@@ -69,5 +85,6 @@ describe(remoteProvider.name, () => {
69
85
expect ( receivedCreds ) . toStrictEqual ( mockSourceCredsFromInstanceMetadata ) ;
70
86
expect ( fromInstanceMetadata ) . toHaveBeenCalledWith ( mockInit ) ;
71
87
expect ( fromContainerMetadata ) . not . toHaveBeenCalled ( ) ;
88
+ expect ( mockFromHttp ) . not . toHaveBeenCalled ( ) ;
72
89
} ) ;
73
90
} ) ;
0 commit comments