def test__get_output__performance_data(mocker): """ Test "_get_output" method must return human readable HDD's statuses with performance data. """ expected = "OK: device /dev/sda is functional and stable 27C | /dev/sda=27\n" data = { "/dev/sda": { "template": "ok", "priority": 4, "data": { "device": "/dev/sda", "temperature": 27, "scale": "C", "warning": 40, "critical": 65, }, }, } mocker.patch("sys.argv", ["check_hddtemp.py", "-s", "127.0.0.1", "-p", "7634", "-P"]) checker = CheckHDDTemp() status = checker._get_status(data=data) result = checker._get_output(data=data, status=status) assert result == expected # nosec: B101
def test__get_status__sleeping(mocker): """ Test "_get_status" method must return main check status (sleeping case). """ mocker.patch("sys.argv", ["check_hddtemp.py", "-s", "127.0.0.1", "-p", "7634"]) checker = CheckHDDTemp() result = checker._get_status( data={ "/dev/sda": { "template": "ok", "priority": 4, "data": { "device": "/dev/sda", "temperature": 27, "scale": "C", "warning": 40, "critical": 65, }, }, "/dev/sdb": { "template": "sleeping", "priority": 5, "data": { "device": "/dev/sdb", "temperature": "SLP", "scale": "C", "warning": 40, "critical": 65, }, }, }) assert result == "ok" # nosec: B101
def test__get_output__sleeping(mocker): """ Test "_get_output" method must return human readable HDD's statuses (sleeping case). """ expected = "OK: device /dev/sda is functional and stable 27C, device /dev/sdb is sleeping\n" # noqa: E501 data = { "/dev/sda": { "template": "ok", "priority": 4, "data": { "device": "/dev/sda", "temperature": 27, "scale": "C", "warning": 40, "critical": 65, }, }, "/dev/sdb": { "template": "sleeping", "priority": 5, "data": { "device": "/dev/sdb", "temperature": "SLP", "scale": "C", "warning": 40, "critical": 65, }, }, } mocker.patch("sys.argv", ["check_hddtemp.py", "-s", "127.0.0.1", "-p", "7634"]) checker = CheckHDDTemp() status = checker._get_status(data=data) result = checker._get_output(data=data, status=status) assert result == expected # nosec: B101
def test__get_output__unknown_device_temperature(mocker): """ Test "_get_output" method must return human readable HDD's statuses (unknown device temperature case). """ expected = "UNKNOWN: device /dev/sdb temperature info not found in server response or can't be recognized by hddtemp, device /dev/sda is functional and stable 27C\n" # noqa: E501 data = { "/dev/sda": { "template": "ok", "priority": 4, "data": { "device": "/dev/sda", "temperature": 27, "scale": "C", "warning": 40, "critical": 65, }, }, "/dev/sdb": { "template": "unknown", "priority": 3, "data": { "device": "/dev/sdb", "temperature": "UNK", "scale": "*", "warning": 40, "critical": 65, }, }, } mocker.patch("sys.argv", ["check_hddtemp.py", "-s", "127.0.0.1", "-p", "7634"]) checker = CheckHDDTemp() status = checker._get_status(data=data) result = checker._get_output(data=data, status=status) assert result == expected # nosec: B101
def test__get_status__unknown_device_temperature(mocker): """ Test "_get_status" method must return main check result (unknown device temperature case). """ mocker.patch("sys.argv", ["check_hddtemp.py", "-s", "127.0.0.1", "-p", "7634"]) checker = CheckHDDTemp() result = checker._get_status( data={ "/dev/sda": { "template": "ok", "priority": 4, "data": { "device": "/dev/sda", "temperature": 27, "scale": "C", "warning": 40, "critical": 65, }, }, "/dev/sdb": { "template": "unknown", "priority": 3, "data": { "device": "/dev/sdb", "temperature": "UNK", "scale": "*", "warning": 40, "critical": 65, }, }, }) assert result == "unknown" # nosec: B101