Skip to main content
Join the official 2019 Python Developers SurveyStart the survey!

django-smoknur

Project description

Установка приложения в проекте

  • Установить приложение в окружение

  • Добавить в settings.MIDDLEWARE_CLASSES, django_smoknur.middleware.WriteRequests

  • Добавить в settings.INSTALLED_APPS, django_smoknur

  • Добавить в urls, урл приложения:

    from django_smoknur.urls import get_urls
    urlpatterns += get_urls()
    
  • Опциональные параметры settings

    • SMOKNUR_EXCLUDE_APP_DUMPDATA - кортеж приложений, которые необходимо исключить при дампе БД через приложение
    • SMOKNUR_EXCLUDE_APPS - приложения, исключенные из тестов, например ‘datalogging, contenttypes, south, sessions, auth.permission, auth.group, auth.message`
    • SMOKNUR_NEW_DJANGO_TESTCASE - включает фикс для теста, для нормальной работы в джанго 1.6. По умолчанию включен. В TransactionTestCase, в методе _fixture_setup отсутствует вызов call_command(‘flush’, …), что на мой взгляд не правильно, т.к. не очищается БД перед запуском каждого тесткейса.
    • SMOKNUR_PRINT_REQUESTS - включает вывод информации о каждом запросе, урл и параметры. По умолчанию выключен
    • SMOKNUR_PRINT_RESPONSE - включает вывод информации об ответе на запрос. По умолчанию выключен
    • SMOKNUR_PRINT_RESPONSE_SIZE - размер информации ответа на запрос. По умолчанию не ограничен

Пример записи сценария

  1. Система работает в дебаг режиме

  2. Заходим на страничку /smoknur

  3. Сохраняем дамп БД.

    • Скачается .json файл дампа БД, который может быть использован в качетсве фикстур для конкретного сценария.
    • Файлик был получен командой ./manage.py dumpdata, исключая приложения settings.SMOKNUR_EXCLUDE_APP_DUMPDATA.
  4. Включаем запись отладочной информации.

  5. Переходим на главную страницу проекта и работаем с проектом

    • В это время, мидлвара smoknur.middleware.WriteRequests будет записывать все запросы на сервер в .dbg файлик, с POST параметрами.
  6. Заходим на страничку /smoknur

  7. Выключаем запись отладочной информации

  8. Скачиваем отладочную информацию

  9. Кладем файлик сценария в соответствующее приложение, в папку smoknur, при необходимости файлик фикстур туда же.

Как работают тесты

  1. Запускаем тест ./manage.py django-smoknur

  2. На каждое приложение из settings.PROJECTS_APPS создается TestCase, если приложение имеет папку smoknur

    • Если в папке имеется .json файл, он будет использован в качестве начальной фикстуры
    • Все .dbg файлы читаются, и прогоняются запросы к системы из этих фалов.

Также в модуле имеется менедж команда load_dbg, которой передается 1 параметр, название приложения. Данная команда отправляет запросы, находящиеся в папке smoknur приложения. Иногда необходима для востановления состояния БД, для последующих тестов. Фикстуры приложения она не заливает.

История изменений версии:

0.3.17

  • параметры запросов пишутся в куки, что дает возможность начать запись без авторизации
  • запись в логи ведется только в дебаг режиме
  • логируется также статус ответа
  • логируется метод запроса и вызывается соответствующий(пока POST и GET)
  • при тетсировании сверяются ответы сервера
  • параметры SMOKNUR_USERNAME, SMOKNUR_PASSWORD не актуальны, авторизация происходит через логи

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for django_smoknur, version 0.3.20
Filename, size File type Python version Upload date Hashes
Filename, size django_smoknur-0.3.20.tar.gz (8.4 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page