Skip to content

Commit d42614c

Browse files
committed
test: add integration test for get and create
1 parent a3c3e67 commit d42614c

File tree

4 files changed

+151
-0
lines changed

4 files changed

+151
-0
lines changed

.github/workflows/test.yml

Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
name: Test module
2+
3+
on:
4+
push:
5+
pull_request:
6+
7+
jobs:
8+
integration-test:
9+
environment: test
10+
runs-on: ubuntu-latest
11+
12+
steps:
13+
- name: Checkout code
14+
uses: actions/checkout@v4
15+
16+
- name: Set up Python
17+
uses: actions/setup-python@v4
18+
with:
19+
python-version: 3.x
20+
21+
- name: Install Python dependencies
22+
run: |
23+
pip install ansible
24+
pip install requests
25+
python -m pip install --upgrade pip
26+
pip list
27+
28+
# - name: Setup ansible environment
29+
# run: |
30+
# mkdir -p ~/.ansible/collections/ansible_collections/devolutions
31+
# ln -s ${GITHUB_WORKSPACE} ~/.ansible/collections/ansible_collections/devolutions/dvls
32+
33+
- name: Build
34+
id: build
35+
run: |
36+
OUTPUT=$(ansible-galaxy collection build)
37+
echo "$OUTPUT"
38+
COLLECTION_PATH=$(echo "$OUTPUT" | grep -o '/[^ ]*\.tar\.gz')
39+
echo "collection_path=$COLLECTION_PATH" >> $GITHUB_OUTPUT
40+
echo "Collection path: $COLLECTION_PATH"
41+
42+
- name: Install collection
43+
run: ansible-galaxy collection install ${{ steps.build.outputs.collection_path }} --force
44+
working-directory: tests/integration
45+
46+
- name: Run get-vaults
47+
if: always()
48+
run: ansible-playbook test_get_vault.yml
49+
working-directory: tests/integration
50+
env:
51+
DVLS_APP_KEY: ${{ secrets.DVLS_APP_KEY }}
52+
DVLS_APP_SECRET: ${{ secrets.DVLS_APP_SECRET }}
53+
DVLS_SERVER_BASE_URL: ${{ secrets.DVLS_SERVER_BASE_URL }}
54+
DVLS_VAULT_ID: ${{ secrets.DVLS_VAULT_ID }}
55+
56+
- name: Run get-secrets
57+
if: always()
58+
run: ansible-playbook test_get_secrets.yml
59+
working-directory: tests/integration
60+
env:
61+
DVLS_APP_KEY: ${{ secrets.DVLS_APP_KEY }}
62+
DVLS_APP_SECRET: ${{ secrets.DVLS_APP_SECRET }}
63+
DVLS_SERVER_BASE_URL: ${{ secrets.DVLS_SERVER_BASE_URL }}
64+
DVLS_VAULT_ID: ${{ secrets.DVLS_VAULT_ID }}

tests/integration/secrets.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
secrets:
2+
- secret_name: "secret"
3+
- secret_id: "711675e0-7c67-4767-a842-9f3e8756f5cd"
4+
- secret_name: "my_secret_2"
Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
---
2+
- name: Fetch DVLS
3+
hosts: localhost
4+
vars_files:
5+
- secrets.yml
6+
tasks:
7+
- name: Fetch all secrets
8+
devolutions.dvls.fetch_secrets:
9+
server_base_url: "{{ lookup('env', 'DVLS_SERVER_BASE_URL') }}"
10+
app_key: "{{ lookup('env', 'DVLS_APP_KEY') }}"
11+
app_secret: "{{ lookup('env', 'DVLS_APP_SECRET') }}"
12+
vault_id: "{{ lookup('env', 'DVLS_VAULT_ID') }}"
13+
14+
- name: Fetch secrets using file
15+
devolutions.dvls.fetch_secrets:
16+
server_base_url: "{{ lookup('env', 'DVLS_SERVER_BASE_URL') }}"
17+
app_key: "{{ lookup('env', 'DVLS_APP_KEY') }}"
18+
app_secret: "{{ lookup('env', 'DVLS_APP_SECRET') }}"
19+
vault_id: "{{ lookup('env', 'DVLS_VAULT_ID') }}"
20+
secrets: "{{ secrets }}"
21+
22+
- name: Get secret from ID
23+
devolutions.dvls.fetch_secrets:
24+
server_base_url: "{{ lookup('env', 'DVLS_SERVER_BASE_URL') }}"
25+
app_key: "{{ lookup('env', 'DVLS_APP_KEY') }}"
26+
app_secret: "{{ lookup('env', 'DVLS_APP_SECRET') }}"
27+
vault_id: "{{ lookup('env', 'DVLS_VAULT_ID') }}"
28+
secrets:
29+
- secret_id: d08fdfa0-6b9b-41a5-8ce0-642ca9c1c4f9
30+
31+
- name: Get secret from name
32+
devolutions.dvls.fetch_secrets:
33+
server_base_url: "{{ lookup('env', 'DVLS_SERVER_BASE_URL') }}"
34+
app_key: "{{ lookup('env', 'DVLS_APP_KEY') }}"
35+
app_secret: "{{ lookup('env', 'DVLS_APP_SECRET') }}"
36+
vault_id: "{{ lookup('env', 'DVLS_VAULT_ID') }}"
37+
secrets:
38+
- secret_name: AzureSP
39+
40+
- name: Get secret from Folder
41+
devolutions.dvls.fetch_secrets:
42+
server_base_url: "{{ lookup('env', 'DVLS_SERVER_BASE_URL') }}"
43+
app_key: "{{ lookup('env', 'DVLS_APP_KEY') }}"
44+
app_secret: "{{ lookup('env', 'DVLS_APP_SECRET') }}"
45+
vault_id: "{{ lookup('env', 'DVLS_VAULT_ID') }}"
46+
secrets:
47+
- secret_path: Folder
48+
49+
- name: Get secret from Tag
50+
devolutions.dvls.fetch_secrets:
51+
server_base_url: "{{ lookup('env', 'DVLS_SERVER_BASE_URL') }}"
52+
app_key: "{{ lookup('env', 'DVLS_APP_KEY') }}"
53+
app_secret: "{{ lookup('env', 'DVLS_APP_SECRET') }}"
54+
vault_id: "{{ lookup('env', 'DVLS_VAULT_ID') }}"
55+
secrets:
56+
- secret_tag: tag
57+
58+
- name: Get secret from Type
59+
devolutions.dvls.fetch_secrets:
60+
server_base_url: "{{ lookup('env', 'DVLS_SERVER_BASE_URL') }}"
61+
app_key: "{{ lookup('env', 'DVLS_APP_KEY') }}"
62+
app_secret: "{{ lookup('env', 'DVLS_APP_SECRET') }}"
63+
vault_id: "{{ lookup('env', 'DVLS_VAULT_ID') }}"
64+
secrets:
65+
- secret_type: Credential
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
---
2+
- name: Fetch DVLS
3+
hosts: localhost
4+
tasks:
5+
- name: Fetch dvls
6+
devolutions.dvls.fetch_server:
7+
server_base_url: "{{ lookup('env', 'DVLS_SERVER_BASE_URL') }}"
8+
app_key: "{{ lookup('env', 'DVLS_APP_KEY') }}"
9+
app_secret: "{{ lookup('env', 'DVLS_APP_SECRET') }}"
10+
register: server
11+
12+
- name: Fetch dvls
13+
debug:
14+
msg: "{{ server.accessURI }}"
15+
16+
- name: Fetch vaults
17+
debug:
18+
msg: "{{ server.vaults[1].id }}"

0 commit comments

Comments
 (0)