initial commit
This commit is contained in:
@@ -0,0 +1,63 @@
|
||||
"""Tests for get_environment."""
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
import pytest
|
||||
from tests.conftest import _build_mock_api, NODE_STATUS
|
||||
from unittest.mock import patch
|
||||
|
||||
from napalm_proxmox.driver import ProxmoxDriver
|
||||
|
||||
|
||||
class TestGetEnvironment:
|
||||
def test_cpu_usage_present(self, driver):
|
||||
result = driver.get_environment()
|
||||
assert "0" in result["cpu"]
|
||||
assert result["cpu"]["0"]["%usage"] == pytest.approx(12.0, abs=0.1)
|
||||
|
||||
def test_memory_total(self, driver):
|
||||
result = driver.get_environment()
|
||||
assert result["memory"]["available_ram"] == 137438953472
|
||||
assert result["memory"]["used_ram"] == 68719476736
|
||||
|
||||
def test_fans_empty_when_no_sensors(self, driver):
|
||||
result = driver.get_environment()
|
||||
assert isinstance(result["fans"], dict)
|
||||
|
||||
def test_temperature_with_sensors(self):
|
||||
from tests.conftest import _build_mock_api, NODE_STATUS
|
||||
from unittest.mock import patch
|
||||
from napalm_proxmox.driver import ProxmoxDriver
|
||||
|
||||
sensors_data = [
|
||||
{"name": "CPU Package", "value": "55.0"},
|
||||
{"name": "GPU Core", "value": "92.0"},
|
||||
]
|
||||
mock_api = _build_mock_api(sensors=sensors_data)
|
||||
drv = ProxmoxDriver("pve1", "root", "secret", optional_args={"verify_ssl": False})
|
||||
with patch("napalm_proxmox.driver.ProxmoxAPI", return_value=mock_api):
|
||||
drv.open()
|
||||
|
||||
result = drv.get_environment()
|
||||
assert "CPU Package" in result["temperature"]
|
||||
assert result["temperature"]["CPU Package"]["temperature"] == 55.0
|
||||
assert result["temperature"]["CPU Package"]["is_alert"] is False
|
||||
assert result["temperature"]["CPU Package"]["is_critical"] is False
|
||||
|
||||
assert "GPU Core" in result["temperature"]
|
||||
assert result["temperature"]["GPU Core"]["is_alert"] is True
|
||||
assert result["temperature"]["GPU Core"]["is_critical"] is False
|
||||
|
||||
def test_temperature_critical(self):
|
||||
from tests.conftest import _build_mock_api
|
||||
from unittest.mock import patch
|
||||
from napalm_proxmox.driver import ProxmoxDriver
|
||||
|
||||
sensors_data = [{"name": "NVMe", "value": "98.0"}]
|
||||
mock_api = _build_mock_api(sensors=sensors_data)
|
||||
drv = ProxmoxDriver("pve1", "root", "secret", optional_args={"verify_ssl": False})
|
||||
with patch("napalm_proxmox.driver.ProxmoxAPI", return_value=mock_api):
|
||||
drv.open()
|
||||
|
||||
result = drv.get_environment()
|
||||
assert result["temperature"]["NVMe"]["is_critical"] is True
|
||||
Reference in New Issue
Block a user