Initial commit
Build and Push Docker Image / test-and-build (push) Successful in 46s

Cette révision appartient à :
2026-02-25 23:50:50 +01:00
révision 9b4759b4d1
12 fichiers modifiés avec 867 ajouts et 0 suppressions
+56
Voir le fichier
@@ -0,0 +1,56 @@
import json
import pytest
import os
from mail2sms.main import extract_parameters, send_sms, TEST_MODE
# ------------------------------
# TEST: Params extract
# ------------------------------
def test_extract_full_parameters():
subject = "Login=myuser;Password=mypass;To=+33612345678;deviceId=ABC123;simNumber=2"
to, device, sim, login, passwd = extract_parameters(subject)
assert to == "+33612345678"
assert device == "ABC123"
assert sim == "2"
assert login == "myuser"
assert passwd == "mypass"
def test_extract_partial_parameters():
subject = "to=+33612345678;Login=apiuser;Password=apipass"
to, device, sim, login, passwd = extract_parameters(subject)
assert to == "+33612345678"
assert device is None
assert sim is None
assert login == "apiuser"
assert passwd == "apipass"
def test_extract_case_insensitive():
subject = "login=USER;password=PASS;to=+33600000000;deviceId=Dev1;simNumber=1"
to, device, sim, login, passwd = extract_parameters(subject)
assert to == "+33600000000"
assert device == "Dev1"
assert sim == "1"
assert login == "USER"
assert passwd == "PASS"
def test_extract_invalid_subject():
subject = "hello world"
to, device, sim, login, passwd = extract_parameters(subject)
assert to is None
assert device is None
assert sim is None
assert login is None
assert passwd is None
# ------------------------------
# TEST: fake SMS send
# ------------------------------
def test_fake_sms_send(monkeypatch):
monkeypatch.setenv("TEST_MODE", "true")
payload = {"textMessage": {"text": "Hello world"}, "phoneNumbers": ["+33612345678"]}
response = send_sms(payload, username="fakeuser", password="fakepass")
assert response.status_code == 202
resp_json = json.loads(response.text)
assert resp_json["state"] == "Sent"
+8
Voir le fichier
@@ -0,0 +1,8 @@
import pytest
from mail2sms.text_utils import html_to_sms_text
def test_html_cleaning():
html = "<h1>Hello</h1><p>World <strong>123</strong></p>"
result = html_to_sms_text(html)
assert result == "Hello World 123"