mirror of
https://github.com/ansible-collections/community.general.git
synced 2024-09-14 20:13:21 +02:00
Add discord integration tests (#4463)
* add discord integration tests * fix: var name in readme
This commit is contained in:
parent
fa65b9d1f0
commit
aa045d2655
4 changed files with 81 additions and 0 deletions
14
tests/integration/targets/discord/README.md
Normal file
14
tests/integration/targets/discord/README.md
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
The integration tests can be executed locally:
|
||||||
|
|
||||||
|
1. Create or use an existing discord server
|
||||||
|
2. Open `Server Settings` and navigate to `Integrations` tab
|
||||||
|
3. Click `Create Webhook` to create a new webhook
|
||||||
|
4. Click `Copy Webhook URL` and extract the webhook_id + webhook_token
|
||||||
|
|
||||||
|
Example: https://discord.com/api/webhooks/`webhook_id`/`webhook_token`
|
||||||
|
|
||||||
|
5. Replace the variables `discord_id` and `discord_token` in the var file
|
||||||
|
6. Run the integration test
|
||||||
|
````
|
||||||
|
ansible-test integration -v --color yes discord --allow-unsupported
|
||||||
|
````
|
1
tests/integration/targets/discord/aliases
Normal file
1
tests/integration/targets/discord/aliases
Normal file
|
@ -0,0 +1 @@
|
||||||
|
unsupported
|
2
tests/integration/targets/discord/defaults/main.yml
Normal file
2
tests/integration/targets/discord/defaults/main.yml
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
discord_id: 000
|
||||||
|
discord_token: xxx
|
64
tests/integration/targets/discord/tasks/main.yml
Normal file
64
tests/integration/targets/discord/tasks/main.yml
Normal file
|
@ -0,0 +1,64 @@
|
||||||
|
####################################################################
|
||||||
|
# WARNING: These are designed specifically for Ansible tests #
|
||||||
|
# and should not be used as examples of how to write Ansible roles #
|
||||||
|
####################################################################
|
||||||
|
|
||||||
|
- name: Send basic message
|
||||||
|
community.general.discord:
|
||||||
|
webhook_id: "{{ discord_id }}"
|
||||||
|
webhook_token: "{{ discord_token }}"
|
||||||
|
content: "Messages from ansible-test"
|
||||||
|
register: result
|
||||||
|
|
||||||
|
- name: Check result
|
||||||
|
assert:
|
||||||
|
that:
|
||||||
|
- result is changed
|
||||||
|
- result.http_code == 204
|
||||||
|
|
||||||
|
- name: Send embeds
|
||||||
|
community.general.discord:
|
||||||
|
webhook_id: "{{ discord_id }}"
|
||||||
|
webhook_token: "{{ discord_token }}"
|
||||||
|
embeds:
|
||||||
|
- title: "Title of embed message 1"
|
||||||
|
description: "Description embed message 1"
|
||||||
|
footer:
|
||||||
|
text: "author ansible-test"
|
||||||
|
image:
|
||||||
|
url: "https://avatars.githubusercontent.com/u/44586252?s=200&v=4"
|
||||||
|
- title: "Title of embed message 2"
|
||||||
|
description: "Description embed message 2"
|
||||||
|
footer:
|
||||||
|
text: "author ansible-test"
|
||||||
|
icon_url: "https://avatars.githubusercontent.com/u/44586252?s=200&v=4"
|
||||||
|
fields:
|
||||||
|
- name: "Field 1"
|
||||||
|
value: 1
|
||||||
|
- name: "Field 2"
|
||||||
|
value: "Text"
|
||||||
|
timestamp: "{{ ansible_date_time.iso8601 }}"
|
||||||
|
username: Ansible Test
|
||||||
|
avatar_url: "https://avatars.githubusercontent.com/u/44586252?s=200&v=4"
|
||||||
|
register: result
|
||||||
|
|
||||||
|
- name: Check result
|
||||||
|
assert:
|
||||||
|
that:
|
||||||
|
- result is changed
|
||||||
|
- result.http_code == 204
|
||||||
|
|
||||||
|
- name: Use a wrong token
|
||||||
|
community.general.discord:
|
||||||
|
webhook_id: "{{ discord_id }}"
|
||||||
|
webhook_token: "wrong_token"
|
||||||
|
content: "Messages from ansible-test"
|
||||||
|
register: result
|
||||||
|
ignore_errors: true
|
||||||
|
|
||||||
|
- name: Check result
|
||||||
|
assert:
|
||||||
|
that:
|
||||||
|
- result is not changed
|
||||||
|
- result.http_code == 401
|
||||||
|
- result.response.message == "Invalid Webhook Token"
|
Loading…
Reference in a new issue