Skip to content

firmfreez/EndpointTest

Repository files navigation

EndpointTest

Test task in KubanKredit

Тестовое задание – мобильное приложение

Срок исполнения: 5 дней от момент получения. Результат разместить в публичном репозитории GitHub

Исходные данные:

  • сервер с определенным адресом (по умолчанию - https://portal.kubankredit.ru, при необходимости сертификат для https можно выгрузить непосредственно с сервера через любой браузер)
  • endpoint на сервере (по умолчанию - /backend/rest/stateful/personal/ping), в ответ на запрос (по умолчанию GET) возвращается ответ с определенным HTTP статусом (по умолчанию 200 – все хорошо, 500 – ошибка, 401/461 - предупреждение).

Базовое требование: Реализовать приложение, которое будет по таймеру опрашивать заданный endpoint и сигнализировать о состоянии ответа. Приложение должно выводить лог текущего процесса проверки в виде области со скроллингом.

Плюсы при выполнении:

  • 1 уровень:
  1. Возможность запуска, остановки или приостановке процесса проверки; +
  2. Возможность очистить лог; +
  3. Возможность «поделится» логом через стандартный механизм ОС (можно текстом, можно в виде файла); +
  4. Приложение работает в фоне без потери работоспособности (исключая ситуацию принудительного закрытия); +
  • 2 уровень:
  1. Настройки не заданы жестко, а прописаны в конфигурационном файле, который вычитывается при старте приложения или при перезапуске проверки;
  2. Есть возможность задать настройки: адреса, порта и endpoint сервера; типа HTTP-запроса (GET, POST, PUT и т.п., текстом или нумератором); статусов и цвета индикации в логе всех трех типов ответов; таймаута оповещения при недоступности сервера (например, 4 подряд неуспешных запросов выводят уведомление стандартным механизмом ОС); таймаута опроса сервера (например, посылать запрос каждые 5 секунд); +
  3. Есть возможность редактирования/задания новых настроек непосредственно из приложения; +
  • 3 уровень:
  1. Есть возможность задать несколько серверов одновременно и проводить опрос параллельно; +
  2. Нотификация в другое приложение (токен нотификации вводится в текущее приложение вручную). Прием нотификации от другого приложения;

About

Test task in KubanKredit

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages