Skip to content

belomord/SimpleSMSTestClient

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SimpleSMSTestClient

Приложение - клиент к условному сервису отправки СМС-сообщений


Описание работы:

Приложение предназначено для передачи смс сообщений посредством сервиса отправки на основании информации переданной приложению в коммандной строке.

Количество передаваемых сообщений может быть произвольное.

Способ передачи сообщений допускает использование библиотек socket или asyncio на выбор (задается в файле конфигурации).

Запуск осуществляется следующей коммандой из каталога приложения: python main.py parameters (Windows)

Во время работы приложения производится логирование передаваемой на сервер информации и полученных от сервера ответов в файл "client.log".


Параметры коммандной строки:

Для запуска допустимы следующие ключи:

  • -s, --sender - телефонный номер отправителя
  • -r, --recipient - телефонный номер получателя
  • -m, --message - сообщение
  • -c, --config - имя файла конфигурации приложения (по умолчанию config.toml)
  • -f, --file - имя файла параметров

Файл параметров должен представлять из себя текстовый фай в кодировке utf-8, каждая строка которого имеет вид строки параметров подходящей для передачи сообщений приложению.

Допускается в файле параметров использовать ключ -f для подключения дополнительных файлов параметров.

Допускается, при отсутствии ключей (-s, -r, -m), в качестве параметров использовать строку вида:sender_number recipient_number message для определения передаваемого сообщения.

Если в качестве параметров используются строки содержащие пробелы, то их необходимо экранировать кавычками: "This is message".


Файл конфигурации

Для конфигурации приложения используется файл в формате TOML имеющего следующий вид:

[system]
# Тип библиотеки на основании которой происходит обмен с сервером
#   0 - socket (по умолчанию)
#   1 - asyncio
client_type = 1

[user]
# Имя пользователя. Обязательно к определению.
login = "user"

# Пароль пользователя. Обязательно к определению.
password = "password"

[server]
# Адрес сервера
address = "http://localhost:4010/send_sms"

# Максимальное число открываемых соединений с сервером
# 0 - без ограничений (по умолчанию)
max_connections = 0

# Максимальное время ожидания ответа от сервера в мс
# 0 - без ограничений (по умолчанию)
max_time = 1000

По умолчанию используется файл с именем "config.toml", которое можно изменить через параметр коммандной строки - -c, --config.


Приложение разработано и протестировано с использованием:

  • python 3.11.7
  • pytest 8.3.5

Тетирование проводилось на базе предложеннного в задании мок-сервера.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages