def test_Recovers_correct_date(self): actual = statemanager.parse_state_file("normal_mock.yaml").since expected = datetime.datetime(2013, 2, 28, 20, 29, 53, 696503) self.assertEqual(actual, expected, "Unexpected datetime")
def test_Recovers_correct_message(self): actual = statemanager.parse_state_file("normal_mock.yaml").message expected = "No Message" self.assertEqual(actual, expected, "Unexpected message paramater")
def test_Recovers_Alert_State(self): actual = statemanager.parse_state_file("action_mock.yaml") self.assertIsInstance(actual, states.ActionState, "Error Recovering Action State")
def test_Recovers_Warning_State(self): actual = statemanager.parse_state_file("warning_mock.yaml") self.assertIsInstance(actual, states.WarningState, "Error Recovering Warning State")
def test_Recovers_OK_State(self): actual = statemanager.parse_state_file("normal_mock.yaml") self.assertIsInstance(actual, states.OKState, "Error Recovering OK State")
def test_RoundTrip(self): statemanager.write_state_file(self.test_file_name, self.okay_mock) actual = statemanager.parse_state_file(self.test_file_name) self.assertEqual(actual, self.okay_mock)
# Runs the program import statemanager import gpiomanager import apimanager import datetime import piface.pfio as pfio_interface import states import sys import os pfio_interface.init() gpio_mgr = gpiomanager.GPIOManager(pfio_interface) gis_api = apimanager.GISAPIManager() try: # Ensure enough space on the root device of the volume st = os.statvfs('/') free_space_mb = st.f_bavail * st.f_frsize / 1024 / 1024 if free_space_mb < 128: raise Exception("Less than 128MB disk space free, raising system trouble state") current_state = statemanager.parse_state_file("state_file.yaml") current_state = current_state.next(gpio_mgr, gis_api) except: current_state = states.TroubleState(datetime.datetime.now(), datetime.datetime.now(), 0, sys.exc_info()[0]) finally: current_state.set_outputs(gpio_mgr) statemanager.write_state_stdout(current_state) statemanager.write_state_file("state_file.yaml", current_state)