def test_device(self): sc = Device(name="SC_Test") self.db.add(sc) sc.add_user(self.fixture) self.db.commit() self.assertIn(self.fixture, sc.users, "user not added") self.assertEqual(self.fixture.device_id, sc.get_id(), "id mismatch")
class DeviceTest(BaseTest): def setUp(self): super().setUp() self.fixture = Device() self.fixture.set_name("Test") self.fixture.set_description("Test") self.fixture.set_location("Test") self.db.add(self.fixture) self.db.commit() def test_id(self): self.assertEqual(self.fixture.get_id(), 1, "id's do not match") def test_name(self): self.assertEqual(self.fixture.get_name(), "Test", "names do not match") def test_null_name(self): with self.assertRaises(Exception): self.fixture.set_name(None) def test_empty_name(self): with self.assertRaises(Exception): self.fixture.set_name("") def test_description(self): self.fixture.set_name("Test") self.assertEqual(self.fixture.get_name(), "Test", "descriptions do not match") def test_null_description(self): with self.assertRaises(Exception): self.fixture.set_description(None) def test_empty_description(self): with self.assertRaises(Exception): self.fixture.set_description("") def test_location(self): self.assertEqual(self.fixture.get_location(), "Test", "values do not match") def test_null_location(self): with self.assertRaises(Exception): self.fixture.set_location(None) def test_empty_location(self): with self.assertRaises(Exception): self.fixture.set_location("") def test_sec_conf(self): sc = SecurityConfig(name="SC_Test") self.db.add(sc) self.fixture.set_sec_conf(sc) self.assertEqual(sc, self.fixture.get_sec_conf(), "sec_conf mismatch") def test_null_sec_conf(self): sc = None self.fixture.set_sec_conf(sc) self.assertTrue(self.fixture.sec_conf is None, "sec_conf mismatch") def test_serv_conf(self): sc = ServerConfig(name="SC_Test") self.db.add(sc) self.fixture.set_serv_conf(sc) self.assertEqual(sc, self.fixture.get_serv_conf(), "serv_conf mismatch") def test_null_serv_conf(self): sc = None self.fixture.set_serv_conf(sc) self.assertTrue(self.fixture.serv_conf is None, "serv_conf mismatch") def test_issues(self): iss1 = Issue(name="Issue 01", description="Desc 01", type=IssueType.EQUIP_DAMAGED) iss2 = Issue(name="Issue 02", description="Desc 02", type=IssueType.EQUIP_DAMAGED) self.db.add(iss1) self.db.add(iss2) self.fixture.add_issue(iss1) self.fixture.add_issue(iss2) self.db.commit() self.assertIn(iss1, self.fixture.issues) self.assertIn(iss2, self.fixture.issues) def test_null_issue(self): iss = None self.fixture.add_issue(iss) self.assertEqual(0, self.fixture.issues.count(), "count mismatch") def test_sensors(self): sens1 = Sensor(name="Sensor 01", quantity="Quantity 01", cls="class1", unit=Unit.C) sens2 = Sensor(name="Sensor 02", quantity="Quantity 02", cls="class2", unit=Unit.kWh) self.db.add(sens1) self.db.add(sens2) self.fixture.add_sensor(sens1) self.fixture.add_sensor(sens2) self.db.commit() self.assertIn(sens1, self.fixture.sensors) self.assertIn(sens2, self.fixture.sensors) def test_null_sensor(self): sensor = None self.fixture.add_sensor(sensor) self.assertEqual(0, self.fixture.sensors.count(), "count mismatch") def test_status(self): status1 = Status(name="Item 01", value="Value 01") status2 = Status(name="Item 02", value="Value 02") self.db.add(status1) self.db.add(status2) self.fixture.add_status(status1) self.fixture.add_status(status2) self.db.commit() self.assertIn(status1, self.fixture.status) self.assertIn(status2, self.fixture.status) def test_null_status(self): status = None self.fixture.add_status(status) self.assertEqual(0, self.fixture.status.count(), "count mismatch") def test_servers(self): server1 = Server(name="Server 01") server2 = Server(name="Server 02") self.db.add(server1) self.db.add(server2) self.fixture.add_server(server1) self.fixture.add_server(server2) self.db.commit() self.assertIn(server1, self.fixture.servers) self.assertIn(server2, self.fixture.servers) def test_null_server(self): server = None self.fixture.add_server(server) self.assertEqual(0, self.fixture.servers.count(), "count mismatch") def test_users(self): u1 = User(first_name="John", last_name="Smith", email="*****@*****.**", role=Role.USER) u1.set_password("test") u2 = User(first_name="Jane", last_name="Smith", email="*****@*****.**", role=Role.USER) u2.set_password("test") self.db.add(u1) self.db.add(u2) self.fixture.add_user(u1) self.fixture.add_user(u2) self.db.commit() self.assertIn(u1, self.fixture.users) self.assertIn(u2, self.fixture.users) def test_null_user(self): user = None self.fixture.add_user(user) self.assertEqual(0, self.fixture.users.count(), "counts not same") def test_existing_user(self): user = User(first_name="John", last_name="Smith", email="*****@*****.**", role=Role.USER) user.set_password("test") self.db.add(user) self.fixture.add_user(user) count = self.fixture.users.count() self.fixture.add_user(user) self.assertEqual(count, self.fixture.users.count(), "counts not same") def test_to_dict(self): exp = { "id": 1, "name": "Test", "description": "Test", "location": "Test" } self.assertDictEqual(exp, self.fixture.to_dict(), "dicts not the same") def test_update(self): exp = { "id": 1, "name": "Test2", "description": "description", "location": "location" } self.fixture.update(exp) self.assertEqual(exp['name'], self.fixture.get_name(), "name not the same") self.assertEqual(exp['description'], self.fixture.get_description(), "desc not the same") self.assertEqual(exp['location'], self.fixture.get_location(), "loc not the same") def test_creat_from_json(self): exp = { "id": 1, "name": "Test2", "description": "description", "location": "location" } self.fixture = Device(exp) self.assertEqual(exp['name'], self.fixture.get_name(), "name not the same") self.assertEqual(exp['description'], self.fixture.get_description(), "desc not the same") self.assertEqual(exp['location'], self.fixture.get_location(), "loc not the same") def test_repr(self): self.assertEqual("Device: Test", self.fixture.__repr__(), "repr not same") def test_str(self): self.assertEqual("Device: Test", str(self.fixture), "string representation not same")