Skip to main content

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.

Source Distribution

django_smoknur-0.3.20.tar.gz (8.4 kB view hashes)

Uploaded source

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page