def test_or(json_client, db_connection, db_cur): setup_data(db_connection, db_cur, data) response = json_client.post( Route.FILTER.URL, { "collection": "a", "filter": { "or_filter": [ { "field": "field_1", "operator": "=", "value": "data" }, { "field": "field_1", "operator": "=", "value": "test" }, ] }, }, ) assert_success_response(response) assert response.json == { "data": { "1": data["a/1"], "2": data["a/2"] }, "position": 3, }
def test_mapped_fields_filter_none_values(json_client, db_connection, db_cur): setup_data(db_connection, db_cur, {FQID: data}) response = json_client.post(Route.GET.URL, { "fqid": FQID, "mapped_fields": ["field_that_doesnt_exist"] }) assert_success_response(response) assert response.json == {}
def test_get_only_deleted_fail(json_client, db_connection, db_cur): setup_data(db_connection, db_cur, {FQID: data}) response = json_client.post( Route.GET.URL, { "fqid": FQID, "get_deleted_models": DeletedModelsBehaviour.ONLY_DELETED }, ) assert_error_response(response, ERROR_CODES.MODEL_NOT_DELETED)
def test_get_all_models_deleted(json_client, db_connection, db_cur): setup_data(db_connection, db_cur, {FQID: data}, True) response = json_client.post( Route.GET.URL, { "fqid": FQID, "get_deleted_models": DeletedModelsBehaviour.ALL_MODELS }, ) assert_success_response(response) assert response.json == data
def test_get_no_deleted_success(json_client, db_connection, db_cur): setup_data(db_connection, db_cur, {FQID: data}) response = json_client.post( Route.GET.URL, { "fqid": FQID, "get_deleted_models": DeletedModelsBehaviour.NO_DELETED }, ) assert_success_response(response) assert response.json == data
def test_mapped_fields(json_client, db_connection, db_cur): setup_data(db_connection, db_cur, {FQID: data}) response = json_client.post(Route.GET.URL, { "fqid": FQID, "mapped_fields": ["fqid", "field_3"] }) assert_success_response(response) assert response.json == { "fqid": FQID, "field_3": [1, 2, 3], }
def test_complex(json_client, db_connection, db_cur): setup_data(db_connection, db_cur, data) # (field_1 == 'data' and field_2 > 21) or (field_3 == False and not field_2 < 21) response = json_client.post( Route.FILTER.URL, { "collection": "a", "filter": { "or_filter": [ { "and_filter": [ { "field": "field_1", "operator": "=", "value": "data" }, { "field": "field_2", "operator": ">", "value": 21 }, ] }, { "and_filter": [ { "field": "field_3", "operator": "=", "value": False }, { "not_filter": { "field": "field_2", "operator": "<", "value": 21, } }, ] }, ], }, }, ) assert_success_response(response) assert response.json == { "data": { "1": data["a/1"], "2": data["a/2"] }, "position": 3, }
def test_false(json_client, db_connection, db_cur): setup_data(db_connection, db_cur, data) response = json_client.post( Route.EXISTS.URL, { "collection": "a", "filter": {"field": "field_1", "operator": "=", "value": "doesnt_exist"}, }, ) assert_success_response(response) assert response.json == { "exists": False, "position": 3, }
def test_neq(json_client, db_connection, db_cur): setup_data(db_connection, db_cur, data) response = json_client.post( Route.FILTER.URL, { "collection": "a", "filter": { "field": "field_2", "operator": "!=", "value": 21 }, }, ) assert_success_response(response) assert response.json == {"data": {"1": data["a/1"]}, "position": 3}
def test_empty_field(json_client, db_connection, db_cur): setup_data(db_connection, db_cur, data) response = json_client.post( Route.FILTER.URL, { "collection": "a", "filter": { "field": "empty", "operator": "=", "value": "data" }, }, ) assert_success_response(response) assert response.json == {"data": {}, "position": 3}
def test_2(json_client, db_connection, db_cur): setup_data(db_connection, db_cur, data) response = json_client.post( Route.COUNT.URL, { "collection": "a", "filter": { "field": "field_2", "operator": "=", "value": 42 }, }, ) assert_success_response(response) assert response.json == { "count": 2, "position": 3, }
def test_position(json_client, db_connection, db_cur): setup_data(db_connection, db_cur, data) response = json_client.post( Route.MAX.URL, { "collection": "a", "filter": { "field": "field_2", "operator": "=", "value": 1 }, "field": "meta_position", }, ) assert_success_response(response) assert response.json == { "max": 3, "position": 5, }
def test_simple(json_client, db_connection, db_cur): setup_data(db_connection, db_cur, data) response = json_client.post( Route.MIN.URL, { "collection": "a", "filter": { "field": "field_1", "operator": "!=", "value": "invalid" }, "field": "meta_position", }, ) assert_success_response(response) assert response.json == { "min": 2, "position": 5, }
def test_with_type(json_client, db_connection, db_cur): setup_data(db_connection, db_cur, data) response = json_client.post( Route.MIN.URL, { "collection": "a", "filter": { "field": "meta_position", "operator": ">", "value": 2 }, "field": "meta_position", "type": "int", }, ) assert_success_response(response) assert response.json == { "min": 3, "position": 5, }
def test_mapped_fields(json_client, db_connection, db_cur): setup_data(db_connection, db_cur, data) response = json_client.post( Route.FILTER.URL, { "collection": "a", "filter": { "field": "field_1", "operator": "=", "value": "data" }, "mapped_fields": ["field_3", "meta_position"], }, ) assert_success_response(response) assert response.json == { "data": { "1": { "field_3": True, "meta_position": 1 } }, "position": 3, }
def test_simple(json_client, db_connection, db_cur): setup_data(db_connection, db_cur, {FQID: data}) response = json_client.post(Route.GET.URL, {"fqid": FQID}) assert_success_response(response) assert response.json == data