class TestDevice(unittest.TestCase): def setUp(self): self.device = Device() self.device2 = Device("Jumpy Whale") def test_check_initial(self): for attrib in [ "device_name", "device_uuid", "polling_rate", "sensor_manager" ]: self.assertTrue(hasattr(self.device, attrib)) def test_polling_bad_Set(self): with self.assertRaises(Exception): self.device.polling_rate = "25" def test_polling_good_Set(self): new_value = 10 self.device.polling_rate = new_value self.assertTrue(self.device.polling_rate == new_value) def test_name_bad_Set(self): with self.assertRaises(Exception): self.device.device_name = "super cool name" def test_name_good_Set(self): new_name = "sleepy dog" self.device.device_name = new_name self.assertTrue(self.device.device_name == new_name) def test_uuid_bad_Set(self): with self.assertRaises(Exception): new_uuid = 1234 self.device.device_uuid = new_uuid def test_uuid_good_Set(self): new_val = uuid.uuid4() self.device.device_uuid = new_val self.assertTrue(self.device.device_uuid == new_val) def test_payload_contents(self): sample_payload = self.device.generate_payload() for attrib in [ "Device_Name", "Device_UUID", "GPS", "ambient_temperature", "internal_temperature", "Latch", "timestamp", ]: self.assertTrue(attrib in sample_payload)