Cette révision appartient à :
@@ -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"
|
||||
Référencer dans un nouveau ticket
Bloquer un utilisateur