mirror of
https://github.com/hashicorp/vault-action.git
synced 2025-11-07 07:06:56 +00:00
Write a better error message when secret not found (follow-up) (#306)
* Write a better error message when key not found * Address additional comments on #182 Co-authored-by: Simon Johansson <simon@simonjohansson.com>
This commit is contained in:
parent
4aed62f922
commit
40fb8d7236
2 changed files with 19 additions and 3 deletions
|
|
@ -123,6 +123,14 @@ describe('integration', () => {
|
||||||
.mockReturnValueOnce(secrets);
|
.mockReturnValueOnce(secrets);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
it('prints a nice error message when secret not found', async () => {
|
||||||
|
mockInput(`secret/data/test secret ;
|
||||||
|
secret/data/test secret | NAMED_SECRET ;
|
||||||
|
secret/data/notFound kehe | NO_SIR ;`);
|
||||||
|
|
||||||
|
expect(exportSecrets()).rejects.toEqual(Error(`Unable to retrieve result for "secret/data/notFound" because it was not found: {"errors":[]}`));
|
||||||
|
})
|
||||||
|
|
||||||
it('get simple secret', async () => {
|
it('get simple secret', async () => {
|
||||||
mockInput('secret/data/test secret');
|
mockInput('secret/data/test secret');
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -34,9 +34,17 @@ async function getSecrets(secretRequests, client) {
|
||||||
body = responseCache.get(requestPath);
|
body = responseCache.get(requestPath);
|
||||||
cachedResponse = true;
|
cachedResponse = true;
|
||||||
} else {
|
} else {
|
||||||
const result = await client.get(requestPath);
|
try {
|
||||||
body = result.body;
|
const result = await client.get(requestPath);
|
||||||
responseCache.set(requestPath, body);
|
body = result.body;
|
||||||
|
responseCache.set(requestPath, body);
|
||||||
|
} catch (error) {
|
||||||
|
const {response} = error;
|
||||||
|
if (response.statusCode === 404) {
|
||||||
|
throw Error(`Unable to retrieve result for "${path}" because it was not found: ${response.body.trim()}`)
|
||||||
|
}
|
||||||
|
throw error
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if (!selector.match(/.*[\.].*/)) {
|
if (!selector.match(/.*[\.].*/)) {
|
||||||
selector = '"' + selector + '"'
|
selector = '"' + selector + '"'
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue