mirror of
https://github.com/hashicorp/vault-action.git
synced 2025-11-07 15:16:56 +00:00
parent
65d7a12a80
commit
0010502df7
3 changed files with 2 additions and 19 deletions
|
|
@ -12,9 +12,6 @@ describe('e2e', () => {
|
||||||
expect(process.env.SUBSEQUENT_TEST_SECRET).toBe("SUBSEQUENT_TEST_SECRET");
|
expect(process.env.SUBSEQUENT_TEST_SECRET).toBe("SUBSEQUENT_TEST_SECRET");
|
||||||
expect(process.env.JSONSTRING).toBe('{"x":1,"y":"qux"}');
|
expect(process.env.JSONSTRING).toBe('{"x":1,"y":"qux"}');
|
||||||
expect(process.env.JSONSTRINGMULTILINE).toBe('{"x": 1, "y": "q\\nux"}');
|
expect(process.env.JSONSTRINGMULTILINE).toBe('{"x": 1, "y": "q\\nux"}');
|
||||||
|
expect(process.env.JSONDATA).toBe('{"x":1,"y":"qux"}');
|
||||||
let result = JSON.stringify('{"x":1,"y":"qux"}');
|
|
||||||
result = result.substring(1, result.length - 1);
|
|
||||||
expect(process.env.JSONDATA).toBe(result);
|
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
|
||||||
|
|
@ -223,10 +223,7 @@ describe('exportSecrets', () => {
|
||||||
it('JSON data secret retrieval', async () => {
|
it('JSON data secret retrieval', async () => {
|
||||||
const jsonData = {"x":1,"y":2};
|
const jsonData = {"x":1,"y":2};
|
||||||
|
|
||||||
// for secrets stored in Vault as pure JSON, we call stringify twice
|
let result = JSON.stringify(jsonData);
|
||||||
// and remove the surrounding quotes
|
|
||||||
let result = JSON.stringify(JSON.stringify(jsonData));
|
|
||||||
result = result.substring(1, result.length - 1);
|
|
||||||
|
|
||||||
mockInput('test key');
|
mockInput('test key');
|
||||||
mockVaultData({
|
mockVaultData({
|
||||||
|
|
|
||||||
|
|
@ -82,18 +82,7 @@ async function selectData(data, selector) {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (result.startsWith(`"`)) {
|
if (result.startsWith(`"`)) {
|
||||||
// Support multi-line secrets like JSON strings and ssh keys, see https://github.com/hashicorp/vault-action/pull/173
|
|
||||||
// Deserialize the value so that newlines and special characters are
|
|
||||||
// not escaped in our return value.
|
|
||||||
result = JSON.parse(result);
|
result = JSON.parse(result);
|
||||||
} else {
|
|
||||||
// Support secrets stored in Vault as pure JSON, see https://github.com/hashicorp/vault-action/issues/194
|
|
||||||
// Serialize the value so that any special characters in the data are
|
|
||||||
// properly escaped.
|
|
||||||
result = JSON.stringify(result);
|
|
||||||
// strip the surrounding quotes added by stringify because the data did
|
|
||||||
// not have them in the first place
|
|
||||||
result = result.substring(1, result.length - 1);
|
|
||||||
}
|
}
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue