Вы — QA инженер на космическом корабле, который летит покорять новые галактики. Корабль новый и навороченный, но некоторые его части сделаны по принципу "работает — не трогай". Именно так реализован датчик температуры. Шел 2070 год, а к датчику все еще обращаются по HTTP 1.1 через GET-запросы. API принимает на вход параметр "?temperature=", в качестве выходных данных отдает вердикт — в каком состоянии будет вода при такой температуре, вроде система работает только градусами цельсия, но кажеться раньше она работала и с другими шкалами измерения. Командир корабля попросил убедиться, что датчик "нормально работает". К сожалению, требований к датчику не сохранилось.
Пожалуйста, напишите тесты на API сервиса по анализу температуры. Мы хотим увидеть набор тестов, который поможет проверить, что датчик работает корректно, если тесты выявят ошибки в его работе - пожайулуста сообщите нам.
Hint установка и запуск:
- Код сервиса находиться в папке ./api_server;
- Вам необходимо установить для работы сервера debian пакеты находящиеся
в файле ./api_server/debinan_requirements.txt
(простой способ установки
sudo apt-get install $(cat ./api_server/debinan_requirements.txt)
); - Создайть виртуальное окружение командой
virtualenv venv -p python3
; - Установить python пакеты из ./api_server/python_requirements.txt.
(./venv/bin/pip install -r ./api_server/python_requirements.txt)
- Добавте в python path папку с сервером
export PYTHONPATH="$PYTHONPATH:/$(pwd)/api_server"
; - Для запуска сервера сервиса выполните командут
./venv/bin/python3 ./api_server/server.py
- по умолчанию он будет работать на 8888 порту.
Вы с коллегами проектируете главный графический интерфейс развлекательного экрана корабля, который показывает информацию на дисплеях. В процессе возникла сложность — разные части корабля заточены под разные технологии. Унифицировать их слишком тяжело и дорого, поэтому решено было просто поддержать разные версии всего. Развлекательный экран должен работать с:
- английским и русским языками;
- соединяться и корректно работать с Mysql/Postgres и MongoDB базами (да, прошло 50 лет, а ничего лучше так и не придумали);
- дисплеями моделей Nova и SuperNova.
Составьте таблицу проверок, которая поможет удостовериться, что все будет работать как надо. Помните, что чем меньше проверок — тем лучше.
Пожалуйста, напишите 3 автотеста на интерфейс semrush.com.
- Тест 1: залогиниться под пользователем в SEMrush;
- Тест 2: создайте новую заметку на /notes;
- Тест 3: создайте новый проект; Hint: тесты должны стабильно проходить.
В качестве языка для реализации возьмите Python. Вы можете выбрать любой подход, паттерн проектирования и фреймворк.
Вы временно остались вдвоем в команде с начинающим python разработчиком, он пытается написать граббер ссыллок и даже попробовал добавить в него тесты и логи. Сейчас он предлагает выкатить его скрипт на сервер, но обычно перед этим всегда делаеться код ревью.
Посмотрите код скрипта ./junior_python_developer_code/check_urls_availability.py - если у вас есть по нему замечания и исправления добавьте коментарии к коду.
- Склонируйте себе репозиторий;
- Оформите ваше решение в коде;
- Отправьте pull request в этот репозиторий с вашим решением.