From 43c1f247398be8bcd857830ee9f336119d9ac3c2 Mon Sep 17 00:00:00 2001 From: Jill Regan Date: Fri, 20 Feb 2026 17:00:26 -0500 Subject: [PATCH] Add more e2e tests --- .github/workflows/e2e-tests.yml | 36 +++++++++++++++++++++++++++++++++ tests/assert-env-set.sh | 10 ++++++++- tests/assert-env-unset.sh | 4 ++++ 3 files changed, 49 insertions(+), 1 deletion(-) diff --git a/.github/workflows/e2e-tests.yml b/.github/workflows/e2e-tests.yml index b847a0d..6a6df27 100644 --- a/.github/workflows/e2e-tests.yml +++ b/.github/workflows/e2e-tests.yml @@ -63,6 +63,9 @@ jobs: echo "FILE_SECRET=op://${{ secrets.VAULT }}/test-secret/password" > tests/.env.tpl echo "FILE_SECRET_IN_SECTION=op://${{ secrets.VAULT }}/test-secret/test-section/password" >> tests/.env.tpl echo "FILE_MULTILINE_SECRET=op://${{ secrets.VAULT }}/multiline-secret/notesPlain" >> tests/.env.tpl + echo "SECRET_WITH_FILE=op://${{ secrets.VAULT }}/file-secret/test.txt" >> tests/.env.tpl + echo "SECRET_WITH_FILE_IN_SECTION=op://${{ secrets.VAULT }}/file-secret/file section/test.txt" >> tests/.env.tpl + echo "DOUBLE_SECTION_SECRET=op://${{ secrets.VAULT }}/double-section-secret/test-section/password" >> tests/.env.tpl - name: Generate .vaultId_env.tpl shell: bash @@ -70,6 +73,9 @@ jobs: echo "FILE_SECRET=op://${{ secrets.VAULT_ID }}/test-secret/password" > tests/.vaultId_env.tpl echo "FILE_SECRET_IN_SECTION=op://${{ secrets.VAULT_ID }}/test-secret/test-section/password" >> tests/.vaultId_env.tpl echo "FILE_MULTILINE_SECRET=op://${{ secrets.VAULT_ID }}/multiline-secret/notesPlain" >> tests/.vaultId_env.tpl + echo "SECRET_WITH_FILE=op://${{ secrets.VAULT_ID }}/file-secret/test.txt" >> tests/.vaultId_env.tpl + echo "SECRET_WITH_FILE_IN_SECTION=op://${{ secrets.VAULT_ID }}/file-secret/file section/test.txt" >> tests/.vaultId_env.tpl + echo "DOUBLE_SECTION_SECRET=op://${{ secrets.VAULT_ID }}/double-section-secret/test-section/password" >> tests/.vaultId_env.tpl - name: Configure Service account uses: ./configure @@ -86,6 +92,9 @@ jobs: SECRET: op://${{ secrets.VAULT }}/test-secret/password SECRET_IN_SECTION: op://${{ secrets.VAULT }}/test-secret/test-section/password MULTILINE_SECRET: op://${{ secrets.VAULT }}/multiline-secret/notesPlain + SECRET_WITH_FILE: op://${{ secrets.VAULT }}/file-secret/test.txt + SECRET_WITH_FILE_IN_SECTION: op://${{ secrets.VAULT }}/file-secret/file section/test.txt + DOUBLE_SECTION_SECRET: op://${{ secrets.VAULT }}/double-section-secret/test-section/password OP_ENV_FILE: ./tests/.env.tpl - name: Assert test secret values [step output] @@ -98,6 +107,9 @@ jobs: FILE_SECRET: ${{ steps.load_secrets.outputs.FILE_SECRET }} FILE_SECRET_IN_SECTION: ${{ steps.load_secrets.outputs.FILE_SECRET_IN_SECTION }} FILE_MULTILINE_SECRET: ${{ steps.load_secrets.outputs.FILE_MULTILINE_SECRET }} + SECRET_WITH_FILE: ${{ steps.load_secrets.outputs.SECRET_WITH_FILE }} + SECRET_WITH_FILE_IN_SECTION: ${{ steps.load_secrets.outputs.SECRET_WITH_FILE_IN_SECTION }} + DOUBLE_SECTION_SECRET: ${{ steps.load_secrets.outputs.DOUBLE_SECTION_SECRET }} run: ./tests/assert-env-set.sh - name: Assert test secret values [exported env] @@ -141,6 +153,9 @@ jobs: SECRET: op://${{ secrets.VAULT_ID }}/test-secret/password SECRET_IN_SECTION: op://${{ secrets.VAULT_ID }}/test-secret/test-section/password MULTILINE_SECRET: op://${{ secrets.VAULT_ID }}/multiline-secret/notesPlain + SECRET_WITH_FILE: op://${{ secrets.VAULT_ID }}/file-secret/test.txt + SECRET_WITH_FILE_IN_SECTION: op://${{ secrets.VAULT_ID }}/file-secret/file section/test.txt + DOUBLE_SECTION_SECRET: op://${{ secrets.VAULT_ID }}/double-section-secret/test-section/password OP_ENV_FILE: ./tests/.vaultId_env.tpl - name: Assert test secret values [vault by ID] @@ -153,6 +168,9 @@ jobs: FILE_SECRET: ${{ steps.load_secrets_by_vault_id.outputs.FILE_SECRET }} FILE_SECRET_IN_SECTION: ${{ steps.load_secrets_by_vault_id.outputs.FILE_SECRET_IN_SECTION }} FILE_MULTILINE_SECRET: ${{ steps.load_secrets_by_vault_id.outputs.FILE_MULTILINE_SECRET }} + SECRET_WITH_FILE: ${{ steps.load_secrets_by_vault_id.outputs.SECRET_WITH_FILE }} + SECRET_WITH_FILE_IN_SECTION: ${{ steps.load_secrets_by_vault_id.outputs.SECRET_WITH_FILE_IN_SECTION }} + DOUBLE_SECTION_SECRET: ${{ steps.load_secrets_by_vault_id.outputs.DOUBLE_SECTION_SECRET }} run: ./tests/assert-env-set.sh test-connect: @@ -189,12 +207,18 @@ jobs: echo "FILE_SECRET=op://${{ secrets.VAULT }}/test-secret/password" > tests/.env.tpl echo "FILE_SECRET_IN_SECTION=op://${{ secrets.VAULT }}/test-secret/test-section/password" >> tests/.env.tpl echo "FILE_MULTILINE_SECRET=op://${{ secrets.VAULT }}/multiline-secret/notesPlain" >> tests/.env.tpl + echo "SECRET_WITH_FILE=op://${{ secrets.VAULT }}/file-secret/test.txt" >> tests/.env.tpl + echo "SECRET_WITH_FILE_IN_SECTION=op://${{ secrets.VAULT }}/file-secret/file section/test.txt" >> tests/.env.tpl + echo "DOUBLE_SECTION_SECRET=op://${{ secrets.VAULT }}/double-section-secret/test-section/password" >> tests/.env.tpl - name: Generate .vaultId_env.tpl run: | echo "FILE_SECRET=op://${{ secrets.VAULT_ID }}/test-secret/password" > tests/.vaultId_env.tpl echo "FILE_SECRET_IN_SECTION=op://${{ secrets.VAULT_ID }}/test-secret/test-section/password" >> tests/.vaultId_env.tpl echo "FILE_MULTILINE_SECRET=op://${{ secrets.VAULT_ID }}/multiline-secret/notesPlain" >> tests/.vaultId_env.tpl + echo "SECRET_WITH_FILE=op://${{ secrets.VAULT_ID }}/file-secret/test.txt" >> tests/.vaultId_env.tpl + echo "SECRET_WITH_FILE_IN_SECTION=op://${{ secrets.VAULT_ID }}/file-secret/file section/test.txt" >> tests/.vaultId_env.tpl + echo "DOUBLE_SECTION_SECRET=op://${{ secrets.VAULT_ID }}/double-section-secret/test-section/password" >> tests/.vaultId_env.tpl - name: Launch 1Password Connect instance env: @@ -219,6 +243,9 @@ jobs: SECRET: op://${{ secrets.VAULT }}/test-secret/password SECRET_IN_SECTION: op://${{ secrets.VAULT }}/test-secret/test-section/password MULTILINE_SECRET: op://${{ secrets.VAULT }}/multiline-secret/notesPlain + SECRET_WITH_FILE: op://${{ secrets.VAULT }}/file-secret/test.txt + SECRET_WITH_FILE_IN_SECTION: op://${{ secrets.VAULT }}/file-secret/file section/test.txt + DOUBLE_SECTION_SECRET: op://${{ secrets.VAULT }}/double-section-secret/test-section/password OP_ENV_FILE: ./tests/.env.tpl - name: Assert test secret values [step output] @@ -230,6 +257,9 @@ jobs: FILE_SECRET: ${{ steps.load_secrets.outputs.FILE_SECRET }} FILE_SECRET_IN_SECTION: ${{ steps.load_secrets.outputs.FILE_SECRET_IN_SECTION }} FILE_MULTILINE_SECRET: ${{ steps.load_secrets.outputs.FILE_MULTILINE_SECRET }} + SECRET_WITH_FILE: ${{ steps.load_secrets.outputs.SECRET_WITH_FILE }} + SECRET_WITH_FILE_IN_SECTION: ${{ steps.load_secrets.outputs.SECRET_WITH_FILE_IN_SECTION }} + DOUBLE_SECTION_SECRET: ${{ steps.load_secrets.outputs.DOUBLE_SECTION_SECRET }} run: ./tests/assert-env-set.sh - name: Assert test secret values [exported env] @@ -271,6 +301,9 @@ jobs: SECRET: op://${{ secrets.VAULT_ID }}/test-secret/password SECRET_IN_SECTION: op://${{ secrets.VAULT_ID }}/test-secret/test-section/password MULTILINE_SECRET: op://${{ secrets.VAULT_ID }}/multiline-secret/notesPlain + SECRET_WITH_FILE: op://${{ secrets.VAULT_ID }}/file-secret/test.txt + SECRET_WITH_FILE_IN_SECTION: op://${{ secrets.VAULT_ID }}/file-secret/file section/test.txt + DOUBLE_SECTION_SECRET: op://${{ secrets.VAULT_ID }}/double-section-secret/test-section/password OP_ENV_FILE: ./tests/.vaultId_env.tpl - name: Assert test secret values [vault by ID] @@ -283,4 +316,7 @@ jobs: FILE_SECRET: ${{ steps.load_secrets_by_vault_id.outputs.FILE_SECRET }} FILE_SECRET_IN_SECTION: ${{ steps.load_secrets_by_vault_id.outputs.FILE_SECRET_IN_SECTION }} FILE_MULTILINE_SECRET: ${{ steps.load_secrets_by_vault_id.outputs.FILE_MULTILINE_SECRET }} + SECRET_WITH_FILE: ${{ steps.load_secrets_by_vault_id.outputs.SECRET_WITH_FILE }} + SECRET_WITH_FILE_IN_SECTION: ${{ steps.load_secrets_by_vault_id.outputs.SECRET_WITH_FILE_IN_SECTION }} + DOUBLE_SECTION_SECRET: ${{ steps.load_secrets_by_vault_id.outputs.DOUBLE_SECTION_SECRET }} run: ./tests/assert-env-set.sh diff --git a/tests/assert-env-set.sh b/tests/assert-env-set.sh index 7f98855..a782fcc 100755 --- a/tests/assert-env-set.sh +++ b/tests/assert-env-set.sh @@ -10,6 +10,9 @@ assert_env_equals() { } readonly SECRET="RGVhciBzZWN1cml0eSByZXNlYXJjaGVyLCB0aGlzIGlzIGp1c3QgYSBkdW1teSBzZWNyZXQuIFBsZWFzZSBkb24ndCByZXBvcnQgaXQu" +readonly FILE_SECRET_CONTENT="This is a test" +readonly DOUBLE_SECTION_SECRET_CONTENT="test-password" + MULTILINE_SECRET="$(cat << EOF -----BEGIN PRIVATE KEY----- RGVhciBzZWN1cml0eSByZXNlYXJjaGVyLApXaGls @@ -34,4 +37,9 @@ assert_env_equals "SECRET_IN_SECTION" "${SECRET}" assert_env_equals "FILE_SECRET_IN_SECTION" "${SECRET}" assert_env_equals "MULTILINE_SECRET" "${MULTILINE_SECRET}" -assert_env_equals "FILE_MULTILINE_SECRET" "${MULTILINE_SECRET}" \ No newline at end of file +assert_env_equals "FILE_MULTILINE_SECRET" "${MULTILINE_SECRET}" + +assert_env_equals "SECRET_WITH_FILE" "${FILE_SECRET_CONTENT}" +assert_env_equals "SECRET_WITH_FILE_IN_SECTION" "${FILE_SECRET_CONTENT}" + +assert_env_equals "DOUBLE_SECTION_SECRET" "${DOUBLE_SECTION_SECRET_CONTENT}" diff --git a/tests/assert-env-unset.sh b/tests/assert-env-unset.sh index 0565d14..e66245c 100755 --- a/tests/assert-env-unset.sh +++ b/tests/assert-env-unset.sh @@ -17,3 +17,7 @@ assert_env_unset "FILE_SECRET_IN_SECTION" assert_env_unset "MULTILINE_SECRET" assert_env_unset "FILE_MULTILINE_SECRET" + +assert_env_unset "SECRET_WITH_FILE" +assert_env_unset "SECRET_WITH_FILE_IN_SECTION" +assert_env_unset "DOUBLE_SECTION_SECRET"