@@ -15,13 +15,20 @@ describe('AzureKeyVaultBackend', () => {
15
15
const secret = 'fakeSecretPropertyValue'
16
16
const key = 'password'
17
17
const keyVaultName = 'vault_name'
18
- const quotedSecretValue = '"' + secret + '"'
18
+ const quotedSecretValueAsBase64 = Buffer . from ( secret ) . toString ( 'base64' )
19
+
20
+ const azureSecret = {
21
+ properties : { } ,
22
+ value : secret ,
23
+ name : key
24
+ }
19
25
20
26
beforeEach ( ( ) => {
21
27
credentialMock = sinon . mock ( )
22
28
loggerMock = sinon . mock ( )
23
29
credentialFactoryMock = sinon . fake . returns ( credentialMock )
24
30
clientMock = sinon . mock ( )
31
+ clientMock . getSecret = sinon . stub ( ) . returns ( azureSecret )
25
32
loggerMock . info = sinon . stub ( )
26
33
27
34
azureKeyVaultBackend = new AzureKeyVaultBackend ( {
@@ -32,18 +39,38 @@ describe('AzureKeyVaultBackend', () => {
32
39
} )
33
40
34
41
describe ( '_get' , ( ) => {
35
- beforeEach ( ( ) => {
36
- clientMock . getSecret = sinon . stub ( ) . returns ( secret )
37
- } )
38
-
39
42
it ( 'returns secret property value' , async ( ) => {
40
43
const secretPropertyValue = await azureKeyVaultBackend . _get ( {
41
44
key : key ,
42
45
specOptions : {
43
46
keyVaultName : keyVaultName
44
47
}
45
48
} )
46
- expect ( secretPropertyValue ) . equals ( quotedSecretValue )
49
+ expect ( secretPropertyValue ) . equals ( secret )
50
+ } )
51
+ } )
52
+
53
+ describe ( 'getSecretManifestData' , ( ) => {
54
+ it ( 'returns secret property value' , async ( ) => {
55
+ const returnedData = await azureKeyVaultBackend . getSecretManifestData ( {
56
+ spec : {
57
+ backendType : 'vault' ,
58
+ keyVaultName : keyVaultName ,
59
+ data : [ {
60
+ key : key ,
61
+ name : 'name-in-k8s'
62
+ } ]
63
+ }
64
+ } )
65
+
66
+ // First, we get the client...
67
+ sinon . assert . calledWith ( azureKeyVaultBackend . _keyvaultClient , { keyVaultName } )
68
+
69
+ // ... then we fetch the secret ...
70
+ sinon . assert . calledWith ( clientMock . getSecret , key )
71
+
72
+ // ... and expect to get the full proper value
73
+ expect ( returnedData [ 'name-in-k8s' ] ) . equals ( quotedSecretValueAsBase64 )
47
74
} )
48
75
} )
49
76
} )
0 commit comments