コード例 #1
0
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()
コード例 #2
0
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]
コード例 #3
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__)
コード例 #4
0
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__)
コード例 #5
0
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
コード例 #6
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
コード例 #7
0
def create_device():
    return DeviceFactory2DB(name="a")