Этот проект представляет собой клиентскую программу для отправки SMS-сообщений через HTTP-сервер. Программа формирует HTTP-запросы, отправляет их на сервер и обрабатывает ответы.
main.py # Основной файл программы
http_request.py # Реализация класса HTTPRequest
http_response.py # Реализация класса HTTPResponse
logger.py # Настройка логирования
config.toml # Файл конфигурации
test_main.py # Тесты для программы
sms_client.log # Лог-файл
Для начала необходмо поместить все представленные файлы в репозитории в ide
Затем, убедившись, что prism-cli-win.exe и sms-platform.yaml находятся в одной директории, запустить в терминале сервер командой ./prism-cli-win.exe mock sms-platform.yaml, если на винде.
После запуска сервера запустить саму программу командой python main.py --sender "+1234567890" --recipient "+0987654321" --message "Hello, this is a test message!" (с обязательными параметрами sender, recipient, message)
Для тестирования программы используется фреймворк pytest. Тесты проверяют работу основных компонентов программы, включая классы HTTPRequest и HTTPResponse, а также функцию send_request. Тесты можно запустить по отдельности из файла test_main.py или заупустить сразу все из терминала командой pytest test_main.py
- Базовая авторизация: Программа использует базовую авторизацию (Basic Auth). Учетные данные кодируются в Base64 и добавляются в заголовок Authorization.
- Обработка ошибок: Программа обрабатывает следующие ошибки:
- Ошибки подключения к серверу.
- Ошибки парсинга ответа сервера.
- Ошибки при отправке запроса.