Fix unit test
This commit is contained in:
+9
-6
@@ -2,6 +2,7 @@
|
|||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
|
|
||||||
import logging
|
import logging
|
||||||
|
import os
|
||||||
import unittest
|
import unittest
|
||||||
import unittest.mock
|
import unittest.mock
|
||||||
|
|
||||||
@@ -11,24 +12,26 @@ import hddfancontrol
|
|||||||
class TestDrive(unittest.TestCase):
|
class TestDrive(unittest.TestCase):
|
||||||
|
|
||||||
def setUp(self):
|
def setUp(self):
|
||||||
with unittest.mock.patch("hddfancontrol.stat") as stat_mock, \
|
with unittest.mock.patch("hddfancontrol.os.stat") as os_stat_mock, \
|
||||||
|
unittest.mock.patch("hddfancontrol.stat") as stat_mock, \
|
||||||
unittest.mock.patch("hddfancontrol.subprocess") as subprocess_mock:
|
unittest.mock.patch("hddfancontrol.subprocess") as subprocess_mock:
|
||||||
|
os_stat_mock.return_value = os.stat_result
|
||||||
stat_mock.stat.S_IFBLK.return_value = True
|
stat_mock.stat.S_IFBLK.return_value = True
|
||||||
subprocess_mock.check_call.side_effect = subprocess_mock.CalledProcessError(0, "")
|
subprocess_mock.check_call.side_effect = subprocess_mock.CalledProcessError(0, "")
|
||||||
self.drive = hddfancontrol.Drive("/dev/sda", "/dummy", None)
|
self.drive = hddfancontrol.Drive("/dev/sdz", "/dummy", None)
|
||||||
|
|
||||||
def test_getState(self):
|
def test_getState(self):
|
||||||
with unittest.mock.patch("hddfancontrol.subprocess") as subprocess_mock:
|
with unittest.mock.patch("hddfancontrol.subprocess") as subprocess_mock:
|
||||||
subprocess_mock.check_output.return_value = "\n/dev/sda:\n drive state is: active/idle\n"
|
subprocess_mock.check_output.return_value = "\n/dev/sdz:\n drive state is: active/idle\n"
|
||||||
self.assertEqual(self.drive.getState(), hddfancontrol.Drive.DriveState.ACTIVE_IDLE)
|
self.assertEqual(self.drive.getState(), hddfancontrol.Drive.DriveState.ACTIVE_IDLE)
|
||||||
with unittest.mock.patch("hddfancontrol.subprocess") as subprocess_mock:
|
with unittest.mock.patch("hddfancontrol.subprocess") as subprocess_mock:
|
||||||
subprocess_mock.check_output.return_value = "\n/dev/sda:\n drive state is: standby\n"
|
subprocess_mock.check_output.return_value = "\n/dev/sdz:\n drive state is: standby\n"
|
||||||
self.assertEqual(self.drive.getState(), hddfancontrol.Drive.DriveState.STANDBY)
|
self.assertEqual(self.drive.getState(), hddfancontrol.Drive.DriveState.STANDBY)
|
||||||
with unittest.mock.patch("hddfancontrol.subprocess") as subprocess_mock:
|
with unittest.mock.patch("hddfancontrol.subprocess") as subprocess_mock:
|
||||||
subprocess_mock.check_output.return_value = "\n/dev/sda:\n drive state is: sleeping\n"
|
subprocess_mock.check_output.return_value = "\n/dev/sdz:\n drive state is: sleeping\n"
|
||||||
self.assertEqual(self.drive.getState(), hddfancontrol.Drive.DriveState.SLEEPING)
|
self.assertEqual(self.drive.getState(), hddfancontrol.Drive.DriveState.SLEEPING)
|
||||||
with unittest.mock.patch("hddfancontrol.subprocess") as subprocess_mock:
|
with unittest.mock.patch("hddfancontrol.subprocess") as subprocess_mock:
|
||||||
subprocess_mock.check_output.return_value = "/dev/sda: No such file or directory\n"
|
subprocess_mock.check_output.return_value = "/dev/sdz: No such file or directory\n"
|
||||||
with self.assertRaises(Exception):
|
with self.assertRaises(Exception):
|
||||||
self.drive.getState()
|
self.drive.getState()
|
||||||
with unittest.mock.patch("hddfancontrol.subprocess") as subprocess_mock:
|
with unittest.mock.patch("hddfancontrol.subprocess") as subprocess_mock:
|
||||||
|
|||||||
Reference in New Issue
Block a user