def test_position_simple(json_client, db_connection, db_cur): setup_events_data(db_connection, db_cur) request = { "requests": default_request_parts, "position": 1, } response = json_client.post(Route.GET_MANY.URL, request) assert_success_response(response) assert response.json == { "a": { "1": { "field_1": "data", "field_2": 42, "field_3": [1, 2, 3], "common_field": 1, "meta_position": 1, }, }, "b": { "1": { "field_4": "data", "field_5": 42, "field_6": [1, 2, 3], "common_field": 2, "meta_position": 1, }, "2": { "field_4": "data", "field_5": 42, "field_6": [1, 2, 3], "common_field": 3, "meta_position": 1, }, }, }
def test_partial_mapped_fields(json_client, db_connection, db_cur): setup_data(db_connection, db_cur) request = { "requests": [ { "collection": "a", "ids": [1], "mapped_fields": ["field_1"] }, { "collection": "b", "ids": [1] }, ], } response = json_client.post(Route.GET_MANY.URL, request) assert_success_response(response) assert response.json == { "a": { "1": { "field_1": "data" } }, "b": { "1": data["b"]["1"] }, }
def test_same_fqid(json_client, db_connection, db_cur): setup_data(db_connection, db_cur) request = { "requests": [ { "collection": "b", "ids": [1], "mapped_fields": ["field_4"] }, { "collection": "b", "ids": [1], "mapped_fields": ["field_5"] }, ], } response = json_client.post(Route.GET_MANY.URL, request) assert_success_response(response) assert response.json == { "b": { "1": { "field_4": "data", "field_5": 42 } }, }
def test_filter_none_values(json_client, db_connection, db_cur): setup_data(db_connection, db_cur) request = { "requests": ["b/1/not_existent_field"], } response = json_client.post(Route.GET_MANY.URL, request) assert_success_response(response) assert response.json == {"b": {"1": {}}}
def test_list_of_fqfields(json_client, db_connection, db_cur): setup_data(db_connection, db_cur) request = { "requests": ["a/1/field_1", "c/1/f"], } response = json_client.post(Route.GET_MANY.URL, request) assert_success_response(response) assert response.json == {"a": {"1": {"field_1": "data"}}, "c": {}}
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_simple(json_client, db_connection, db_cur): setup_data(db_connection, db_cur) response = json_client.post(Route.GET_EVERYTHING.URL, {}) assert_success_response(response) assert response.json == { "a": [get_data_with_id("a/1")], "b": [get_data_with_id("b/1")], }
def test_only_deleted(json_client, db_connection, db_cur): setup_data(db_connection, db_cur) response = json_client.post( Route.GET_EVERYTHING.URL, {"get_deleted_models": DeletedModelsBehaviour.ONLY_DELETED}, ) assert_success_response(response) assert response.json == {"a": [get_data_with_id("a/2")]}
def test_deleted_not_deleted(json_client, db_connection, db_cur): setup_data(db_connection, db_cur) request = { "requests": default_request_parts, "get_deleted_models": DeletedModelsBehaviour.ONLY_DELETED, } response = json_client.post(Route.GET_MANY.URL, request) assert_success_response(response) assert response.json == {"a": {}, "b": {}}
def test_position_mapped_fields(json_client, db_connection, db_cur): setup_events_data(db_connection, db_cur) response = json_client.post(Route.GET.URL, { "fqid": FQID, "position": 1, "mapped_fields": ["field_1"] }) assert_success_response(response) assert response.json == {"field_1": "data"}
def test_deleted_all_models(json_client, db_connection, db_cur): setup_data(db_connection, db_cur, 2) response = json_client.post( Route.GET_ALL.URL, { "collection": "a", "get_deleted_models": DeletedModelsBehaviour.ALL_MODELS }, ) assert_success_response(response) assert response.json == {"1": data["a/1"], "2": data["a/2"]}
def test_only_deleted(json_client, db_connection, db_cur): setup_data(db_connection, db_cur, 2) response = json_client.post( Route.GET_ALL.URL, { "collection": "a", "get_deleted_models": DeletedModelsBehaviour.ONLY_DELETED }, ) assert_success_response(response) assert response.json == {"2": data["a/2"]}
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_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_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_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_lt(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": 42}, }, ) assert_success_response(response) assert response.json == {"data": {"2": data["a/2"]}, "position": 3}
def test_neq_none(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_not_none", "operator": "!=", "value": None}, }, ) assert_success_response(response) assert response.json == {"data": {"1": data["a/1"]}, "position": 3}
def test_deleted_all_models(json_client, db_connection, db_cur): setup_data(db_connection, db_cur) response = json_client.post( Route.GET_EVERYTHING.URL, {"get_deleted_models": DeletedModelsBehaviour.ALL_MODELS}, ) assert_success_response(response) assert response.json == { "a": [get_data_with_id("a/1"), get_data_with_id("a/2")], "b": [get_data_with_id("b/1")], }
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_only_invalid_fqids(json_client, db_connection, db_cur): setup_data(db_connection, db_cur) request = { "requests": [{ "collection": "b", "ids": [3] }, { "collection": "c", "ids": [1] }], } response = json_client.post(Route.GET_MANY.URL, request) assert_success_response(response) assert response.json == {"b": {}, "c": {}}
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_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_fqfields_same_fqid(json_client, db_connection, db_cur): setup_data(db_connection, db_cur) request = { "requests": ["b/1/field_4", "b/1/field_5"], } response = json_client.post(Route.GET_MANY.URL, request) assert_success_response(response) assert response.json == { "b": { "1": { "field_4": "data", "field_5": 42 } }, }
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_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_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) response = json_client.post( Route.GET_ALL.URL, { "collection": "a", "mapped_fields": ["field_4", "meta_position"] }, ) assert_success_response(response) assert response.json == { "1": { "field_4": "data", "meta_position": 2 }, "2": { "field_4": "data", "meta_position": 3 }, }
def test_position_mapped_fields(json_client, db_connection, db_cur): setup_events_data(db_connection, db_cur) request = { "requests": [ { "collection": "a", "ids": [1], "mapped_fields": ["field_1"] }, { "collection": "b", "ids": [1, 2], "mapped_fields": ["field_4", "field_5"], }, ], "position": 1, "mapped_fields": ["common_field"], } response = json_client.post(Route.GET_MANY.URL, request) assert_success_response(response) assert response.json == { "a": { "1": { "field_1": "data", "common_field": 1 } }, "b": { "1": { "field_4": "data", "field_5": 42, "common_field": 2 }, "2": { "field_4": "data", "field_5": 42, "common_field": 3 }, }, }