69 lines
2.0 KiB
YAML
69 lines
2.0 KiB
YAML
---
|
|
- name: Send and verify SMS delivery via internet-master.cz
|
|
hosts: localhost
|
|
gather_facts: false
|
|
vars:
|
|
sms_number: "601358865"
|
|
sms_username: "mikrotik"
|
|
sms_password_send: "jdkotzHJIOPWhjtr32D"
|
|
sms_password_recv: "jdkotzHJIOPWhjtr32D"
|
|
sms_wait_seconds: 120 # Wait 2 minutes for delivery
|
|
|
|
tasks:
|
|
- name: Generate random test string
|
|
set_fact:
|
|
random_string: "mikrotik_{{ lookup('password', '/dev/null length=8 chars=ascii_letters') }}"
|
|
|
|
- name: Send SMS message
|
|
uri:
|
|
url: >-
|
|
https://sms.internet-master.cz/send/
|
|
?number={{ sms_number }}
|
|
&message={{ random_string }}
|
|
&type=class-1
|
|
&username={{ sms_username }}
|
|
&password={{ sms_password_send }}
|
|
method: GET
|
|
return_content: true
|
|
register: send_result
|
|
|
|
- name: Fetch received messages
|
|
uri:
|
|
url: >-
|
|
https://sms.internet-master.cz/receive/
|
|
?username={{ sms_username }}
|
|
&password={{ sms_password_recv }}
|
|
method: GET
|
|
return_content: true
|
|
register: recv_result
|
|
|
|
|
|
- name: Fetch received messages
|
|
uri:
|
|
url: "https://sms.internet-master.cz/receive/"
|
|
method: GET
|
|
return_content: true
|
|
params:
|
|
username: "{{ sms_username }}"
|
|
password: "{{ sms_password_recv }}"
|
|
register: recv_result
|
|
|
|
- name: Parse received JSON
|
|
set_fact:
|
|
inbox: "{{ recv_result.json.inbox | default([]) }}"
|
|
|
|
- name: Check if random string message was received
|
|
set_fact:
|
|
message_found: "{{ inbox | selectattr('message', 'equalto', random_string) | list | length > 0 }}"
|
|
|
|
- name: Report result
|
|
debug:
|
|
msg: >
|
|
SMS with message '{{ random_string }}' was {{
|
|
'delivered ✅' if message_found else 'NOT delivered ❌'
|
|
}}.
|
|
|
|
- name: Fail if not delivered
|
|
fail:
|
|
msg: "Message '{{ random_string }}' not found in received inbox!"
|
|
when: not message_found |