def orm_client(api_client): client = database client.init_db() print("ORM_CLIENT START") yield client DeviceFactory2DB.reset_sequence(value=0, force=True) DeviceCategoryFactory2DB.reset_sequence(value=0, force=True) EventFactory2DB.reset_sequence(value=0, force=True) EventAFactory2DB.reset_sequence(value=0, force=True) EventBFactory2DB.reset_sequence(value=0, force=True) BusinessRuleFactory2DB.reset_sequence(value=0, force=True) LocationFactory2DB.reset_sequence(value=0, force=True) print("ORM_CLIENT END") client.close()
def test_device_to_string(api_client, orm_client, create_device_category, create_location, test_input, test_output): device = DeviceFactory2DB(name=test_input[0], category=test_input[1], location=test_input[2]) assert device.__str__() == test_output[0]
def test_get_devices_all(api_client, orm_client, create_device_category, create_location, test_input, test_input_2): assert orm_client.session.query(Device).count() == 0 device_1 = DeviceFactory2DB(name=test_input[0], category=test_input[1], location=test_input[2]) assert orm_client.session.query(Device).count() == 1 device_2 = DeviceFactory2DB(name=test_input_2[0], category=test_input_2[1], location=test_input_2[2]) assert orm_client.session.query(Device).count() == 2 rv = api_client.get(f"/devices/") assert rv.status_code == 200 response_content_1 = json.loads(rv.data)['data'][0] response_content_2 = json.loads(rv.data)['data'][1] assert_devices(response_content_1, device_1.__dict__) assert_devices(response_content_2, device_2.__dict__)
def test_get_device(api_client, orm_client, create_device_category, create_location, test_input): assert orm_client.session.query(Device).count() == 0 device_1 = DeviceFactory2DB(name=test_input[0], category=test_input[1], location=test_input[2]) assert orm_client.session.query(Device).count() == 1 rv = api_client.get(f"/devices/{device_1.name}") assert rv.status_code == 200 response_content = json.loads(rv.data)['data'] assert_devices(response_content, device_1.__dict__)
def test_delete_device(api_client, orm_client, create_device_category, create_location, test_input): assert orm_client.session.query(Device).count() == 0 device_1 = DeviceFactory2DB(name=test_input[0], category=test_input[1], location=test_input[2]) assert orm_client.session.query(Device).count() == 1 rv = api_client.delete(f"/devices/{device_1.name}") assert rv.status_code == 200 assert orm_client.session.query(Device).count() == 0
def test_insert_event_category_deleted(api_client, orm_client, create_location, test_device_category, test_device, test_event): assert orm_client.session.query(DeviceCategory).count() == 0 device_category = DeviceCategoryFactory2DB( name=test_device_category[0], data_type=test_device_category[1]) assert orm_client.session.query(DeviceCategory).count() == 1 assert orm_client.session.query(Device).count() == 0 device = DeviceFactory2DB(name=test_device[0], category=test_device[1], location=test_device[2]) assert orm_client.session.query(Device).count() == 1 assert orm_client.session.query(Event).count() == 0 EventAFactory2DB(device_name=test_device[0]) assert orm_client.session.query(Event).count() == 1 # Delete a device category. Not possible because the Device has its category rv = api_client.delete(f"/device-categories/{device_category.name}") assert rv.status_code == 400 assert orm_client.session.query(DeviceCategory).count() == 1 assert orm_client.session.query(Device).count() == 1 assert orm_client.session.query(Event).count() == 1 # Device is deleted. Also its events rv = api_client.delete(f"/devices/{device.name}") assert rv.status_code == 200 assert orm_client.session.query(DeviceCategory).count() == 1 assert orm_client.session.query(Device).count() == 0 assert orm_client.session.query(Event).count() == 0 # Insert a new event, but its device has no category EventADictFactory(device_name=test_event[0], value=test_event[1], datetime=test_event[2]) # Delete a device category without any device rv = api_client.delete(f"/device-categories/{device_category.name}") assert rv.status_code == 200 assert orm_client.session.query(DeviceCategory).count() == 0 assert orm_client.session.query(Device).count() == 0 assert orm_client.session.query(Event).count() == 0
def create_device(): return DeviceFactory2DB(name="a")