Тестирование и симуляция

Для упрощения разработки и демонстрации возможностей системы в проекте реализован режим симуляции данных.

Активация

Режим симуляции включается установкой переменной окружения TEST_MODE=1 в файле .env.

Что он делает?

  1. Начальное заполнение (Seed): При запуске контейнера с TEST_MODE=1 выполняется команда python manage.py seed_test_data. Она очищает старые данные и создает в базе:

    • От 5 до 8 симулированных устройств с IP-адресами вида 192.168.1.10X.

    • Несколько устройств помечаются как "сломанные" (они будут отправлять данные чаще).

    • Генерируется история показаний температуры за последние 24 часа для всех устройств.

  2. Генерация в реальном времени: После запуска запускается фоновая задача (через APScheduler), которая каждые 5 секунд симулирует новые события:

    • Активные устройства присылают новые показания температуры.

    • "Сломанные" устройства присылают данные чаще.

    • С небольшой вероятностью устройство может "уйти в оффлайн" на несколько минут.

    • С небольшой вероятностью может быть зарегистрировано новое устройство.

    • С небольшой вероятностью симулируется DoS-атака для логгирования.

Этот режим идеально подходит для разработки фронтенда и тестирования работы панели мониторинга без необходимости подключения реальных физических устройств.

Last updated