def test_entity_with_all_supported_types(): service = gen_tenant_id() e = gen_entity(entity_id=1, bool_v=True, int_v=123, num_v=321.07, text_v='wada wada', timex=current_timex() + '+00:00', array_v=[123, {}, False], structured_v={'x': 1}, geoj_v={'type': 'Point', 'coordinates': [30.02, 10.03], 'crs': {'properties': {'name': 'EPSG4326'}, 'type': 'name'}, 'meta': {'srid': 4326} }, slf_point_v='41.3763726, 2.186447514', slf_line_v=['1.0, 2.0', '3.0, 4.0'], slf_polygon_v=['0.0, 0.0', '1.0, 0.0', '0.0, 1.0', '0.0, 0.0'], slf_box_v=['40.63913831188419, -8.653321266174316', '40.63881265804603, -8.653149604797363']) insert_entities(e, service=service) result_set = query_entity_by_id(e['id'], service) actual = query_result_name_value_pairs(result_set) expected = entity_name_value_pairs(e) assert actual == expected
def run_inconsistent_attr_type_in_batch_scenario(self): tenant = gen_tenant_id() good_entity = gen_entity(1, 'Text', 'wada wada') bad_entity = gen_entity(2, 'DateTime', current_timex()) self.insert_entities(tenant, [good_entity, bad_entity]) rs = self.fetch_rows(tenant) assert len(rs) == 2 assert_failed_entity(rs[0], good_entity) assert_failed_entity(rs[1], bad_entity)
def gen_entity(entity_id: int, attr_type: str, attr_value) -> dict: return { 'id': f"eid:{entity_id}", 'type': ENTITY_TYPE, TIME_INDEX_NAME: current_timex(), 'a_number': { 'type': 'Number', 'value': 50.12 }, 'an_attr': { 'type': attr_type, 'value': attr_value } }