
Авторизованная исследовательская лаборатория безопасности, воспроизводящая CVE-2024-39700 / GHSA-45gq-v5wm-82wg (JupyterLab extension-template update-integration-tests pwn request)
Эта папка содержит интеграционные тесты расширения.
Они определены с помощью тестового раннера Playwright и вспомогательного инструмента Galata.
Конфигурация Playwright определена в playwright.config.js.
Конфигурация сервера JupyterLab для интеграционного тестирования определена в jupyter_server_test_config.py.
Конфигурация по умолчанию создаст видео для неудачных тестов и HTML-отчёт.
Существует новый экспериментальный режим пользовательского интерфейса, который вам может понравиться; см. это видео.
Предполагается, что все команды выполняются из корневого каталога
Для запуска тестов необходимо:
jlpm install
jlpm build:prod
Убедитесь, что расширение установлено в JupyterLab.
cd ./ui-tests
jlpm install
jlpm playwright install
cd ..
cd ./ui-tests
jlpm playwright test
Результаты тестов будут показаны в терминале. В случае сбоев каких-либо тестов отчёт о тестировании будет открыт в вашем браузере после завершения выполнения тестов; см. документацию Playwright для настройки этого поведения.
Предполагается, что все команды выполняются из корневого каталога
Если вы сравниваете снимки для проверки своих тестов, вам может потребоваться обновить эталонные снимки, хранящиеся в репозитории. Для этого необходимо:
jlpm install
jlpm build:prod
Убедитесь, что расширение установлено в JupyterLab.
cd ./ui-tests
jlpm install
jlpm playwright install
cd ..
cd ./ui-tests
jlpm playwright test -u
Между снимками, созданными на вашем компьютере, и снимками, созданными на CI, могут возникать некоторые расхождения. Чтобы упростить обновление снимков в PR, вы можете ввести
please update playwright snapshots, чтобы бот на CI запустил обновление. После того как бот вычислит новые снимки, он закоммитит их в ветку PR.
Предполагается, что все команды выполняются из корневого каталога
Для создания тестов проще всего использовать инструмент генератора кода Playwright:
jlpm install
jlpm build:prod
Убедитесь, что расширение установлено в JupyterLab.
cd ./ui-tests
jlpm install
jlpm playwright install
cd ..
cd ./ui-tests
jlpm start
cd ./ui-tests
jlpm playwright codegen localhost:8888
Предполагается, что все команды выполняются из корневого каталога
Для отладки тестов хорошим способом является использование инструмента инспектора Playwright:
jlpm install
jlpm build:prod
Убедитесь, что расширение установлено в JupyterLab.
cd ./ui-tests
jlpm install
jlpm playwright install
cd ..
cd ./ui-tests
jlpm playwright test --debug
Чтобы обновить версии веб-браузеров, необходимо обновить пакет @playwright/test:
cd ./ui-tests
jlpm up "@playwright/test"
jlpm playwright install