93 lines
4.7 KiB
Python
93 lines
4.7 KiB
Python
#!/usr/bin/env python3
|
|
"""
|
|
Тесты для MessageSender
|
|
"""
|
|
|
|
import pytest
|
|
import sys
|
|
import os
|
|
|
|
# Добавляем путь к модулям мониторинга
|
|
sys.path.insert(0, os.path.join(os.path.dirname(__file__), '../../infra/monitoring'))
|
|
|
|
from infra.monitoring.message_sender import MessageSender
|
|
|
|
|
|
class TestMessageSender:
|
|
"""Тесты для класса MessageSender"""
|
|
|
|
@pytest.fixture
|
|
def message_sender(self):
|
|
"""Создает экземпляр MessageSender для тестов"""
|
|
return MessageSender()
|
|
|
|
def test_get_cpu_emoji(self, message_sender):
|
|
"""Тест получения эмодзи для CPU"""
|
|
# Тест зеленого уровня (нормальная нагрузка)
|
|
assert message_sender._get_cpu_emoji(25.0) == "🟢"
|
|
assert message_sender._get_cpu_emoji(49.9) == "🟢"
|
|
|
|
# Тест желтого уровня (средняя нагрузка)
|
|
assert message_sender._get_cpu_emoji(50.0) == "⚠️"
|
|
assert message_sender._get_cpu_emoji(79.9) == "⚠️"
|
|
|
|
# Тест красного уровня (высокая нагрузка)
|
|
assert message_sender._get_cpu_emoji(80.0) == "🚨"
|
|
assert message_sender._get_cpu_emoji(95.0) == "🚨"
|
|
|
|
def test_get_memory_emoji(self, message_sender):
|
|
"""Тест получения эмодзи для памяти"""
|
|
# Тест зеленого уровня (нормальное использование)
|
|
assert message_sender._get_memory_emoji(30.0) == "🟢"
|
|
assert message_sender._get_memory_emoji(59.9) == "🟢"
|
|
|
|
# Тест желтого уровня (среднее использование)
|
|
assert message_sender._get_memory_emoji(60.0) == "⚠️"
|
|
assert message_sender._get_memory_emoji(84.9) == "⚠️"
|
|
|
|
# Тест красного уровня (высокое использование)
|
|
assert message_sender._get_memory_emoji(85.0) == "🚨"
|
|
assert message_sender._get_memory_emoji(95.0) == "🚨"
|
|
|
|
def test_get_load_average_emoji(self, message_sender):
|
|
"""Тест получения эмодзи для Load Average"""
|
|
# Тест зеленого уровня (нормальная нагрузка)
|
|
assert message_sender._get_load_average_emoji(4.0, 8) == "🟢" # 0.5 на ядро
|
|
assert message_sender._get_load_average_emoji(7.9, 8) == "🟢" # 0.9875 на ядро
|
|
|
|
# Тест желтого уровня (средняя нагрузка)
|
|
assert message_sender._get_load_average_emoji(8.0, 8) == "⚠️" # 1.0 на ядро
|
|
assert message_sender._get_load_average_emoji(15.9, 8) == "⚠️" # 1.9875 на ядро
|
|
|
|
# Тест красного уровня (высокая нагрузка)
|
|
assert message_sender._get_load_average_emoji(16.0, 8) == "🚨" # 2.0 на ядро
|
|
assert message_sender._get_load_average_emoji(24.0, 8) == "🚨" # 3.0 на ядро
|
|
|
|
def test_get_io_wait_emoji(self, message_sender):
|
|
"""Тест получения эмодзи для IO Wait"""
|
|
# Тест зеленого уровня (нормальный IO Wait)
|
|
assert message_sender._get_io_wait_emoji(2.0) == "🟢"
|
|
assert message_sender._get_io_wait_emoji(4.9) == "🟢"
|
|
|
|
# Тест желтого уровня (средний IO Wait)
|
|
assert message_sender._get_io_wait_emoji(5.0) == "⚠️"
|
|
assert message_sender._get_io_wait_emoji(19.9) == "⚠️"
|
|
|
|
# Тест красного уровня (высокий IO Wait)
|
|
assert message_sender._get_io_wait_emoji(20.0) == "🚨"
|
|
assert message_sender._get_io_wait_emoji(35.0) == "🚨"
|
|
|
|
def test_get_disk_space_emoji(self, message_sender):
|
|
"""Тест получения эмодзи для дискового пространства"""
|
|
# Тест зеленого уровня (нормальное использование)
|
|
assert message_sender._get_disk_space_emoji(30.0) == "🟢"
|
|
assert message_sender._get_disk_space_emoji(59.9) == "🟢"
|
|
|
|
# Тест желтого уровня (среднее использование)
|
|
assert message_sender._get_disk_space_emoji(60.0) == "⚠️"
|
|
assert message_sender._get_disk_space_emoji(89.9) == "⚠️"
|
|
|
|
# Тест красного уровня (высокое использование)
|
|
assert message_sender._get_disk_space_emoji(90.0) == "🚨"
|
|
assert message_sender._get_disk_space_emoji(95.0) == "🚨"
|