This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
courses:devops:project [2024/02/06 20:09] azarevich.artem [Правила работы в репозитории] |
courses:devops:project [2024/03/01 13:58] (current) korytov.pavel |
||
---|---|---|---|
Line 37: | Line 37: | ||
* Форматирование Python (black) - https://github.com/psf/black | * Форматирование Python (black) - https://github.com/psf/black | ||
* Форматирование Python (flake8) - https://github.com/PyCQA/flake8 | * Форматирование Python (flake8) - https://github.com/PyCQA/flake8 | ||
+ | * Форматирование HTML, JS (prettier) - https://prettier.io | ||
+ | * Форматирование Python (pindent) - http://svn.python.org/projects/python/trunk/Tools/scripts/pindent.py | ||
+ | * Форматирование Python (pybetter) - https://github.com/lensvol/pybetter | ||
+ | * Форматирование Python (ssort) - https://github.com/bwhmather/ssort | ||
+ | * Форматинование Pyhton (usort) - https://github.com/facebook/usort | ||
* Проверка бьютификатором для HTML - https://pypi.org/project/html-linter/ | * Проверка бьютификатором для HTML - https://pypi.org/project/html-linter/ | ||
* Причесывание бьютификатором HTML - https://pypi.org/project/css-html-prettify/ | * Причесывание бьютификатором HTML - https://pypi.org/project/css-html-prettify/ | ||
Line 42: | Line 47: | ||
* Статический анализ - подключаем статическую проверку (через pylint) и встраиваем ее в цепочку запуска | * Статический анализ - подключаем статическую проверку (через pylint) и встраиваем ее в цепочку запуска | ||
* **Анализ по 10 существующим критериям** - выберите по 10 уникальных критериев проверки, настройте запуск на них и допустите все десять ошибок в коде проекта:) | * **Анализ по 10 существующим критериям** - выберите по 10 уникальных критериев проверки, настройте запуск на них и допустите все десять ошибок в коде проекта:) | ||
- | * **Создание своего критерия и проверка толко по нему** - проверяем на наличие переменных, название которых совпадает с вашим именем | + | * **Создание своего критерия и проверка только по нему** - проверяем на наличие переменных, название которых совпадает с вашим именем |
* Интеграционные тесты - пишем интеграционные тесты (через requests) и встраиваем их в цепочку запуска | * Интеграционные тесты - пишем интеграционные тесты (через requests) и встраиваем их в цепочку запуска | ||
* Проверка на коды возврата | * Проверка на коды возврата | ||
* Проверка на заголовки | * Проверка на заголовки | ||
* Проверка на загрузку файла | * Проверка на загрузку файла | ||
- | * Selenium - пишем selenium тесты и встраиваем их в цепочку запуска (нельзя использовать для selenium отдельный контейнер, реализуйте тесты в рамах контейнера tester) | + | * Selenium - пишем selenium тесты и встраиваем их в цепочку запуска (нельзя использовать для selenium отдельный контейнер, реализуйте тесты в рамах контейнера tester). См. описание ниже. |
- | * **Заполнение формы авторизации (включая проверку верстки страницы)** - тест на заполнение формы и проверка ответа сервера, + проверка верстки страницы (ее динамической части) | + | |
- | * **Правка html кода страницы** - вносим свои изменения в код страницы (добавляем лишние кнопки, меняем атрибуты полям - проверяем) | + | |
- | * **Загрузка и получение файлов** - проверка роутов на загрузку и получение файлов | + | |
- | * **Переадресация, корректные коды возврата** - проверка запросов с переадресацией, проверка кодов возврата | + | |
- | * **Отлов js исключений в консоли** - для этого задания вам потребуется модифицировать шаблон веб-страницы добавлением обработчика для ошибок js (рекомендую собирать ошибки в атрибут тега), а в selenium проверять содержимое этого тега | + | |
- | * **Получение списка преподавателей каф. МОЭВМ** - работаем не с демо приложением, а со страницей кафедры на сайте ЛЭТИ. Силами selenium (через запуск js кода) извлекаем список | + | |
- | * **Поиск и обнаружение ошибок в консоли JS** - | + | |
- | * **Получение списка сертификатов пользователя по ссылке на профиль Stepik** - работаем не с демо приложением, а со stepik.org. Силами selenium (через запуск js кода) извлекаем список | + | |
- | * **Получение списка PR в открытом github репозитории** - | + | |
* Docker | * Docker | ||
* Внешний SSH доступ в контейнеры - организуем доступ через протокол SSH контейнер одним из следующих способов: или по ключу в каталоге с проектом, или генерируем пароль для доступа и сообщаем его при сборке / запуске, или генерируем новую пару ключе и выводим их в файлы. Порт для SSH должен быть доступен снаружи docker-compose конфигурации. | * Внешний SSH доступ в контейнеры - организуем доступ через протокол SSH контейнер одним из следующих способов: или по ключу в каталоге с проектом, или генерируем пароль для доступа и сообщаем его при сборке / запуске, или генерируем новую пару ключе и выводим их в файлы. Порт для SSH должен быть доступен снаружи docker-compose конфигурации. | ||
Line 82: | Line 78: | ||
* **Ядра процессора** - ограничьте доступные в каждом контейнере количество ядер ЦПУ до (1 + НОМЕР_ВАРИАНТА % 2) (остаток от деления номера вашего варианта на два) | * **Ядра процессора** - ограничьте доступные в каждом контейнере количество ядер ЦПУ до (1 + НОМЕР_ВАРИАНТА % 2) (остаток от деления номера вашего варианта на два) | ||
* **Максимальное Количество процессов** - ограничьте до количества НОМЕР_ВАРИАНТА | * **Максимальное Количество процессов** - ограничьте до количества НОМЕР_ВАРИАНТА | ||
+ | |||
+ | === Selenium-тесты === | ||
+ | Задача в написании Selenium-тестов - написать автотесты для нескольких форм ИС ИОТ. Тестовый инстанс находится по адресу https://dev.digital.etu.ru/trajectories-test/. | ||
+ | |||
+ | Тест должен включать в себя следующие шаги: | ||
+ | |||
+ | - Авторизация через ETU ID. | ||
+ | * Используйте ваш логин/пароль из ЛК ЛЭТИ. Укажите их в .env-файле, коммитить в репозиторий **не нужно** | ||
+ | * Вы должны получить в системе права администратора. Если не получите - пингуйте нас в Discord. | ||
+ | * В системе все персональные данные заменены на сгенерированные. | ||
+ | - Если ваш вариант включает в себя работу с ОПОП, РП или формой "Распределение документов", авторизуйтесь за пользователя id=1305 (Schimmel Вадим August) на форме "Авторизация за другого пользователя". У этого пользователя есть все права на все документы. | ||
+ | - Проверьте функционирование формы, указанной в задании: | ||
+ | * Инструкции по формам есть по ссылке: https://digital.etu.ru/doku.php?id=navigation:iot | ||
+ | * Большинство форм включают в себя сохранение какого-то состояния (вкладки документа, выдача прав и т.п.). В таком случае задача - ввести в форму какие-то значения (не обязательно осмысленные), сохранить, обновить страницу и проверить, что внесенные данные сохранены. | ||
+ | * В работе с документами - можете создать новый документ или взять существующий в статусе "черновик". Если создаете новый, не забудьте удалить. | ||
+ | * В работе с документами - берите документы с кафедрой, соотвествующей вашему положению в таблице "Варианты заданий" (см. ниже). Так мы избежим конфликтов из-за одновременного выполнения тестов. | ||
+ | * В работе с пользователями - берите пользователей, у которых фамилия соответствует вашей сгенерированной (можно посмотреть сверху в сайдбаре). | ||
+ | | ||
+ | === Перечень кафедр === | ||
+ | |||
+ | Кафедра, в которой вы работаете = (ваш номер в "Варианты заданий") % 40 + 1. | ||
+ | |||
+ | Кафедры: | ||
+ | |||
+ | - каф.АМ | ||
+ | - каф.ЛИНС | ||
+ | - каф.ЭПУ | ||
+ | - каф.ИИСТ | ||
+ | - каф.ВМ | ||
+ | - каф.МНЭ | ||
+ | - каф.РАПС | ||
+ | - каф.ЭП | ||
+ | - каф.ЭУТ | ||
+ | - каф.ФЛ | ||
+ | - каф.ИМ | ||
+ | - каф.ТВ | ||
+ | - каф.МОЭВМ | ||
+ | - каф.МСК | ||
+ | - каф.БЖД | ||
+ | - каф.СО | ||
+ | - каф.ВТ | ||
+ | - каф.САПР | ||
+ | - каф.ФЭТ | ||
+ | - каф.Фот | ||
+ | - каф.МВЭ | ||
+ | - каф.ПМИГ | ||
+ | - каф.ИНЯЗ | ||
+ | - каф.ТОЭ | ||
+ | - каф.СП | ||
+ | - каф.ПЭ | ||
+ | - каф.ТОР | ||
+ | - каф.БТС | ||
+ | - каф.РС | ||
+ | - каф.САУ | ||
+ | - каф.ИКГП | ||
+ | - каф.ЭТПТ | ||
+ | - каф.РЯ | ||
+ | - каф.МИТ | ||
+ | - каф.ФХ | ||
+ | - каф.РЭС | ||
+ | - каф.ИЗОС | ||
+ | - каф.АПУ | ||
+ | - каф.ИС | ||
+ | - каф.ФВиС | ||
+ | |||
+ | |||
+ | Это не все кафедры ЛЭТИ, только те, по которым есть более 100 РП. | ||
==== Варианты средней сложности ==== | ==== Варианты средней сложности ==== |