1
0
Fork 0
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:
CWollinger 2022-04-10 08:41:46 +02:00 committed by GitHub
parent fa65b9d1f0
commit aa045d2655
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 81 additions and 0 deletions

View 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
````

View file

@ -0,0 +1 @@
unsupported

View file

@ -0,0 +1,2 @@
discord_id: 000
discord_token: xxx

View 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"