Fix unit test

This commit is contained in:
desbma
2015-01-27 22:36:28 +01:00
parent 1c7ee22e95
commit 9ede914d45
+9 -6
View File
@@ -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: