1
1
import { afterEach , describe , expect , test as it , vi } from "vitest" ;
2
2
3
3
import { getArrayForCommaSeparatedString } from "../utils/getArrayForCommaSeparatedString" ;
4
+ import { getBearerTokenEnvKey } from "../utils/getBearerTokenEnvKey" ;
4
5
import { NODE_AUTH_SCHEME_PREFERENCE_OPTIONS } from "./NODE_AUTH_SCHEME_PREFERENCE_OPTIONS" ;
5
6
6
7
vi . mock ( "../utils/getArrayForCommaSeparatedString" ) ;
8
+ vi . mock ( "../utils/getBearerTokenEnvKey" ) ;
7
9
8
10
describe ( "NODE_AUTH_SCHEME_PREFERENCE_OPTIONS" , ( ) => {
9
11
const mockInput = "a,b,c" ;
10
12
const mockOutput = [ "a" , "b" , "c" ] ;
13
+ const mockBearerTokenEnvKey = "AWS_BEARER_TOKEN_SERVICE_NAME" ;
11
14
12
15
vi . mocked ( getArrayForCommaSeparatedString ) . mockReturnValue ( mockOutput ) ;
16
+ vi . mocked ( getBearerTokenEnvKey ) . mockReturnValue ( mockBearerTokenEnvKey ) ;
13
17
14
18
afterEach ( ( ) => {
15
19
vi . clearAllMocks ( ) ;
@@ -19,18 +23,42 @@ describe("NODE_AUTH_SCHEME_PREFERENCE_OPTIONS", () => {
19
23
it ( "returns undefined if no value is provided" , ( ) => {
20
24
expect ( func ( { } ) ) . toEqual ( undefined ) ;
21
25
expect ( getArrayForCommaSeparatedString ) . not . toBeCalled ( ) ;
26
+ expect ( getBearerTokenEnvKey ) . not . toBeCalled ( ) ;
22
27
} ) ;
23
28
24
29
it ( "returns list if value is defined" , ( ) => {
25
30
expect ( func ( { [ key ] : mockInput } ) ) . toEqual ( mockOutput ) ;
26
31
expect ( getArrayForCommaSeparatedString ) . toHaveBeenCalledTimes ( 1 ) ;
27
32
expect ( getArrayForCommaSeparatedString ) . toBeCalledWith ( mockInput ) ;
33
+ expect ( getBearerTokenEnvKey ) . not . toBeCalled ( ) ;
28
34
} ) ;
29
35
} ;
30
36
31
37
describe ( "environmentVariableSelector" , ( ) => {
32
38
const { environmentVariableSelector } = NODE_AUTH_SCHEME_PREFERENCE_OPTIONS ;
33
39
test ( environmentVariableSelector , "AWS_AUTH_SCHEME_PREFERENCE" ) ;
40
+
41
+ describe ( "if signingName is defined" , ( ) => {
42
+ const env = { AWS_AUTH_SCHEME_PREFERENCE : mockInput } ;
43
+ const options = { signingName : "Signing Name" } ;
44
+
45
+ afterEach ( ( ) => {
46
+ expect ( getBearerTokenEnvKey ) . toHaveBeenCalledTimes ( 1 ) ;
47
+ expect ( getBearerTokenEnvKey ) . toBeCalledWith ( options . signingName ) ;
48
+ } ) ;
49
+
50
+ it ( `ignores if mockBearerTokenEnvKey is not set` , ( ) => {
51
+ expect ( environmentVariableSelector ( env , options ) ) . toEqual ( mockOutput ) ;
52
+ expect ( getArrayForCommaSeparatedString ) . toHaveBeenCalledTimes ( 1 ) ;
53
+ expect ( getArrayForCommaSeparatedString ) . toBeCalledWith ( mockInput ) ;
54
+ } ) ;
55
+
56
+ it ( "returns ['httpBearerAuth'] if mockBearerTokenEnvKey is set" , ( ) => {
57
+ const envWithToken = { ...env , [ mockBearerTokenEnvKey ] : "token" } ;
58
+ expect ( environmentVariableSelector ( envWithToken , options ) ) . toEqual ( [ "httpBearerAuth" ] ) ;
59
+ expect ( getArrayForCommaSeparatedString ) . not . toHaveBeenCalled ( ) ;
60
+ } ) ;
61
+ } ) ;
34
62
} ) ;
35
63
36
64
describe ( "configFileSelector" , ( ) => {
0 commit comments