You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
langchain/libs/community/tests/integration_tests/utilities/test_infobip.py

87 lines
2.2 KiB
Python

from typing import Dict
import responses
from langchain_community.utilities.infobip import InfobipAPIWrapper
def test_send_sms() -> None:
infobip: InfobipAPIWrapper = InfobipAPIWrapper(
infobip_api_key="test",
infobip_base_url="https://api.infobip.com",
)
json_response: Dict = {
"messages": [
{
"messageId": "123",
"status": {
"description": "Message sent to next instance",
"groupId": 1,
"groupName": "PENDING",
"id": 26,
"name": "PENDING_ACCEPTED",
},
"to": "41793026727",
}
]
}
with responses.RequestsMock() as rsps:
rsps.add(
responses.POST,
"https://api.infobip.com/sms/2/text/advanced",
json=json_response,
status=200,
)
response: str = infobip.run(
body="test",
to="41793026727",
sender="41793026727",
channel="sms",
)
assert response == "123"
def test_send_email() -> None:
infobip: InfobipAPIWrapper = InfobipAPIWrapper(
infobip_api_key="test",
infobip_base_url="https://api.infobip.com",
)
json_response: Dict = {
"bulkId": "123",
"messages": [
{
"to": "test@example.com",
"messageId": "123",
"status": {
"groupId": 1,
"groupName": "PENDING",
"id": 26,
"name": "PENDING_ACCEPTED",
"description": "Message accepted, pending for delivery.",
},
}
],
}
with responses.RequestsMock() as rsps:
rsps.add(
responses.POST,
"https://api.infobip.com/email/3/send",
json=json_response,
status=200,
)
response: str = infobip.run(
body="test",
to="test@example.com",
sender="test@example.com",
subject="test",
channel="email",
)
assert response == "123"