5
0
Fork 0
mirror of https://github.com/hashicorp/vault-action.git synced 2025-11-09 08:06:55 +00:00

add test case for special chars

This commit is contained in:
JM Faircloth 2023-06-08 08:56:22 -05:00
parent dc4f72debb
commit 83200f4fb1
4 changed files with 36 additions and 0 deletions

View file

@ -153,6 +153,16 @@ jobs:
my-secret/test altSecret | NAMED_ALTSECRET ; my-secret/test altSecret | NAMED_ALTSECRET ;
my-secret/nested/test otherAltSecret ; my-secret/nested/test otherAltSecret ;
- name: Test Vault Action (default KV V2)
uses: ./
id: kv-secrets
with:
url: http://localhost:8200
token: testtoken
secrets: |
secret/data/specialchars secret ;
secret/data/specialchars secret | SPECIAL_CHARS_SECRET ;
- name: Test Vault Action (cubbyhole) - name: Test Vault Action (cubbyhole)
uses: ./ uses: ./
with: with:

View file

@ -1,6 +1,7 @@
describe('e2e', () => { describe('e2e', () => {
it('verify', () => { it('verify', () => {
expect(process.env.SECRET).toBe("SUPERSECRET"); expect(process.env.SECRET).toBe("SUPERSECRET");
expect(process.env.SPECIAL_CHARS_SECRET).toBe("abc$xyz");
expect(process.env.NAMED_SECRET).toBe("SUPERSECRET"); expect(process.env.NAMED_SECRET).toBe("SUPERSECRET");
expect(process.env.OTHERSECRET).toBe("OTHERSUPERSECRET"); expect(process.env.OTHERSECRET).toBe("OTHERSUPERSECRET");
expect(process.env.OTHER_SECRET_OUTPUT).toBe("OTHERSUPERSECRET"); expect(process.env.OTHER_SECRET_OUTPUT).toBe("OTHERSUPERSECRET");

View file

@ -24,6 +24,18 @@ const vaultToken = `${process.env.VAULT_TOKEN}` === undefined ? `${process.env.V
}, },
}); });
await got(`http://${vaultUrl}/v1/secret/data/specialchars`, {
method: 'POST',
headers: {
'X-Vault-Token': vaultToken,
},
json: {
data: {
secret: 'abc$xyz',
},
},
});
await got(`http://${vaultUrl}/v1/secret/data/nested/test`, { await got(`http://${vaultUrl}/v1/secret/data/nested/test`, {
method: 'POST', method: 'POST',
headers: { headers: {

View file

@ -207,6 +207,19 @@ describe('exportSecrets', () => {
expect(core.setOutput).toBeCalledWith('key', '1'); expect(core.setOutput).toBeCalledWith('key', '1');
}); });
it('special chars secret retrieval', async () => {
const secret = 'abc$xyz';
mockInput('test key');
mockVaultData({
key: secret
});
await exportSecrets();
expect(core.exportVariable).toBeCalledWith('KEY', secret);
expect(core.setOutput).toBeCalledWith('key', secret);
});
it('encoded secret retrieval', async () => { it('encoded secret retrieval', async () => {
mockInput('test key'); mockInput('test key');
mockVaultData({ mockVaultData({