Hotfix v0.2091.1 #501
Hotfix v0.2091.1 #501
13 errors, 3 fail, 348 skipped, 2 918 pass in 1h 56m 29s
Annotations
github-actions / Test Results
test_test_connection[pyloop] (dl_connector_bitrix_gds_tests.ext.api.test_connection.TestBitrixConnection) failed
./report/pytest_reports_dl_connector_bitrix_gds_442724729/_src_lib_dl_connector_bitrix_gds_dl_connector_bitrix_gds_tests-ext-ad12e63037fc49018d8f609250f83756.xml [took 3s]
Raw output
AssertionError: {'message': 'Data source is unavailable', 'code': 'ERR.DS_API.DATABASE_UNAVAILABLE', 'debug': {}, 'details': {}}
self = <dl_connector_bitrix_gds_tests.ext.api.test_connection.TestBitrixConnection object at 0x7fcfe437c490>
control_api_sync_client = FlaskSyncApiClient(_int_wclient=<TestClient <Flask 'dl_api_lib.app.control_api.app'>>)
saved_connection_id = 'ymqjfyf4df0ul', bi_headers = None
def test_test_connection(
self,
control_api_sync_client: SyncHttpClientBase,
saved_connection_id: str,
bi_headers: Optional[dict[str, str]],
) -> None:
resp = control_api_sync_client.post(
f"/api/v1/connections/test_connection/{saved_connection_id}",
content_type="application/json",
data=json.dumps({}),
headers=bi_headers,
)
> assert resp.status_code == 200, resp.json
E AssertionError: {'message': 'Data source is unavailable', 'code': 'ERR.DS_API.DATABASE_UNAVAILABLE', 'debug': {}, 'details': {}}
/venv/lib/python3.10/site-packages/dl_api_lib_testing/connector/connection_suite.py:35: AssertionError
Check failure on line 0 in dl_connector_bitrix_gds_tests.ext.api.test_data.TestBitrixDataResult
github-actions / Test Results
test_basic_result (dl_connector_bitrix_gds_tests.ext.api.test_data.TestBitrixDataResult) with error
./report/pytest_reports_dl_connector_bitrix_gds_442724729/_src_lib_dl_connector_bitrix_gds_dl_connector_bitrix_gds_tests-ext-ad12e63037fc49018d8f609250f83756.xml [took 3s]
Raw output
failed on setup with "AssertionError: {'code': 'ERR.DS_API.VALIDATION.ERROR', 'dataset': {'result_schema_aux': {'inter_dependencies': {'deps': []}}, 'revision_id': None, 'avatar_relations': [], 'preview_enabled': True, 'rls': {}, 'component_errors': {'items': [{'id': '68e3248b-ca7f-4970-b01a-da6b424827d4', 'type': 'data_source', 'errors': [{'message': 'Data source (table) identified by: `default..crm_deal` does not exist.', 'code': 'ERR.DS_API.DB.SOURCE_DOES_NOT_EXIST', 'level': 'error', 'details': {'db_message': ''}}]}]}, 'obligatory_filters': [], 'sources': [{'source_type': 'BITRIX_GDS', 'parameters': {'db_version': None, 'table_name': 'crm_deal', 'db_name': 'default'}, 'id': '68e3248b-ca7f-4970-b01a-da6b424827d4', 'raw_schema': [], 'virtual': False, 'valid': False, 'managed_by': 'user', 'parameter_hash': '4a9115ae1e7e8ae5', 'index_info_set': None, 'title': 'crm_deal', 'connection_id': 'g48128a84x2u3'}], 'result_schema': [], 'source_avatars': [{'source_id': '68e3248b-ca7f-4970-b01a-da6b424827d4', 'id': '2febb553-0269-438d-a2a4-7dcc683455ec', 'virtual': False, 'valid': True, 'managed_by': 'user', 'title': 'avatar_1', 'is_root': True}], 'load_preview_by_default': True}, 'message': 'Validation finished with errors.', 'dataset_errors': [], 'options': {'schema_update_enabled': False, 'data_types': {'items': [{'casts': ['string', 'date', 'genericdatetime', 'boolean', 'integer', 'float', 'geopoint', 'geopolygon'], 'type': 'string', 'aggregations': ['count', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'STARTSWITH', 'ISTARTSWITH', 'ENDSWITH', 'IENDSWITH', 'CONTAINS', 'ICONTAINS', 'NOTCONTAINS', 'NOTICONTAINS', 'NOTICONTAINS', 'IN', 'NIN', 'BETWEEN']}, {'casts': ['integer', 'float', 'string', 'boolean', 'date', 'genericdatetime'], 'type': 'integer', 'aggregations': ['count', 'sum', 'avg', 'min', 'max', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'STARTSWITH', 'ISTARTSWITH', 'ENDSWITH', 'IENDSWITH', 'CONTAINS', 'ICONTAINS', 'NOTCONTAINS', 'NOTICONTAINS', 'NOTICONTAINS', 'IN', 'NIN', 'BETWEEN']}, {'casts': ['float', 'integer', 'string', 'boolean', 'date', 'genericdatetime'], 'type': 'float', 'aggregations': ['count', 'sum', 'avg', 'min', 'max', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'IN', 'NIN', 'BETWEEN']}, {'casts': ['date', 'genericdatetime', 'string', 'integer', 'float', 'boolean'], 'type': 'date', 'aggregations': ['count', 'min', 'max', 'countunique', 'avg'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'IN', 'NIN', 'BETWEEN']}, {'casts': ['genericdatetime', 'datetime', 'date', 'string', 'integer', 'float', 'boolean'], 'type': 'datetime', 'aggregations': ['count', 'min', 'max', 'countunique', 'avg'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'IN', 'NIN', 'BETWEEN']}, {'casts': ['boolean', 'integer', 'float', 'string'], 'type': 'boolean', 'aggregations': ['count'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'IN', 'NIN']}, {'casts': ['geopoint', 'string'], 'type': 'geopoint', 'aggregations': ['count'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'IN', 'NIN']}, {'casts': ['geopolygon', 'string'], 'type': 'geopolygon', 'aggregations': ['count'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'IN', 'NIN']}, {'casts': ['uuid', 'string'], 'type': 'uuid', 'aggregations': ['count', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'STARTSWITH', 'ISTARTSWITH', 'ENDSWITH', 'IENDSWITH', 'CONTAINS', 'ICONTAINS', 'NOTCONTAINS', 'NOTICONTAINS', 'NOTICONTAINS', 'IN', 'NIN', 'BETWEEN']}, {'casts': ['markup'], 'type': 'markup', 'aggregations': ['count'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL']}, {'casts': ['datetimetz', 'genericdatetime', 'date', 'string', 'integer', 'float', 'boolean'], 'type': 'datetimetz', 'aggregations': ['count', 'min', 'max', 'countunique', 'avg'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'IN', 'NIN', 'BETWEEN']}, {'casts': ['unsupported'], 'type': 'unsupported', 'aggregations': [], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL']}, {'casts': ['array_str', 'string'], 'type': 'array_str', 'aggregations': ['count', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'STARTSWITH', 'CONTAINS', 'NOTCONTAINS', 'LENEQ', 'LENEQ', 'LENNE', 'LENNE', 'LENGT', 'LENGT', 'LENGTE', 'LENGTE', 'LENLT', 'LENLT', 'LENLTE', 'LENLTE']}, {'casts': ['array_int', 'string'], 'type': 'array_int', 'aggregations': ['count', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'STARTSWITH', 'CONTAINS', 'NOTCONTAINS', 'LENEQ', 'LENEQ', 'LENNE', 'LENNE', 'LENGT', 'LENGT', 'LENGTE', 'LENGTE', 'LENLT', 'LENLT', 'LENLTE', 'LENLTE']}, {'casts': ['array_float', 'string'], 'type': 'array_float', 'aggregations': ['count', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'STARTSWITH', 'CONTAINS', 'NOTCONTAINS', 'LENEQ', 'LENEQ', 'LENNE', 'LENNE', 'LENGT', 'LENGT', 'LENGTE', 'LENGTE', 'LENLT', 'LENLT', 'LENLTE', 'LENLTE']}, {'casts': ['tree_str'], 'type': 'tree_str', 'aggregations': ['count', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'STARTSWITH', 'CONTAINS', 'NOTCONTAINS', 'LENEQ', 'LENEQ', 'LENNE', 'LENNE', 'LENGT', 'LENGT', 'LENGTE', 'LENGTE', 'LENLT', 'LENLT', 'LENLTE', 'LENLTE']}, {'casts': ['genericdatetime', 'date', 'string', 'integer', 'float', 'boolean'], 'type': 'genericdatetime', 'aggregations': ['count', 'min', 'max', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'IN', 'NIN', 'BETWEEN']}]}, 'join': {'types': ['inner', 'left', 'right', 'full'], 'operators': ['eq']}, 'connections': {'max': 1, 'items': [{'id': 'g48128a84x2u3', 'replacement_types': [{'conn_type': 'postgres'}]}], 'compatible_types': []}, 'fields': {'items': []}, 'preview': {'enabled': True}, 'sources': {'items': [{'id': '68e3248b-ca7f-4970-b01a-da6b424827d4', 'schema_update_enabled': False}], 'compatible_types': [{'source_type': 'BITRIX_GDS'}]}, 'supports_offset': True, 'supported_functions': ['abs', 'acos', 'all_concat', 'any', 'arr_remove', 'arr_str', 'array', 'ascii', 'asin', 'atan', 'atan2', 'avg', 'avg_if', 'bold', 'bool', 'br', 'case', 'cast_arr_float', 'cast_arr_int', 'cast_arr_str', 'ceiling', 'char', 'color', 'concat', 'contains', 'contains_all', 'contains_any', 'cos', 'cot', 'count', 'count_if', 'count_item', 'countd', 'countd_if', 'date', 'dateadd', 'datepart', 'datetime', 'datetrunc', 'day', 'dayofweek', 'db_cast', 'degrees', 'div', 'div_safe', 'endswith', 'exp', 'fdiv_safe', 'find', 'first', 'float', 'floor', 'geopoint', 'geopolygon', 'get_item', 'greatest', 'hour', 'icontains', 'iendswith', 'if', 'ifnan', 'ifnull', 'iif', 'image', 'int', 'isnan', 'isnull', 'istartswith', 'italic', 'lag', 'last', 'least', 'left', 'len', 'ln', 'log', 'log10', 'lower', 'ltrim', 'markup', 'mavg', 'max', 'mcount', 'median', 'min', 'minute', 'mmax', 'mmin', 'month', 'msum', 'notcontains', 'now', 'pi', 'power', 'quantile', 'quarter', 'radians', 'rank', 'rank_dense', 'rank_percentile', 'rank_unique', 'ravg', 'rcount', 'regexp_extract', 'regexp_extract_nth', 'regexp_match', 'regexp_replace', 'replace', 'right', 'rmax', 'rmin', 'round', 'rsum', 'rtrim', 'second', 'sign', 'sin', 'size', 'slice', 'space', 'split', 'sqrt', 'square', 'startswith', 'stdev', 'stdevp', 'str', 'substr', 'sum', 'sum_if', 'tan', 'today', 'tree', 'trim', 'unnest', 'upper', 'url', 'var', 'varp', 'week', 'year', 'zn'], 'source_avatars': {'max': 32, 'items': [{'id': '2febb553-0269-438d-a2a4-7dcc683455ec', 'schema_update_enabled': False}]}}}"
> lambda: ihook(item=item, **kwds), when=when, reraise=reraise
)
/venv/lib/python3.10/site-packages/flaky/flaky_pytest_plugin.py:146:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/venv/lib/python3.10/site-packages/pytest_lazyfixture.py:39: in fill
_fillfixtures()
/venv/lib/python3.10/site-packages/dl_api_lib_testing/dataset_base.py:41: in saved_dataset
ds = self.make_basic_dataset(
/venv/lib/python3.10/site-packages/dl_api_lib_testing/dataset_base.py:30: in make_basic_dataset
ds = control_api.apply_updates(dataset=ds, fail_ok=False).dataset
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = SyncHttpDatasetApiV1(client=FlaskSyncApiClient(_int_wclient=<TestClient <Flask 'dl_api_lib.app.control_api.app'>>), headers={}, _created_dataset_id_list=[], serial_adapter=DatasetApiV1SerializationAdapter())
dataset = Dataset(id='5b70463d-46c4-4f7b-9270-2a76ace0deb2', created_=False, name=None, revision_id=None, load_preview_by_defaul...sultSchemaAux(inter_dependencies={}), rls={}, component_errors=ComponentErrorRegistry(items=[]), obligatory_filters=[])
updates = [UpdateAction(action=<Action.add: 'add'>, item=DataSource(id='68e3248b-ca7f-4970-b01a-da6b424827d4', created_=False, c...', title='avatar_1', is_root=False, managed_by=<ManagedBy.user: 'user'>, valid=True), custom_data=None, order_index=0)]
fail_ok = False
def apply_updates( # type: ignore # TODO: fix
self,
dataset: Dataset,
updates: list[Union[UpdateAction, dict]] = None, # type: ignore # 2024-01-24 # TODO: Incompatible default for argument "updates" (default has type "None", argument has type "list[UpdateAction | dict[Any, Any]]") [assignment]
fail_ok: bool = False,
) -> HttpDatasetApiResponse:
if dataset.created_:
url = f"/api/v1/datasets/{dataset.id}/versions/draft/validators/schema"
else:
url = "/api/v1/datasets/validators/dataset"
data = self.dump_dataset_to_request_body(dataset)
updates = list(updates or ()) + self.serial_adapter.generate_implicit_updates(dataset) # type: ignore # 2024-01-24 # TODO: Unsupported operand types for + ("list[UpdateAction | dict[Any, Any]]" and "list[UpdateAction]") [operator]
data["updates"] = self.serial_adapter.dump_updates(updates)
response = self._request(url, method="post", data=data)
if fail_ok:
# `fail_ok` should not mean `allow 5xx`
assert response.status_code < 500, response.json
else:
try:
> assert response.status_code == HTTPStatus.OK, response.json
E AssertionError: {'code': 'ERR.DS_API.VALIDATION.ERROR', 'dataset': {'result_schema_aux': {'inter_dependencies': {'deps': []}}, 'revision_id': None, 'avatar_relations': [], 'preview_enabled': True, 'rls': {}, 'component_errors': {'items': [{'id': '68e3248b-ca7f-4970-b01a-da6b424827d4', 'type': 'data_source', 'errors': [{'message': 'Data source (table) identified by: `default..crm_deal` does not exist.', 'code': 'ERR.DS_API.DB.SOURCE_DOES_NOT_EXIST', 'level': 'error', 'details': {'db_message': ''}}]}]}, 'obligatory_filters': [], 'sources': [{'source_type': 'BITRIX_GDS', 'parameters': {'db_version': None, 'table_name': 'crm_deal', 'db_name': 'default'}, 'id': '68e3248b-ca7f-4970-b01a-da6b424827d4', 'raw_schema': [], 'virtual': False, 'valid': False, 'managed_by': 'user', 'parameter_hash': '4a9115ae1e7e8ae5', 'index_info_set': None, 'title': 'crm_deal', 'connection_id': 'g48128a84x2u3'}], 'result_schema': [], 'source_avatars': [{'source_id': '68e3248b-ca7f-4970-b01a-da6b424827d4', 'id': '2febb553-0269-438d-a2a4-7dcc683455ec', 'virtual': False, 'valid': True, 'managed_by': 'user', 'title': 'avatar_1', 'is_root': True}], 'load_preview_by_default': True}, 'message': 'Validation finished with errors.', 'dataset_errors': [], 'options': {'schema_update_enabled': False, 'data_types': {'items': [{'casts': ['string', 'date', 'genericdatetime', 'boolean', 'integer', 'float', 'geopoint', 'geopolygon'], 'type': 'string', 'aggregations': ['count', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'STARTSWITH', 'ISTARTSWITH', 'ENDSWITH', 'IENDSWITH', 'CONTAINS', 'ICONTAINS', 'NOTCONTAINS', 'NOTICONTAINS', 'NOTICONTAINS', 'IN', 'NIN', 'BETWEEN']}, {'casts': ['integer', 'float', 'string', 'boolean', 'date', 'genericdatetime'], 'type': 'integer', 'aggregations': ['count', 'sum', 'avg', 'min', 'max', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'STARTSWITH', 'ISTARTSWITH', 'ENDSWITH', 'IENDSWITH', 'CONTAINS', 'ICONTAINS', 'NOTCONTAINS', 'NOTICONTAINS', 'NOTICONTAINS', 'IN', 'NIN', 'BETWEEN']}, {'casts': ['float', 'integer', 'string', 'boolean', 'date', 'genericdatetime'], 'type': 'float', 'aggregations': ['count', 'sum', 'avg', 'min', 'max', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'IN', 'NIN', 'BETWEEN']}, {'casts': ['date', 'genericdatetime', 'string', 'integer', 'float', 'boolean'], 'type': 'date', 'aggregations': ['count', 'min', 'max', 'countunique', 'avg'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'IN', 'NIN', 'BETWEEN']}, {'casts': ['genericdatetime', 'datetime', 'date', 'string', 'integer', 'float', 'boolean'], 'type': 'datetime', 'aggregations': ['count', 'min', 'max', 'countunique', 'avg'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'IN', 'NIN', 'BETWEEN']}, {'casts': ['boolean', 'integer', 'float', 'string'], 'type': 'boolean', 'aggregations': ['count'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'IN', 'NIN']}, {'casts': ['geopoint', 'string'], 'type': 'geopoint', 'aggregations': ['count'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'IN', 'NIN']}, {'casts': ['geopolygon', 'string'], 'type': 'geopolygon', 'aggregations': ['count'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'IN', 'NIN']}, {'casts': ['uuid', 'string'], 'type': 'uuid', 'aggregations': ['count', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'STARTSWITH', 'ISTARTSWITH', 'ENDSWITH', 'IENDSWITH', 'CONTAINS', 'ICONTAINS', 'NOTCONTAINS', 'NOTICONTAINS', 'NOTICONTAINS', 'IN', 'NIN', 'BETWEEN']}, {'casts': ['markup'], 'type': 'markup', 'aggregations': ['count'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL']}, {'casts': ['datetimetz', 'genericdatetime', 'date', 'string', 'integer', 'float', 'boolean'], 'type': 'datetimetz', 'aggregations': ['count', 'min', 'max', 'countunique', 'avg'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'IN', 'NIN', 'BETWEEN']}, {'casts': ['unsupported'], 'type': 'unsupported', 'aggregations': [], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL']}, {'casts': ['array_str', 'string'], 'type': 'array_str', 'aggregations': ['count', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'STARTSWITH', 'CONTAINS', 'NOTCONTAINS', 'LENEQ', 'LENEQ', 'LENNE', 'LENNE', 'LENGT', 'LENGT', 'LENGTE', 'LENGTE', 'LENLT', 'LENLT', 'LENLTE', 'LENLTE']}, {'casts': ['array_int', 'string'], 'type': 'array_int', 'aggregations': ['count', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'STARTSWITH', 'CONTAINS', 'NOTCONTAINS', 'LENEQ', 'LENEQ', 'LENNE', 'LENNE', 'LENGT', 'LENGT', 'LENGTE', 'LENGTE', 'LENLT', 'LENLT', 'LENLTE', 'LENLTE']}, {'casts': ['array_float', 'string'], 'type': 'array_float', 'aggregations': ['count', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'STARTSWITH', 'CONTAINS', 'NOTCONTAINS', 'LENEQ', 'LENEQ', 'LENNE', 'LENNE', 'LENGT', 'LENGT', 'LENGTE', 'LENGTE', 'LENLT', 'LENLT', 'LENLTE', 'LENLTE']}, {'casts': ['tree_str'], 'type': 'tree_str', 'aggregations': ['count', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'STARTSWITH', 'CONTAINS', 'NOTCONTAINS', 'LENEQ', 'LENEQ', 'LENNE', 'LENNE', 'LENGT', 'LENGT', 'LENGTE', 'LENGTE', 'LENLT', 'LENLT', 'LENLTE', 'LENLTE']}, {'casts': ['genericdatetime', 'date', 'string', 'integer', 'float', 'boolean'], 'type': 'genericdatetime', 'aggregations': ['count', 'min', 'max', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'IN', 'NIN', 'BETWEEN']}]}, 'join': {'types': ['inner', 'left', 'right', 'full'], 'operators': ['eq']}, 'connections': {'max': 1, 'items': [{'id': 'g48128a84x2u3', 'replacement_types': [{'conn_type': 'postgres'}]}], 'compatible_types': []}, 'fields': {'items': []}, 'preview': {'enabled': True}, 'sources': {'items': [{'id': '68e3248b-ca7f-4970-b01a-da6b424827d4', 'schema_update_enabled': False}], 'compatible_types': [{'source_type': 'BITRIX_GDS'}]}, 'supports_offset': True, 'supported_functions': ['abs', 'acos', 'all_concat', 'any', 'arr_remove', 'arr_str', 'array', 'ascii', 'asin', 'atan', 'atan2', 'avg', 'avg_if', 'bold', 'bool', 'br', 'case', 'cast_arr_float', 'cast_arr_int', 'cast_arr_str', 'ceiling', 'char', 'color', 'concat', 'contains', 'contains_all', 'contains_any', 'cos', 'cot', 'count', 'count_if', 'count_item', 'countd', 'countd_if', 'date', 'dateadd', 'datepart', 'datetime', 'datetrunc', 'day', 'dayofweek', 'db_cast', 'degrees', 'div', 'div_safe', 'endswith', 'exp', 'fdiv_safe', 'find', 'first', 'float', 'floor', 'geopoint', 'geopolygon', 'get_item', 'greatest', 'hour', 'icontains', 'iendswith', 'if', 'ifnan', 'ifnull', 'iif', 'image', 'int', 'isnan', 'isnull', 'istartswith', 'italic', 'lag', 'last', 'least', 'left', 'len', 'ln', 'log', 'log10', 'lower', 'ltrim', 'markup', 'mavg', 'max', 'mcount', 'median', 'min', 'minute', 'mmax', 'mmin', 'month', 'msum', 'notcontains', 'now', 'pi', 'power', 'quantile', 'quarter', 'radians', 'rank', 'rank_dense', 'rank_percentile', 'rank_unique', 'ravg', 'rcount', 'regexp_extract', 'regexp_extract_nth', 'regexp_match', 'regexp_replace', 'replace', 'right', 'rmax', 'rmin', 'round', 'rsum', 'rtrim', 'second', 'sign', 'sin', 'size', 'slice', 'space', 'split', 'sqrt', 'square', 'startswith', 'stdev', 'stdevp', 'str', 'substr', 'sum', 'sum_if', 'tan', 'today', 'tree', 'trim', 'unnest', 'upper', 'url', 'var', 'varp', 'week', 'year', 'zn'], 'source_avatars': {'max': 32, 'items': [{'id': '2febb553-0269-438d-a2a4-7dcc683455ec', 'schema_update_enabled': False}]}}}
/venv/lib/python3.10/site-packages/dl_api_client/dsmaker/api/dataset_api.py:234: AssertionError
Check failure on line 0 in dl_connector_bitrix_gds_tests.ext.api.test_data.TestBitrixDataResult
github-actions / Test Results
test_duplicated_expressions (dl_connector_bitrix_gds_tests.ext.api.test_data.TestBitrixDataResult) with error
./report/pytest_reports_dl_connector_bitrix_gds_442724729/_src_lib_dl_connector_bitrix_gds_dl_connector_bitrix_gds_tests-ext-ad12e63037fc49018d8f609250f83756.xml [took 3s]
Raw output
failed on setup with "AssertionError: {'code': 'ERR.DS_API.VALIDATION.ERROR', 'dataset': {'result_schema_aux': {'inter_dependencies': {'deps': []}}, 'revision_id': None, 'avatar_relations': [], 'preview_enabled': True, 'rls': {}, 'component_errors': {'items': [{'id': '1c2cf98f-346f-4477-98de-e94bad736618', 'type': 'data_source', 'errors': [{'message': 'Data source (table) identified by: `default..crm_deal` does not exist.', 'code': 'ERR.DS_API.DB.SOURCE_DOES_NOT_EXIST', 'level': 'error', 'details': {'db_message': ''}}]}]}, 'obligatory_filters': [], 'sources': [{'source_type': 'BITRIX_GDS', 'parameters': {'db_version': None, 'table_name': 'crm_deal', 'db_name': 'default'}, 'id': '1c2cf98f-346f-4477-98de-e94bad736618', 'raw_schema': [], 'virtual': False, 'valid': False, 'managed_by': 'user', 'parameter_hash': '8a59d69e7c21c4af', 'index_info_set': None, 'title': 'crm_deal', 'connection_id': 'uimfgzz21psah'}], 'result_schema': [], 'source_avatars': [{'source_id': '1c2cf98f-346f-4477-98de-e94bad736618', 'id': '6b45b1d6-755b-416f-b412-1ed81f1b06d0', 'virtual': False, 'valid': True, 'managed_by': 'user', 'title': 'avatar_1', 'is_root': True}], 'load_preview_by_default': True}, 'message': 'Validation finished with errors.', 'dataset_errors': [], 'options': {'schema_update_enabled': False, 'data_types': {'items': [{'casts': ['string', 'date', 'genericdatetime', 'boolean', 'integer', 'float', 'geopoint', 'geopolygon'], 'type': 'string', 'aggregations': ['count', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'STARTSWITH', 'ISTARTSWITH', 'ENDSWITH', 'IENDSWITH', 'CONTAINS', 'ICONTAINS', 'NOTCONTAINS', 'NOTICONTAINS', 'NOTICONTAINS', 'IN', 'NIN', 'BETWEEN']}, {'casts': ['integer', 'float', 'string', 'boolean', 'date', 'genericdatetime'], 'type': 'integer', 'aggregations': ['count', 'sum', 'avg', 'min', 'max', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'STARTSWITH', 'ISTARTSWITH', 'ENDSWITH', 'IENDSWITH', 'CONTAINS', 'ICONTAINS', 'NOTCONTAINS', 'NOTICONTAINS', 'NOTICONTAINS', 'IN', 'NIN', 'BETWEEN']}, {'casts': ['float', 'integer', 'string', 'boolean', 'date', 'genericdatetime'], 'type': 'float', 'aggregations': ['count', 'sum', 'avg', 'min', 'max', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'IN', 'NIN', 'BETWEEN']}, {'casts': ['date', 'genericdatetime', 'string', 'integer', 'float', 'boolean'], 'type': 'date', 'aggregations': ['count', 'min', 'max', 'countunique', 'avg'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'IN', 'NIN', 'BETWEEN']}, {'casts': ['genericdatetime', 'datetime', 'date', 'string', 'integer', 'float', 'boolean'], 'type': 'datetime', 'aggregations': ['count', 'min', 'max', 'countunique', 'avg'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'IN', 'NIN', 'BETWEEN']}, {'casts': ['boolean', 'integer', 'float', 'string'], 'type': 'boolean', 'aggregations': ['count'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'IN', 'NIN']}, {'casts': ['geopoint', 'string'], 'type': 'geopoint', 'aggregations': ['count'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'IN', 'NIN']}, {'casts': ['geopolygon', 'string'], 'type': 'geopolygon', 'aggregations': ['count'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'IN', 'NIN']}, {'casts': ['uuid', 'string'], 'type': 'uuid', 'aggregations': ['count', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'STARTSWITH', 'ISTARTSWITH', 'ENDSWITH', 'IENDSWITH', 'CONTAINS', 'ICONTAINS', 'NOTCONTAINS', 'NOTICONTAINS', 'NOTICONTAINS', 'IN', 'NIN', 'BETWEEN']}, {'casts': ['markup'], 'type': 'markup', 'aggregations': ['count'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL']}, {'casts': ['datetimetz', 'genericdatetime', 'date', 'string', 'integer', 'float', 'boolean'], 'type': 'datetimetz', 'aggregations': ['count', 'min', 'max', 'countunique', 'avg'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'IN', 'NIN', 'BETWEEN']}, {'casts': ['unsupported'], 'type': 'unsupported', 'aggregations': [], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL']}, {'casts': ['array_str', 'string'], 'type': 'array_str', 'aggregations': ['count', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'STARTSWITH', 'CONTAINS', 'NOTCONTAINS', 'LENEQ', 'LENEQ', 'LENNE', 'LENNE', 'LENGT', 'LENGT', 'LENGTE', 'LENGTE', 'LENLT', 'LENLT', 'LENLTE', 'LENLTE']}, {'casts': ['array_int', 'string'], 'type': 'array_int', 'aggregations': ['count', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'STARTSWITH', 'CONTAINS', 'NOTCONTAINS', 'LENEQ', 'LENEQ', 'LENNE', 'LENNE', 'LENGT', 'LENGT', 'LENGTE', 'LENGTE', 'LENLT', 'LENLT', 'LENLTE', 'LENLTE']}, {'casts': ['array_float', 'string'], 'type': 'array_float', 'aggregations': ['count', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'STARTSWITH', 'CONTAINS', 'NOTCONTAINS', 'LENEQ', 'LENEQ', 'LENNE', 'LENNE', 'LENGT', 'LENGT', 'LENGTE', 'LENGTE', 'LENLT', 'LENLT', 'LENLTE', 'LENLTE']}, {'casts': ['tree_str'], 'type': 'tree_str', 'aggregations': ['count', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'STARTSWITH', 'CONTAINS', 'NOTCONTAINS', 'LENEQ', 'LENEQ', 'LENNE', 'LENNE', 'LENGT', 'LENGT', 'LENGTE', 'LENGTE', 'LENLT', 'LENLT', 'LENLTE', 'LENLTE']}, {'casts': ['genericdatetime', 'date', 'string', 'integer', 'float', 'boolean'], 'type': 'genericdatetime', 'aggregations': ['count', 'min', 'max', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'IN', 'NIN', 'BETWEEN']}]}, 'join': {'types': ['inner', 'left', 'right', 'full'], 'operators': ['eq']}, 'connections': {'max': 1, 'items': [{'id': 'uimfgzz21psah', 'replacement_types': [{'conn_type': 'postgres'}]}], 'compatible_types': []}, 'fields': {'items': []}, 'preview': {'enabled': True}, 'sources': {'items': [{'id': '1c2cf98f-346f-4477-98de-e94bad736618', 'schema_update_enabled': False}], 'compatible_types': [{'source_type': 'BITRIX_GDS'}]}, 'supports_offset': True, 'supported_functions': ['abs', 'acos', 'all_concat', 'any', 'arr_remove', 'arr_str', 'array', 'ascii', 'asin', 'atan', 'atan2', 'avg', 'avg_if', 'bold', 'bool', 'br', 'case', 'cast_arr_float', 'cast_arr_int', 'cast_arr_str', 'ceiling', 'char', 'color', 'concat', 'contains', 'contains_all', 'contains_any', 'cos', 'cot', 'count', 'count_if', 'count_item', 'countd', 'countd_if', 'date', 'dateadd', 'datepart', 'datetime', 'datetrunc', 'day', 'dayofweek', 'db_cast', 'degrees', 'div', 'div_safe', 'endswith', 'exp', 'fdiv_safe', 'find', 'first', 'float', 'floor', 'geopoint', 'geopolygon', 'get_item', 'greatest', 'hour', 'icontains', 'iendswith', 'if', 'ifnan', 'ifnull', 'iif', 'image', 'int', 'isnan', 'isnull', 'istartswith', 'italic', 'lag', 'last', 'least', 'left', 'len', 'ln', 'log', 'log10', 'lower', 'ltrim', 'markup', 'mavg', 'max', 'mcount', 'median', 'min', 'minute', 'mmax', 'mmin', 'month', 'msum', 'notcontains', 'now', 'pi', 'power', 'quantile', 'quarter', 'radians', 'rank', 'rank_dense', 'rank_percentile', 'rank_unique', 'ravg', 'rcount', 'regexp_extract', 'regexp_extract_nth', 'regexp_match', 'regexp_replace', 'replace', 'right', 'rmax', 'rmin', 'round', 'rsum', 'rtrim', 'second', 'sign', 'sin', 'size', 'slice', 'space', 'split', 'sqrt', 'square', 'startswith', 'stdev', 'stdevp', 'str', 'substr', 'sum', 'sum_if', 'tan', 'today', 'tree', 'trim', 'unnest', 'upper', 'url', 'var', 'varp', 'week', 'year', 'zn'], 'source_avatars': {'max': 32, 'items': [{'id': '6b45b1d6-755b-416f-b412-1ed81f1b06d0', 'schema_update_enabled': False}]}}}"
> lambda: ihook(item=item, **kwds), when=when, reraise=reraise
)
/venv/lib/python3.10/site-packages/flaky/flaky_pytest_plugin.py:146:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/venv/lib/python3.10/site-packages/pytest_lazyfixture.py:39: in fill
_fillfixtures()
/venv/lib/python3.10/site-packages/dl_api_lib_testing/dataset_base.py:41: in saved_dataset
ds = self.make_basic_dataset(
/venv/lib/python3.10/site-packages/dl_api_lib_testing/dataset_base.py:30: in make_basic_dataset
ds = control_api.apply_updates(dataset=ds, fail_ok=False).dataset
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = SyncHttpDatasetApiV1(client=FlaskSyncApiClient(_int_wclient=<TestClient <Flask 'dl_api_lib.app.control_api.app'>>), headers={}, _created_dataset_id_list=[], serial_adapter=DatasetApiV1SerializationAdapter())
dataset = Dataset(id='b0ed249f-916f-4398-bf55-060823111208', created_=False, name=None, revision_id=None, load_preview_by_defaul...sultSchemaAux(inter_dependencies={}), rls={}, component_errors=ComponentErrorRegistry(items=[]), obligatory_filters=[])
updates = [UpdateAction(action=<Action.add: 'add'>, item=DataSource(id='1c2cf98f-346f-4477-98de-e94bad736618', created_=False, c...', title='avatar_1', is_root=False, managed_by=<ManagedBy.user: 'user'>, valid=True), custom_data=None, order_index=0)]
fail_ok = False
def apply_updates( # type: ignore # TODO: fix
self,
dataset: Dataset,
updates: list[Union[UpdateAction, dict]] = None, # type: ignore # 2024-01-24 # TODO: Incompatible default for argument "updates" (default has type "None", argument has type "list[UpdateAction | dict[Any, Any]]") [assignment]
fail_ok: bool = False,
) -> HttpDatasetApiResponse:
if dataset.created_:
url = f"/api/v1/datasets/{dataset.id}/versions/draft/validators/schema"
else:
url = "/api/v1/datasets/validators/dataset"
data = self.dump_dataset_to_request_body(dataset)
updates = list(updates or ()) + self.serial_adapter.generate_implicit_updates(dataset) # type: ignore # 2024-01-24 # TODO: Unsupported operand types for + ("list[UpdateAction | dict[Any, Any]]" and "list[UpdateAction]") [operator]
data["updates"] = self.serial_adapter.dump_updates(updates)
response = self._request(url, method="post", data=data)
if fail_ok:
# `fail_ok` should not mean `allow 5xx`
assert response.status_code < 500, response.json
else:
try:
> assert response.status_code == HTTPStatus.OK, response.json
E AssertionError: {'code': 'ERR.DS_API.VALIDATION.ERROR', 'dataset': {'result_schema_aux': {'inter_dependencies': {'deps': []}}, 'revision_id': None, 'avatar_relations': [], 'preview_enabled': True, 'rls': {}, 'component_errors': {'items': [{'id': '1c2cf98f-346f-4477-98de-e94bad736618', 'type': 'data_source', 'errors': [{'message': 'Data source (table) identified by: `default..crm_deal` does not exist.', 'code': 'ERR.DS_API.DB.SOURCE_DOES_NOT_EXIST', 'level': 'error', 'details': {'db_message': ''}}]}]}, 'obligatory_filters': [], 'sources': [{'source_type': 'BITRIX_GDS', 'parameters': {'db_version': None, 'table_name': 'crm_deal', 'db_name': 'default'}, 'id': '1c2cf98f-346f-4477-98de-e94bad736618', 'raw_schema': [], 'virtual': False, 'valid': False, 'managed_by': 'user', 'parameter_hash': '8a59d69e7c21c4af', 'index_info_set': None, 'title': 'crm_deal', 'connection_id': 'uimfgzz21psah'}], 'result_schema': [], 'source_avatars': [{'source_id': '1c2cf98f-346f-4477-98de-e94bad736618', 'id': '6b45b1d6-755b-416f-b412-1ed81f1b06d0', 'virtual': False, 'valid': True, 'managed_by': 'user', 'title': 'avatar_1', 'is_root': True}], 'load_preview_by_default': True}, 'message': 'Validation finished with errors.', 'dataset_errors': [], 'options': {'schema_update_enabled': False, 'data_types': {'items': [{'casts': ['string', 'date', 'genericdatetime', 'boolean', 'integer', 'float', 'geopoint', 'geopolygon'], 'type': 'string', 'aggregations': ['count', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'STARTSWITH', 'ISTARTSWITH', 'ENDSWITH', 'IENDSWITH', 'CONTAINS', 'ICONTAINS', 'NOTCONTAINS', 'NOTICONTAINS', 'NOTICONTAINS', 'IN', 'NIN', 'BETWEEN']}, {'casts': ['integer', 'float', 'string', 'boolean', 'date', 'genericdatetime'], 'type': 'integer', 'aggregations': ['count', 'sum', 'avg', 'min', 'max', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'STARTSWITH', 'ISTARTSWITH', 'ENDSWITH', 'IENDSWITH', 'CONTAINS', 'ICONTAINS', 'NOTCONTAINS', 'NOTICONTAINS', 'NOTICONTAINS', 'IN', 'NIN', 'BETWEEN']}, {'casts': ['float', 'integer', 'string', 'boolean', 'date', 'genericdatetime'], 'type': 'float', 'aggregations': ['count', 'sum', 'avg', 'min', 'max', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'IN', 'NIN', 'BETWEEN']}, {'casts': ['date', 'genericdatetime', 'string', 'integer', 'float', 'boolean'], 'type': 'date', 'aggregations': ['count', 'min', 'max', 'countunique', 'avg'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'IN', 'NIN', 'BETWEEN']}, {'casts': ['genericdatetime', 'datetime', 'date', 'string', 'integer', 'float', 'boolean'], 'type': 'datetime', 'aggregations': ['count', 'min', 'max', 'countunique', 'avg'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'IN', 'NIN', 'BETWEEN']}, {'casts': ['boolean', 'integer', 'float', 'string'], 'type': 'boolean', 'aggregations': ['count'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'IN', 'NIN']}, {'casts': ['geopoint', 'string'], 'type': 'geopoint', 'aggregations': ['count'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'IN', 'NIN']}, {'casts': ['geopolygon', 'string'], 'type': 'geopolygon', 'aggregations': ['count'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'IN', 'NIN']}, {'casts': ['uuid', 'string'], 'type': 'uuid', 'aggregations': ['count', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'STARTSWITH', 'ISTARTSWITH', 'ENDSWITH', 'IENDSWITH', 'CONTAINS', 'ICONTAINS', 'NOTCONTAINS', 'NOTICONTAINS', 'NOTICONTAINS', 'IN', 'NIN', 'BETWEEN']}, {'casts': ['markup'], 'type': 'markup', 'aggregations': ['count'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL']}, {'casts': ['datetimetz', 'genericdatetime', 'date', 'string', 'integer', 'float', 'boolean'], 'type': 'datetimetz', 'aggregations': ['count', 'min', 'max', 'countunique', 'avg'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'IN', 'NIN', 'BETWEEN']}, {'casts': ['unsupported'], 'type': 'unsupported', 'aggregations': [], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL']}, {'casts': ['array_str', 'string'], 'type': 'array_str', 'aggregations': ['count', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'STARTSWITH', 'CONTAINS', 'NOTCONTAINS', 'LENEQ', 'LENEQ', 'LENNE', 'LENNE', 'LENGT', 'LENGT', 'LENGTE', 'LENGTE', 'LENLT', 'LENLT', 'LENLTE', 'LENLTE']}, {'casts': ['array_int', 'string'], 'type': 'array_int', 'aggregations': ['count', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'STARTSWITH', 'CONTAINS', 'NOTCONTAINS', 'LENEQ', 'LENEQ', 'LENNE', 'LENNE', 'LENGT', 'LENGT', 'LENGTE', 'LENGTE', 'LENLT', 'LENLT', 'LENLTE', 'LENLTE']}, {'casts': ['array_float', 'string'], 'type': 'array_float', 'aggregations': ['count', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'STARTSWITH', 'CONTAINS', 'NOTCONTAINS', 'LENEQ', 'LENEQ', 'LENNE', 'LENNE', 'LENGT', 'LENGT', 'LENGTE', 'LENGTE', 'LENLT', 'LENLT', 'LENLTE', 'LENLTE']}, {'casts': ['tree_str'], 'type': 'tree_str', 'aggregations': ['count', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'STARTSWITH', 'CONTAINS', 'NOTCONTAINS', 'LENEQ', 'LENEQ', 'LENNE', 'LENNE', 'LENGT', 'LENGT', 'LENGTE', 'LENGTE', 'LENLT', 'LENLT', 'LENLTE', 'LENLTE']}, {'casts': ['genericdatetime', 'date', 'string', 'integer', 'float', 'boolean'], 'type': 'genericdatetime', 'aggregations': ['count', 'min', 'max', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'IN', 'NIN', 'BETWEEN']}]}, 'join': {'types': ['inner', 'left', 'right', 'full'], 'operators': ['eq']}, 'connections': {'max': 1, 'items': [{'id': 'uimfgzz21psah', 'replacement_types': [{'conn_type': 'postgres'}]}], 'compatible_types': []}, 'fields': {'items': []}, 'preview': {'enabled': True}, 'sources': {'items': [{'id': '1c2cf98f-346f-4477-98de-e94bad736618', 'schema_update_enabled': False}], 'compatible_types': [{'source_type': 'BITRIX_GDS'}]}, 'supports_offset': True, 'supported_functions': ['abs', 'acos', 'all_concat', 'any', 'arr_remove', 'arr_str', 'array', 'ascii', 'asin', 'atan', 'atan2', 'avg', 'avg_if', 'bold', 'bool', 'br', 'case', 'cast_arr_float', 'cast_arr_int', 'cast_arr_str', 'ceiling', 'char', 'color', 'concat', 'contains', 'contains_all', 'contains_any', 'cos', 'cot', 'count', 'count_if', 'count_item', 'countd', 'countd_if', 'date', 'dateadd', 'datepart', 'datetime', 'datetrunc', 'day', 'dayofweek', 'db_cast', 'degrees', 'div', 'div_safe', 'endswith', 'exp', 'fdiv_safe', 'find', 'first', 'float', 'floor', 'geopoint', 'geopolygon', 'get_item', 'greatest', 'hour', 'icontains', 'iendswith', 'if', 'ifnan', 'ifnull', 'iif', 'image', 'int', 'isnan', 'isnull', 'istartswith', 'italic', 'lag', 'last', 'least', 'left', 'len', 'ln', 'log', 'log10', 'lower', 'ltrim', 'markup', 'mavg', 'max', 'mcount', 'median', 'min', 'minute', 'mmax', 'mmin', 'month', 'msum', 'notcontains', 'now', 'pi', 'power', 'quantile', 'quarter', 'radians', 'rank', 'rank_dense', 'rank_percentile', 'rank_unique', 'ravg', 'rcount', 'regexp_extract', 'regexp_extract_nth', 'regexp_match', 'regexp_replace', 'replace', 'right', 'rmax', 'rmin', 'round', 'rsum', 'rtrim', 'second', 'sign', 'sin', 'size', 'slice', 'space', 'split', 'sqrt', 'square', 'startswith', 'stdev', 'stdevp', 'str', 'substr', 'sum', 'sum_if', 'tan', 'today', 'tree', 'trim', 'unnest', 'upper', 'url', 'var', 'varp', 'week', 'year', 'zn'], 'source_avatars': {'max': 32, 'items': [{'id': '6b45b1d6-755b-416f-b412-1ed81f1b06d0', 'schema_update_enabled': False}]}}}
/venv/lib/python3.10/site-packages/dl_api_client/dsmaker/api/dataset_api.py:234: AssertionError
Check failure on line 0 in dl_connector_bitrix_gds_tests.ext.api.test_data.TestBitrixDataResult
github-actions / Test Results
test_dates (dl_connector_bitrix_gds_tests.ext.api.test_data.TestBitrixDataResult) with error
./report/pytest_reports_dl_connector_bitrix_gds_442724729/_src_lib_dl_connector_bitrix_gds_dl_connector_bitrix_gds_tests-ext-ad12e63037fc49018d8f609250f83756.xml [took 3s]
Raw output
failed on setup with "AssertionError: {'code': 'ERR.DS_API.VALIDATION.ERROR', 'dataset': {'result_schema_aux': {'inter_dependencies': {'deps': []}}, 'revision_id': None, 'avatar_relations': [], 'preview_enabled': True, 'rls': {}, 'component_errors': {'items': [{'id': 'f29d258b-18d4-4004-8d3e-789d77a51814', 'type': 'data_source', 'errors': [{'message': 'Data source (table) identified by: `default..crm_deal` does not exist.', 'code': 'ERR.DS_API.DB.SOURCE_DOES_NOT_EXIST', 'level': 'error', 'details': {'db_message': ''}}]}]}, 'obligatory_filters': [], 'sources': [{'source_type': 'BITRIX_GDS', 'parameters': {'db_version': None, 'table_name': 'crm_deal', 'db_name': 'default'}, 'id': 'f29d258b-18d4-4004-8d3e-789d77a51814', 'raw_schema': [], 'virtual': False, 'valid': False, 'managed_by': 'user', 'parameter_hash': '01fc7335d9e163a0', 'index_info_set': None, 'title': 'crm_deal', 'connection_id': 'g4812zupsj123'}], 'result_schema': [], 'source_avatars': [{'source_id': 'f29d258b-18d4-4004-8d3e-789d77a51814', 'id': '01dc1c4c-4beb-4050-a516-e000bd2bf770', 'virtual': False, 'valid': True, 'managed_by': 'user', 'title': 'avatar_1', 'is_root': True}], 'load_preview_by_default': True}, 'message': 'Validation finished with errors.', 'dataset_errors': [], 'options': {'schema_update_enabled': False, 'data_types': {'items': [{'casts': ['string', 'date', 'genericdatetime', 'boolean', 'integer', 'float', 'geopoint', 'geopolygon'], 'type': 'string', 'aggregations': ['count', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'STARTSWITH', 'ISTARTSWITH', 'ENDSWITH', 'IENDSWITH', 'CONTAINS', 'ICONTAINS', 'NOTCONTAINS', 'NOTICONTAINS', 'NOTICONTAINS', 'IN', 'NIN', 'BETWEEN']}, {'casts': ['integer', 'float', 'string', 'boolean', 'date', 'genericdatetime'], 'type': 'integer', 'aggregations': ['count', 'sum', 'avg', 'min', 'max', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'STARTSWITH', 'ISTARTSWITH', 'ENDSWITH', 'IENDSWITH', 'CONTAINS', 'ICONTAINS', 'NOTCONTAINS', 'NOTICONTAINS', 'NOTICONTAINS', 'IN', 'NIN', 'BETWEEN']}, {'casts': ['float', 'integer', 'string', 'boolean', 'date', 'genericdatetime'], 'type': 'float', 'aggregations': ['count', 'sum', 'avg', 'min', 'max', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'IN', 'NIN', 'BETWEEN']}, {'casts': ['date', 'genericdatetime', 'string', 'integer', 'float', 'boolean'], 'type': 'date', 'aggregations': ['count', 'min', 'max', 'countunique', 'avg'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'IN', 'NIN', 'BETWEEN']}, {'casts': ['genericdatetime', 'datetime', 'date', 'string', 'integer', 'float', 'boolean'], 'type': 'datetime', 'aggregations': ['count', 'min', 'max', 'countunique', 'avg'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'IN', 'NIN', 'BETWEEN']}, {'casts': ['boolean', 'integer', 'float', 'string'], 'type': 'boolean', 'aggregations': ['count'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'IN', 'NIN']}, {'casts': ['geopoint', 'string'], 'type': 'geopoint', 'aggregations': ['count'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'IN', 'NIN']}, {'casts': ['geopolygon', 'string'], 'type': 'geopolygon', 'aggregations': ['count'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'IN', 'NIN']}, {'casts': ['uuid', 'string'], 'type': 'uuid', 'aggregations': ['count', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'STARTSWITH', 'ISTARTSWITH', 'ENDSWITH', 'IENDSWITH', 'CONTAINS', 'ICONTAINS', 'NOTCONTAINS', 'NOTICONTAINS', 'NOTICONTAINS', 'IN', 'NIN', 'BETWEEN']}, {'casts': ['markup'], 'type': 'markup', 'aggregations': ['count'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL']}, {'casts': ['datetimetz', 'genericdatetime', 'date', 'string', 'integer', 'float', 'boolean'], 'type': 'datetimetz', 'aggregations': ['count', 'min', 'max', 'countunique', 'avg'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'IN', 'NIN', 'BETWEEN']}, {'casts': ['unsupported'], 'type': 'unsupported', 'aggregations': [], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL']}, {'casts': ['array_str', 'string'], 'type': 'array_str', 'aggregations': ['count', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'STARTSWITH', 'CONTAINS', 'NOTCONTAINS', 'LENEQ', 'LENEQ', 'LENNE', 'LENNE', 'LENGT', 'LENGT', 'LENGTE', 'LENGTE', 'LENLT', 'LENLT', 'LENLTE', 'LENLTE']}, {'casts': ['array_int', 'string'], 'type': 'array_int', 'aggregations': ['count', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'STARTSWITH', 'CONTAINS', 'NOTCONTAINS', 'LENEQ', 'LENEQ', 'LENNE', 'LENNE', 'LENGT', 'LENGT', 'LENGTE', 'LENGTE', 'LENLT', 'LENLT', 'LENLTE', 'LENLTE']}, {'casts': ['array_float', 'string'], 'type': 'array_float', 'aggregations': ['count', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'STARTSWITH', 'CONTAINS', 'NOTCONTAINS', 'LENEQ', 'LENEQ', 'LENNE', 'LENNE', 'LENGT', 'LENGT', 'LENGTE', 'LENGTE', 'LENLT', 'LENLT', 'LENLTE', 'LENLTE']}, {'casts': ['tree_str'], 'type': 'tree_str', 'aggregations': ['count', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'STARTSWITH', 'CONTAINS', 'NOTCONTAINS', 'LENEQ', 'LENEQ', 'LENNE', 'LENNE', 'LENGT', 'LENGT', 'LENGTE', 'LENGTE', 'LENLT', 'LENLT', 'LENLTE', 'LENLTE']}, {'casts': ['genericdatetime', 'date', 'string', 'integer', 'float', 'boolean'], 'type': 'genericdatetime', 'aggregations': ['count', 'min', 'max', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'IN', 'NIN', 'BETWEEN']}]}, 'join': {'types': ['inner', 'left', 'right', 'full'], 'operators': ['eq']}, 'connections': {'max': 1, 'items': [{'id': 'g4812zupsj123', 'replacement_types': [{'conn_type': 'postgres'}]}], 'compatible_types': []}, 'fields': {'items': []}, 'preview': {'enabled': True}, 'sources': {'items': [{'id': 'f29d258b-18d4-4004-8d3e-789d77a51814', 'schema_update_enabled': False}], 'compatible_types': [{'source_type': 'BITRIX_GDS'}]}, 'supports_offset': True, 'supported_functions': ['abs', 'acos', 'all_concat', 'any', 'arr_remove', 'arr_str', 'array', 'ascii', 'asin', 'atan', 'atan2', 'avg', 'avg_if', 'bold', 'bool', 'br', 'case', 'cast_arr_float', 'cast_arr_int', 'cast_arr_str', 'ceiling', 'char', 'color', 'concat', 'contains', 'contains_all', 'contains_any', 'cos', 'cot', 'count', 'count_if', 'count_item', 'countd', 'countd_if', 'date', 'dateadd', 'datepart', 'datetime', 'datetrunc', 'day', 'dayofweek', 'db_cast', 'degrees', 'div', 'div_safe', 'endswith', 'exp', 'fdiv_safe', 'find', 'first', 'float', 'floor', 'geopoint', 'geopolygon', 'get_item', 'greatest', 'hour', 'icontains', 'iendswith', 'if', 'ifnan', 'ifnull', 'iif', 'image', 'int', 'isnan', 'isnull', 'istartswith', 'italic', 'lag', 'last', 'least', 'left', 'len', 'ln', 'log', 'log10', 'lower', 'ltrim', 'markup', 'mavg', 'max', 'mcount', 'median', 'min', 'minute', 'mmax', 'mmin', 'month', 'msum', 'notcontains', 'now', 'pi', 'power', 'quantile', 'quarter', 'radians', 'rank', 'rank_dense', 'rank_percentile', 'rank_unique', 'ravg', 'rcount', 'regexp_extract', 'regexp_extract_nth', 'regexp_match', 'regexp_replace', 'replace', 'right', 'rmax', 'rmin', 'round', 'rsum', 'rtrim', 'second', 'sign', 'sin', 'size', 'slice', 'space', 'split', 'sqrt', 'square', 'startswith', 'stdev', 'stdevp', 'str', 'substr', 'sum', 'sum_if', 'tan', 'today', 'tree', 'trim', 'unnest', 'upper', 'url', 'var', 'varp', 'week', 'year', 'zn'], 'source_avatars': {'max': 32, 'items': [{'id': '01dc1c4c-4beb-4050-a516-e000bd2bf770', 'schema_update_enabled': False}]}}}"
> lambda: ihook(item=item, **kwds), when=when, reraise=reraise
)
/venv/lib/python3.10/site-packages/flaky/flaky_pytest_plugin.py:146:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/venv/lib/python3.10/site-packages/pytest_lazyfixture.py:39: in fill
_fillfixtures()
/venv/lib/python3.10/site-packages/dl_api_lib_testing/dataset_base.py:41: in saved_dataset
ds = self.make_basic_dataset(
/venv/lib/python3.10/site-packages/dl_api_lib_testing/dataset_base.py:30: in make_basic_dataset
ds = control_api.apply_updates(dataset=ds, fail_ok=False).dataset
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = SyncHttpDatasetApiV1(client=FlaskSyncApiClient(_int_wclient=<TestClient <Flask 'dl_api_lib.app.control_api.app'>>), headers={}, _created_dataset_id_list=[], serial_adapter=DatasetApiV1SerializationAdapter())
dataset = Dataset(id='28c4a147-d396-4c74-8c31-a988aafadfd8', created_=False, name=None, revision_id=None, load_preview_by_defaul...sultSchemaAux(inter_dependencies={}), rls={}, component_errors=ComponentErrorRegistry(items=[]), obligatory_filters=[])
updates = [UpdateAction(action=<Action.add: 'add'>, item=DataSource(id='f29d258b-18d4-4004-8d3e-789d77a51814', created_=False, c...', title='avatar_1', is_root=False, managed_by=<ManagedBy.user: 'user'>, valid=True), custom_data=None, order_index=0)]
fail_ok = False
def apply_updates( # type: ignore # TODO: fix
self,
dataset: Dataset,
updates: list[Union[UpdateAction, dict]] = None, # type: ignore # 2024-01-24 # TODO: Incompatible default for argument "updates" (default has type "None", argument has type "list[UpdateAction | dict[Any, Any]]") [assignment]
fail_ok: bool = False,
) -> HttpDatasetApiResponse:
if dataset.created_:
url = f"/api/v1/datasets/{dataset.id}/versions/draft/validators/schema"
else:
url = "/api/v1/datasets/validators/dataset"
data = self.dump_dataset_to_request_body(dataset)
updates = list(updates or ()) + self.serial_adapter.generate_implicit_updates(dataset) # type: ignore # 2024-01-24 # TODO: Unsupported operand types for + ("list[UpdateAction | dict[Any, Any]]" and "list[UpdateAction]") [operator]
data["updates"] = self.serial_adapter.dump_updates(updates)
response = self._request(url, method="post", data=data)
if fail_ok:
# `fail_ok` should not mean `allow 5xx`
assert response.status_code < 500, response.json
else:
try:
> assert response.status_code == HTTPStatus.OK, response.json
E AssertionError: {'code': 'ERR.DS_API.VALIDATION.ERROR', 'dataset': {'result_schema_aux': {'inter_dependencies': {'deps': []}}, 'revision_id': None, 'avatar_relations': [], 'preview_enabled': True, 'rls': {}, 'component_errors': {'items': [{'id': 'f29d258b-18d4-4004-8d3e-789d77a51814', 'type': 'data_source', 'errors': [{'message': 'Data source (table) identified by: `default..crm_deal` does not exist.', 'code': 'ERR.DS_API.DB.SOURCE_DOES_NOT_EXIST', 'level': 'error', 'details': {'db_message': ''}}]}]}, 'obligatory_filters': [], 'sources': [{'source_type': 'BITRIX_GDS', 'parameters': {'db_version': None, 'table_name': 'crm_deal', 'db_name': 'default'}, 'id': 'f29d258b-18d4-4004-8d3e-789d77a51814', 'raw_schema': [], 'virtual': False, 'valid': False, 'managed_by': 'user', 'parameter_hash': '01fc7335d9e163a0', 'index_info_set': None, 'title': 'crm_deal', 'connection_id': 'g4812zupsj123'}], 'result_schema': [], 'source_avatars': [{'source_id': 'f29d258b-18d4-4004-8d3e-789d77a51814', 'id': '01dc1c4c-4beb-4050-a516-e000bd2bf770', 'virtual': False, 'valid': True, 'managed_by': 'user', 'title': 'avatar_1', 'is_root': True}], 'load_preview_by_default': True}, 'message': 'Validation finished with errors.', 'dataset_errors': [], 'options': {'schema_update_enabled': False, 'data_types': {'items': [{'casts': ['string', 'date', 'genericdatetime', 'boolean', 'integer', 'float', 'geopoint', 'geopolygon'], 'type': 'string', 'aggregations': ['count', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'STARTSWITH', 'ISTARTSWITH', 'ENDSWITH', 'IENDSWITH', 'CONTAINS', 'ICONTAINS', 'NOTCONTAINS', 'NOTICONTAINS', 'NOTICONTAINS', 'IN', 'NIN', 'BETWEEN']}, {'casts': ['integer', 'float', 'string', 'boolean', 'date', 'genericdatetime'], 'type': 'integer', 'aggregations': ['count', 'sum', 'avg', 'min', 'max', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'STARTSWITH', 'ISTARTSWITH', 'ENDSWITH', 'IENDSWITH', 'CONTAINS', 'ICONTAINS', 'NOTCONTAINS', 'NOTICONTAINS', 'NOTICONTAINS', 'IN', 'NIN', 'BETWEEN']}, {'casts': ['float', 'integer', 'string', 'boolean', 'date', 'genericdatetime'], 'type': 'float', 'aggregations': ['count', 'sum', 'avg', 'min', 'max', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'IN', 'NIN', 'BETWEEN']}, {'casts': ['date', 'genericdatetime', 'string', 'integer', 'float', 'boolean'], 'type': 'date', 'aggregations': ['count', 'min', 'max', 'countunique', 'avg'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'IN', 'NIN', 'BETWEEN']}, {'casts': ['genericdatetime', 'datetime', 'date', 'string', 'integer', 'float', 'boolean'], 'type': 'datetime', 'aggregations': ['count', 'min', 'max', 'countunique', 'avg'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'IN', 'NIN', 'BETWEEN']}, {'casts': ['boolean', 'integer', 'float', 'string'], 'type': 'boolean', 'aggregations': ['count'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'IN', 'NIN']}, {'casts': ['geopoint', 'string'], 'type': 'geopoint', 'aggregations': ['count'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'IN', 'NIN']}, {'casts': ['geopolygon', 'string'], 'type': 'geopolygon', 'aggregations': ['count'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'IN', 'NIN']}, {'casts': ['uuid', 'string'], 'type': 'uuid', 'aggregations': ['count', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'STARTSWITH', 'ISTARTSWITH', 'ENDSWITH', 'IENDSWITH', 'CONTAINS', 'ICONTAINS', 'NOTCONTAINS', 'NOTICONTAINS', 'NOTICONTAINS', 'IN', 'NIN', 'BETWEEN']}, {'casts': ['markup'], 'type': 'markup', 'aggregations': ['count'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL']}, {'casts': ['datetimetz', 'genericdatetime', 'date', 'string', 'integer', 'float', 'boolean'], 'type': 'datetimetz', 'aggregations': ['count', 'min', 'max', 'countunique', 'avg'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'IN', 'NIN', 'BETWEEN']}, {'casts': ['unsupported'], 'type': 'unsupported', 'aggregations': [], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL']}, {'casts': ['array_str', 'string'], 'type': 'array_str', 'aggregations': ['count', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'STARTSWITH', 'CONTAINS', 'NOTCONTAINS', 'LENEQ', 'LENEQ', 'LENNE', 'LENNE', 'LENGT', 'LENGT', 'LENGTE', 'LENGTE', 'LENLT', 'LENLT', 'LENLTE', 'LENLTE']}, {'casts': ['array_int', 'string'], 'type': 'array_int', 'aggregations': ['count', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'STARTSWITH', 'CONTAINS', 'NOTCONTAINS', 'LENEQ', 'LENEQ', 'LENNE', 'LENNE', 'LENGT', 'LENGT', 'LENGTE', 'LENGTE', 'LENLT', 'LENLT', 'LENLTE', 'LENLTE']}, {'casts': ['array_float', 'string'], 'type': 'array_float', 'aggregations': ['count', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'STARTSWITH', 'CONTAINS', 'NOTCONTAINS', 'LENEQ', 'LENEQ', 'LENNE', 'LENNE', 'LENGT', 'LENGT', 'LENGTE', 'LENGTE', 'LENLT', 'LENLT', 'LENLTE', 'LENLTE']}, {'casts': ['tree_str'], 'type': 'tree_str', 'aggregations': ['count', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'STARTSWITH', 'CONTAINS', 'NOTCONTAINS', 'LENEQ', 'LENEQ', 'LENNE', 'LENNE', 'LENGT', 'LENGT', 'LENGTE', 'LENGTE', 'LENLT', 'LENLT', 'LENLTE', 'LENLTE']}, {'casts': ['genericdatetime', 'date', 'string', 'integer', 'float', 'boolean'], 'type': 'genericdatetime', 'aggregations': ['count', 'min', 'max', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'IN', 'NIN', 'BETWEEN']}]}, 'join': {'types': ['inner', 'left', 'right', 'full'], 'operators': ['eq']}, 'connections': {'max': 1, 'items': [{'id': 'g4812zupsj123', 'replacement_types': [{'conn_type': 'postgres'}]}], 'compatible_types': []}, 'fields': {'items': []}, 'preview': {'enabled': True}, 'sources': {'items': [{'id': 'f29d258b-18d4-4004-8d3e-789d77a51814', 'schema_update_enabled': False}], 'compatible_types': [{'source_type': 'BITRIX_GDS'}]}, 'supports_offset': True, 'supported_functions': ['abs', 'acos', 'all_concat', 'any', 'arr_remove', 'arr_str', 'array', 'ascii', 'asin', 'atan', 'atan2', 'avg', 'avg_if', 'bold', 'bool', 'br', 'case', 'cast_arr_float', 'cast_arr_int', 'cast_arr_str', 'ceiling', 'char', 'color', 'concat', 'contains', 'contains_all', 'contains_any', 'cos', 'cot', 'count', 'count_if', 'count_item', 'countd', 'countd_if', 'date', 'dateadd', 'datepart', 'datetime', 'datetrunc', 'day', 'dayofweek', 'db_cast', 'degrees', 'div', 'div_safe', 'endswith', 'exp', 'fdiv_safe', 'find', 'first', 'float', 'floor', 'geopoint', 'geopolygon', 'get_item', 'greatest', 'hour', 'icontains', 'iendswith', 'if', 'ifnan', 'ifnull', 'iif', 'image', 'int', 'isnan', 'isnull', 'istartswith', 'italic', 'lag', 'last', 'least', 'left', 'len', 'ln', 'log', 'log10', 'lower', 'ltrim', 'markup', 'mavg', 'max', 'mcount', 'median', 'min', 'minute', 'mmax', 'mmin', 'month', 'msum', 'notcontains', 'now', 'pi', 'power', 'quantile', 'quarter', 'radians', 'rank', 'rank_dense', 'rank_percentile', 'rank_unique', 'ravg', 'rcount', 'regexp_extract', 'regexp_extract_nth', 'regexp_match', 'regexp_replace', 'replace', 'right', 'rmax', 'rmin', 'round', 'rsum', 'rtrim', 'second', 'sign', 'sin', 'size', 'slice', 'space', 'split', 'sqrt', 'square', 'startswith', 'stdev', 'stdevp', 'str', 'substr', 'sum', 'sum_if', 'tan', 'today', 'tree', 'trim', 'unnest', 'upper', 'url', 'var', 'varp', 'week', 'year', 'zn'], 'source_avatars': {'max': 32, 'items': [{'id': '01dc1c4c-4beb-4050-a516-e000bd2bf770', 'schema_update_enabled': False}]}}}
/venv/lib/python3.10/site-packages/dl_api_client/dsmaker/api/dataset_api.py:234: AssertionError
Check failure on line 0 in dl_connector_bitrix_gds_tests.ext.api.test_data.TestBitrixDataResult
github-actions / Test Results
test_get_result_with_formula_in_where (dl_connector_bitrix_gds_tests.ext.api.test_data.TestBitrixDataResult) with error
./report/pytest_reports_dl_connector_bitrix_gds_442724729/_src_lib_dl_connector_bitrix_gds_dl_connector_bitrix_gds_tests-ext-ad12e63037fc49018d8f609250f83756.xml [took 3s]
Raw output
failed on setup with "AssertionError: {'code': 'ERR.DS_API.VALIDATION.ERROR', 'dataset': {'result_schema_aux': {'inter_dependencies': {'deps': []}}, 'revision_id': None, 'avatar_relations': [], 'preview_enabled': True, 'rls': {}, 'component_errors': {'items': [{'id': '538d07f9-9033-41a4-a249-d78772ece0a8', 'type': 'data_source', 'errors': [{'message': 'Data source (table) identified by: `default..crm_deal` does not exist.', 'code': 'ERR.DS_API.DB.SOURCE_DOES_NOT_EXIST', 'level': 'error', 'details': {'db_message': ''}}]}]}, 'obligatory_filters': [], 'sources': [{'source_type': 'BITRIX_GDS', 'parameters': {'db_version': None, 'table_name': 'crm_deal', 'db_name': 'default'}, 'id': '538d07f9-9033-41a4-a249-d78772ece0a8', 'raw_schema': [], 'virtual': False, 'valid': False, 'managed_by': 'user', 'parameter_hash': '5737ef29b10c6b0e', 'index_info_set': None, 'title': 'crm_deal', 'connection_id': 'ymqklvo8smn6l'}], 'result_schema': [], 'source_avatars': [{'source_id': '538d07f9-9033-41a4-a249-d78772ece0a8', 'id': '1ff943c7-53ec-4200-9e31-35d1b7ae7796', 'virtual': False, 'valid': True, 'managed_by': 'user', 'title': 'avatar_1', 'is_root': True}], 'load_preview_by_default': True}, 'message': 'Validation finished with errors.', 'dataset_errors': [], 'options': {'schema_update_enabled': False, 'data_types': {'items': [{'casts': ['string', 'date', 'genericdatetime', 'boolean', 'integer', 'float', 'geopoint', 'geopolygon'], 'type': 'string', 'aggregations': ['count', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'STARTSWITH', 'ISTARTSWITH', 'ENDSWITH', 'IENDSWITH', 'CONTAINS', 'ICONTAINS', 'NOTCONTAINS', 'NOTICONTAINS', 'NOTICONTAINS', 'IN', 'NIN', 'BETWEEN']}, {'casts': ['integer', 'float', 'string', 'boolean', 'date', 'genericdatetime'], 'type': 'integer', 'aggregations': ['count', 'sum', 'avg', 'min', 'max', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'STARTSWITH', 'ISTARTSWITH', 'ENDSWITH', 'IENDSWITH', 'CONTAINS', 'ICONTAINS', 'NOTCONTAINS', 'NOTICONTAINS', 'NOTICONTAINS', 'IN', 'NIN', 'BETWEEN']}, {'casts': ['float', 'integer', 'string', 'boolean', 'date', 'genericdatetime'], 'type': 'float', 'aggregations': ['count', 'sum', 'avg', 'min', 'max', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'IN', 'NIN', 'BETWEEN']}, {'casts': ['date', 'genericdatetime', 'string', 'integer', 'float', 'boolean'], 'type': 'date', 'aggregations': ['count', 'min', 'max', 'countunique', 'avg'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'IN', 'NIN', 'BETWEEN']}, {'casts': ['genericdatetime', 'datetime', 'date', 'string', 'integer', 'float', 'boolean'], 'type': 'datetime', 'aggregations': ['count', 'min', 'max', 'countunique', 'avg'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'IN', 'NIN', 'BETWEEN']}, {'casts': ['boolean', 'integer', 'float', 'string'], 'type': 'boolean', 'aggregations': ['count'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'IN', 'NIN']}, {'casts': ['geopoint', 'string'], 'type': 'geopoint', 'aggregations': ['count'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'IN', 'NIN']}, {'casts': ['geopolygon', 'string'], 'type': 'geopolygon', 'aggregations': ['count'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'IN', 'NIN']}, {'casts': ['uuid', 'string'], 'type': 'uuid', 'aggregations': ['count', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'STARTSWITH', 'ISTARTSWITH', 'ENDSWITH', 'IENDSWITH', 'CONTAINS', 'ICONTAINS', 'NOTCONTAINS', 'NOTICONTAINS', 'NOTICONTAINS', 'IN', 'NIN', 'BETWEEN']}, {'casts': ['markup'], 'type': 'markup', 'aggregations': ['count'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL']}, {'casts': ['datetimetz', 'genericdatetime', 'date', 'string', 'integer', 'float', 'boolean'], 'type': 'datetimetz', 'aggregations': ['count', 'min', 'max', 'countunique', 'avg'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'IN', 'NIN', 'BETWEEN']}, {'casts': ['unsupported'], 'type': 'unsupported', 'aggregations': [], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL']}, {'casts': ['array_str', 'string'], 'type': 'array_str', 'aggregations': ['count', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'STARTSWITH', 'CONTAINS', 'NOTCONTAINS', 'LENEQ', 'LENEQ', 'LENNE', 'LENNE', 'LENGT', 'LENGT', 'LENGTE', 'LENGTE', 'LENLT', 'LENLT', 'LENLTE', 'LENLTE']}, {'casts': ['array_int', 'string'], 'type': 'array_int', 'aggregations': ['count', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'STARTSWITH', 'CONTAINS', 'NOTCONTAINS', 'LENEQ', 'LENEQ', 'LENNE', 'LENNE', 'LENGT', 'LENGT', 'LENGTE', 'LENGTE', 'LENLT', 'LENLT', 'LENLTE', 'LENLTE']}, {'casts': ['array_float', 'string'], 'type': 'array_float', 'aggregations': ['count', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'STARTSWITH', 'CONTAINS', 'NOTCONTAINS', 'LENEQ', 'LENEQ', 'LENNE', 'LENNE', 'LENGT', 'LENGT', 'LENGTE', 'LENGTE', 'LENLT', 'LENLT', 'LENLTE', 'LENLTE']}, {'casts': ['tree_str'], 'type': 'tree_str', 'aggregations': ['count', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'STARTSWITH', 'CONTAINS', 'NOTCONTAINS', 'LENEQ', 'LENEQ', 'LENNE', 'LENNE', 'LENGT', 'LENGT', 'LENGTE', 'LENGTE', 'LENLT', 'LENLT', 'LENLTE', 'LENLTE']}, {'casts': ['genericdatetime', 'date', 'string', 'integer', 'float', 'boolean'], 'type': 'genericdatetime', 'aggregations': ['count', 'min', 'max', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'IN', 'NIN', 'BETWEEN']}]}, 'join': {'types': ['inner', 'left', 'right', 'full'], 'operators': ['eq']}, 'connections': {'max': 1, 'items': [{'id': 'ymqklvo8smn6l', 'replacement_types': [{'conn_type': 'postgres'}]}], 'compatible_types': []}, 'fields': {'items': []}, 'preview': {'enabled': True}, 'sources': {'items': [{'id': '538d07f9-9033-41a4-a249-d78772ece0a8', 'schema_update_enabled': False}], 'compatible_types': [{'source_type': 'BITRIX_GDS'}]}, 'supports_offset': True, 'supported_functions': ['abs', 'acos', 'all_concat', 'any', 'arr_remove', 'arr_str', 'array', 'ascii', 'asin', 'atan', 'atan2', 'avg', 'avg_if', 'bold', 'bool', 'br', 'case', 'cast_arr_float', 'cast_arr_int', 'cast_arr_str', 'ceiling', 'char', 'color', 'concat', 'contains', 'contains_all', 'contains_any', 'cos', 'cot', 'count', 'count_if', 'count_item', 'countd', 'countd_if', 'date', 'dateadd', 'datepart', 'datetime', 'datetrunc', 'day', 'dayofweek', 'db_cast', 'degrees', 'div', 'div_safe', 'endswith', 'exp', 'fdiv_safe', 'find', 'first', 'float', 'floor', 'geopoint', 'geopolygon', 'get_item', 'greatest', 'hour', 'icontains', 'iendswith', 'if', 'ifnan', 'ifnull', 'iif', 'image', 'int', 'isnan', 'isnull', 'istartswith', 'italic', 'lag', 'last', 'least', 'left', 'len', 'ln', 'log', 'log10', 'lower', 'ltrim', 'markup', 'mavg', 'max', 'mcount', 'median', 'min', 'minute', 'mmax', 'mmin', 'month', 'msum', 'notcontains', 'now', 'pi', 'power', 'quantile', 'quarter', 'radians', 'rank', 'rank_dense', 'rank_percentile', 'rank_unique', 'ravg', 'rcount', 'regexp_extract', 'regexp_extract_nth', 'regexp_match', 'regexp_replace', 'replace', 'right', 'rmax', 'rmin', 'round', 'rsum', 'rtrim', 'second', 'sign', 'sin', 'size', 'slice', 'space', 'split', 'sqrt', 'square', 'startswith', 'stdev', 'stdevp', 'str', 'substr', 'sum', 'sum_if', 'tan', 'today', 'tree', 'trim', 'unnest', 'upper', 'url', 'var', 'varp', 'week', 'year', 'zn'], 'source_avatars': {'max': 32, 'items': [{'id': '1ff943c7-53ec-4200-9e31-35d1b7ae7796', 'schema_update_enabled': False}]}}}"
> lambda: ihook(item=item, **kwds), when=when, reraise=reraise
)
/venv/lib/python3.10/site-packages/flaky/flaky_pytest_plugin.py:146:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/venv/lib/python3.10/site-packages/pytest_lazyfixture.py:39: in fill
_fillfixtures()
/venv/lib/python3.10/site-packages/dl_api_lib_testing/dataset_base.py:41: in saved_dataset
ds = self.make_basic_dataset(
/venv/lib/python3.10/site-packages/dl_api_lib_testing/dataset_base.py:30: in make_basic_dataset
ds = control_api.apply_updates(dataset=ds, fail_ok=False).dataset
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = SyncHttpDatasetApiV1(client=FlaskSyncApiClient(_int_wclient=<TestClient <Flask 'dl_api_lib.app.control_api.app'>>), headers={}, _created_dataset_id_list=[], serial_adapter=DatasetApiV1SerializationAdapter())
dataset = Dataset(id='4f2bcc7c-9f98-414b-a250-a7d8afd7f4da', created_=False, name=None, revision_id=None, load_preview_by_defaul...sultSchemaAux(inter_dependencies={}), rls={}, component_errors=ComponentErrorRegistry(items=[]), obligatory_filters=[])
updates = [UpdateAction(action=<Action.add: 'add'>, item=DataSource(id='538d07f9-9033-41a4-a249-d78772ece0a8', created_=False, c...', title='avatar_1', is_root=False, managed_by=<ManagedBy.user: 'user'>, valid=True), custom_data=None, order_index=0)]
fail_ok = False
def apply_updates( # type: ignore # TODO: fix
self,
dataset: Dataset,
updates: list[Union[UpdateAction, dict]] = None, # type: ignore # 2024-01-24 # TODO: Incompatible default for argument "updates" (default has type "None", argument has type "list[UpdateAction | dict[Any, Any]]") [assignment]
fail_ok: bool = False,
) -> HttpDatasetApiResponse:
if dataset.created_:
url = f"/api/v1/datasets/{dataset.id}/versions/draft/validators/schema"
else:
url = "/api/v1/datasets/validators/dataset"
data = self.dump_dataset_to_request_body(dataset)
updates = list(updates or ()) + self.serial_adapter.generate_implicit_updates(dataset) # type: ignore # 2024-01-24 # TODO: Unsupported operand types for + ("list[UpdateAction | dict[Any, Any]]" and "list[UpdateAction]") [operator]
data["updates"] = self.serial_adapter.dump_updates(updates)
response = self._request(url, method="post", data=data)
if fail_ok:
# `fail_ok` should not mean `allow 5xx`
assert response.status_code < 500, response.json
else:
try:
> assert response.status_code == HTTPStatus.OK, response.json
E AssertionError: {'code': 'ERR.DS_API.VALIDATION.ERROR', 'dataset': {'result_schema_aux': {'inter_dependencies': {'deps': []}}, 'revision_id': None, 'avatar_relations': [], 'preview_enabled': True, 'rls': {}, 'component_errors': {'items': [{'id': '538d07f9-9033-41a4-a249-d78772ece0a8', 'type': 'data_source', 'errors': [{'message': 'Data source (table) identified by: `default..crm_deal` does not exist.', 'code': 'ERR.DS_API.DB.SOURCE_DOES_NOT_EXIST', 'level': 'error', 'details': {'db_message': ''}}]}]}, 'obligatory_filters': [], 'sources': [{'source_type': 'BITRIX_GDS', 'parameters': {'db_version': None, 'table_name': 'crm_deal', 'db_name': 'default'}, 'id': '538d07f9-9033-41a4-a249-d78772ece0a8', 'raw_schema': [], 'virtual': False, 'valid': False, 'managed_by': 'user', 'parameter_hash': '5737ef29b10c6b0e', 'index_info_set': None, 'title': 'crm_deal', 'connection_id': 'ymqklvo8smn6l'}], 'result_schema': [], 'source_avatars': [{'source_id': '538d07f9-9033-41a4-a249-d78772ece0a8', 'id': '1ff943c7-53ec-4200-9e31-35d1b7ae7796', 'virtual': False, 'valid': True, 'managed_by': 'user', 'title': 'avatar_1', 'is_root': True}], 'load_preview_by_default': True}, 'message': 'Validation finished with errors.', 'dataset_errors': [], 'options': {'schema_update_enabled': False, 'data_types': {'items': [{'casts': ['string', 'date', 'genericdatetime', 'boolean', 'integer', 'float', 'geopoint', 'geopolygon'], 'type': 'string', 'aggregations': ['count', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'STARTSWITH', 'ISTARTSWITH', 'ENDSWITH', 'IENDSWITH', 'CONTAINS', 'ICONTAINS', 'NOTCONTAINS', 'NOTICONTAINS', 'NOTICONTAINS', 'IN', 'NIN', 'BETWEEN']}, {'casts': ['integer', 'float', 'string', 'boolean', 'date', 'genericdatetime'], 'type': 'integer', 'aggregations': ['count', 'sum', 'avg', 'min', 'max', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'STARTSWITH', 'ISTARTSWITH', 'ENDSWITH', 'IENDSWITH', 'CONTAINS', 'ICONTAINS', 'NOTCONTAINS', 'NOTICONTAINS', 'NOTICONTAINS', 'IN', 'NIN', 'BETWEEN']}, {'casts': ['float', 'integer', 'string', 'boolean', 'date', 'genericdatetime'], 'type': 'float', 'aggregations': ['count', 'sum', 'avg', 'min', 'max', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'IN', 'NIN', 'BETWEEN']}, {'casts': ['date', 'genericdatetime', 'string', 'integer', 'float', 'boolean'], 'type': 'date', 'aggregations': ['count', 'min', 'max', 'countunique', 'avg'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'IN', 'NIN', 'BETWEEN']}, {'casts': ['genericdatetime', 'datetime', 'date', 'string', 'integer', 'float', 'boolean'], 'type': 'datetime', 'aggregations': ['count', 'min', 'max', 'countunique', 'avg'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'IN', 'NIN', 'BETWEEN']}, {'casts': ['boolean', 'integer', 'float', 'string'], 'type': 'boolean', 'aggregations': ['count'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'IN', 'NIN']}, {'casts': ['geopoint', 'string'], 'type': 'geopoint', 'aggregations': ['count'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'IN', 'NIN']}, {'casts': ['geopolygon', 'string'], 'type': 'geopolygon', 'aggregations': ['count'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'IN', 'NIN']}, {'casts': ['uuid', 'string'], 'type': 'uuid', 'aggregations': ['count', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'STARTSWITH', 'ISTARTSWITH', 'ENDSWITH', 'IENDSWITH', 'CONTAINS', 'ICONTAINS', 'NOTCONTAINS', 'NOTICONTAINS', 'NOTICONTAINS', 'IN', 'NIN', 'BETWEEN']}, {'casts': ['markup'], 'type': 'markup', 'aggregations': ['count'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL']}, {'casts': ['datetimetz', 'genericdatetime', 'date', 'string', 'integer', 'float', 'boolean'], 'type': 'datetimetz', 'aggregations': ['count', 'min', 'max', 'countunique', 'avg'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'IN', 'NIN', 'BETWEEN']}, {'casts': ['unsupported'], 'type': 'unsupported', 'aggregations': [], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL']}, {'casts': ['array_str', 'string'], 'type': 'array_str', 'aggregations': ['count', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'STARTSWITH', 'CONTAINS', 'NOTCONTAINS', 'LENEQ', 'LENEQ', 'LENNE', 'LENNE', 'LENGT', 'LENGT', 'LENGTE', 'LENGTE', 'LENLT', 'LENLT', 'LENLTE', 'LENLTE']}, {'casts': ['array_int', 'string'], 'type': 'array_int', 'aggregations': ['count', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'STARTSWITH', 'CONTAINS', 'NOTCONTAINS', 'LENEQ', 'LENEQ', 'LENNE', 'LENNE', 'LENGT', 'LENGT', 'LENGTE', 'LENGTE', 'LENLT', 'LENLT', 'LENLTE', 'LENLTE']}, {'casts': ['array_float', 'string'], 'type': 'array_float', 'aggregations': ['count', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'STARTSWITH', 'CONTAINS', 'NOTCONTAINS', 'LENEQ', 'LENEQ', 'LENNE', 'LENNE', 'LENGT', 'LENGT', 'LENGTE', 'LENGTE', 'LENLT', 'LENLT', 'LENLTE', 'LENLTE']}, {'casts': ['tree_str'], 'type': 'tree_str', 'aggregations': ['count', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'STARTSWITH', 'CONTAINS', 'NOTCONTAINS', 'LENEQ', 'LENEQ', 'LENNE', 'LENNE', 'LENGT', 'LENGT', 'LENGTE', 'LENGTE', 'LENLT', 'LENLT', 'LENLTE', 'LENLTE']}, {'casts': ['genericdatetime', 'date', 'string', 'integer', 'float', 'boolean'], 'type': 'genericdatetime', 'aggregations': ['count', 'min', 'max', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'IN', 'NIN', 'BETWEEN']}]}, 'join': {'types': ['inner', 'left', 'right', 'full'], 'operators': ['eq']}, 'connections': {'max': 1, 'items': [{'id': 'ymqklvo8smn6l', 'replacement_types': [{'conn_type': 'postgres'}]}], 'compatible_types': []}, 'fields': {'items': []}, 'preview': {'enabled': True}, 'sources': {'items': [{'id': '538d07f9-9033-41a4-a249-d78772ece0a8', 'schema_update_enabled': False}], 'compatible_types': [{'source_type': 'BITRIX_GDS'}]}, 'supports_offset': True, 'supported_functions': ['abs', 'acos', 'all_concat', 'any', 'arr_remove', 'arr_str', 'array', 'ascii', 'asin', 'atan', 'atan2', 'avg', 'avg_if', 'bold', 'bool', 'br', 'case', 'cast_arr_float', 'cast_arr_int', 'cast_arr_str', 'ceiling', 'char', 'color', 'concat', 'contains', 'contains_all', 'contains_any', 'cos', 'cot', 'count', 'count_if', 'count_item', 'countd', 'countd_if', 'date', 'dateadd', 'datepart', 'datetime', 'datetrunc', 'day', 'dayofweek', 'db_cast', 'degrees', 'div', 'div_safe', 'endswith', 'exp', 'fdiv_safe', 'find', 'first', 'float', 'floor', 'geopoint', 'geopolygon', 'get_item', 'greatest', 'hour', 'icontains', 'iendswith', 'if', 'ifnan', 'ifnull', 'iif', 'image', 'int', 'isnan', 'isnull', 'istartswith', 'italic', 'lag', 'last', 'least', 'left', 'len', 'ln', 'log', 'log10', 'lower', 'ltrim', 'markup', 'mavg', 'max', 'mcount', 'median', 'min', 'minute', 'mmax', 'mmin', 'month', 'msum', 'notcontains', 'now', 'pi', 'power', 'quantile', 'quarter', 'radians', 'rank', 'rank_dense', 'rank_percentile', 'rank_unique', 'ravg', 'rcount', 'regexp_extract', 'regexp_extract_nth', 'regexp_match', 'regexp_replace', 'replace', 'right', 'rmax', 'rmin', 'round', 'rsum', 'rtrim', 'second', 'sign', 'sin', 'size', 'slice', 'space', 'split', 'sqrt', 'square', 'startswith', 'stdev', 'stdevp', 'str', 'substr', 'sum', 'sum_if', 'tan', 'today', 'tree', 'trim', 'unnest', 'upper', 'url', 'var', 'varp', 'week', 'year', 'zn'], 'source_avatars': {'max': 32, 'items': [{'id': '1ff943c7-53ec-4200-9e31-35d1b7ae7796', 'schema_update_enabled': False}]}}}
/venv/lib/python3.10/site-packages/dl_api_client/dsmaker/api/dataset_api.py:234: AssertionError
Check failure on line 0 in dl_connector_bitrix_gds_tests.ext.api.test_data.TestBitrixDataResult
github-actions / Test Results
test_get_result_with_string_filter_operations_for_numbers (dl_connector_bitrix_gds_tests.ext.api.test_data.TestBitrixDataResult) with error
./report/pytest_reports_dl_connector_bitrix_gds_442724729/_src_lib_dl_connector_bitrix_gds_dl_connector_bitrix_gds_tests-ext-ad12e63037fc49018d8f609250f83756.xml [took 3s]
Raw output
failed on setup with "AssertionError: {'code': 'ERR.DS_API.VALIDATION.ERROR', 'dataset': {'result_schema_aux': {'inter_dependencies': {'deps': []}}, 'revision_id': None, 'avatar_relations': [], 'preview_enabled': True, 'rls': {}, 'component_errors': {'items': [{'id': '04aca34b-0d69-4b29-ae98-cee76512c722', 'type': 'data_source', 'errors': [{'message': 'Data source (table) identified by: `default..crm_deal` does not exist.', 'code': 'ERR.DS_API.DB.SOURCE_DOES_NOT_EXIST', 'level': 'error', 'details': {'db_message': ''}}]}]}, 'obligatory_filters': [], 'sources': [{'source_type': 'BITRIX_GDS', 'parameters': {'db_version': None, 'table_name': 'crm_deal', 'db_name': 'default'}, 'id': '04aca34b-0d69-4b29-ae98-cee76512c722', 'raw_schema': [], 'virtual': False, 'valid': False, 'managed_by': 'user', 'parameter_hash': '6aff1b790c7a03f8', 'index_info_set': None, 'title': 'crm_deal', 'connection_id': '4swqrd85th5er'}], 'result_schema': [], 'source_avatars': [{'source_id': '04aca34b-0d69-4b29-ae98-cee76512c722', 'id': '309bc99d-9700-42d5-9b8c-f410afa0cbc5', 'virtual': False, 'valid': True, 'managed_by': 'user', 'title': 'avatar_1', 'is_root': True}], 'load_preview_by_default': True}, 'message': 'Validation finished with errors.', 'dataset_errors': [], 'options': {'schema_update_enabled': False, 'data_types': {'items': [{'casts': ['string', 'date', 'genericdatetime', 'boolean', 'integer', 'float', 'geopoint', 'geopolygon'], 'type': 'string', 'aggregations': ['count', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'STARTSWITH', 'ISTARTSWITH', 'ENDSWITH', 'IENDSWITH', 'CONTAINS', 'ICONTAINS', 'NOTCONTAINS', 'NOTICONTAINS', 'NOTICONTAINS', 'IN', 'NIN', 'BETWEEN']}, {'casts': ['integer', 'float', 'string', 'boolean', 'date', 'genericdatetime'], 'type': 'integer', 'aggregations': ['count', 'sum', 'avg', 'min', 'max', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'STARTSWITH', 'ISTARTSWITH', 'ENDSWITH', 'IENDSWITH', 'CONTAINS', 'ICONTAINS', 'NOTCONTAINS', 'NOTICONTAINS', 'NOTICONTAINS', 'IN', 'NIN', 'BETWEEN']}, {'casts': ['float', 'integer', 'string', 'boolean', 'date', 'genericdatetime'], 'type': 'float', 'aggregations': ['count', 'sum', 'avg', 'min', 'max', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'IN', 'NIN', 'BETWEEN']}, {'casts': ['date', 'genericdatetime', 'string', 'integer', 'float', 'boolean'], 'type': 'date', 'aggregations': ['count', 'min', 'max', 'countunique', 'avg'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'IN', 'NIN', 'BETWEEN']}, {'casts': ['genericdatetime', 'datetime', 'date', 'string', 'integer', 'float', 'boolean'], 'type': 'datetime', 'aggregations': ['count', 'min', 'max', 'countunique', 'avg'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'IN', 'NIN', 'BETWEEN']}, {'casts': ['boolean', 'integer', 'float', 'string'], 'type': 'boolean', 'aggregations': ['count'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'IN', 'NIN']}, {'casts': ['geopoint', 'string'], 'type': 'geopoint', 'aggregations': ['count'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'IN', 'NIN']}, {'casts': ['geopolygon', 'string'], 'type': 'geopolygon', 'aggregations': ['count'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'IN', 'NIN']}, {'casts': ['uuid', 'string'], 'type': 'uuid', 'aggregations': ['count', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'STARTSWITH', 'ISTARTSWITH', 'ENDSWITH', 'IENDSWITH', 'CONTAINS', 'ICONTAINS', 'NOTCONTAINS', 'NOTICONTAINS', 'NOTICONTAINS', 'IN', 'NIN', 'BETWEEN']}, {'casts': ['markup'], 'type': 'markup', 'aggregations': ['count'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL']}, {'casts': ['datetimetz', 'genericdatetime', 'date', 'string', 'integer', 'float', 'boolean'], 'type': 'datetimetz', 'aggregations': ['count', 'min', 'max', 'countunique', 'avg'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'IN', 'NIN', 'BETWEEN']}, {'casts': ['unsupported'], 'type': 'unsupported', 'aggregations': [], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL']}, {'casts': ['array_str', 'string'], 'type': 'array_str', 'aggregations': ['count', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'STARTSWITH', 'CONTAINS', 'NOTCONTAINS', 'LENEQ', 'LENEQ', 'LENNE', 'LENNE', 'LENGT', 'LENGT', 'LENGTE', 'LENGTE', 'LENLT', 'LENLT', 'LENLTE', 'LENLTE']}, {'casts': ['array_int', 'string'], 'type': 'array_int', 'aggregations': ['count', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'STARTSWITH', 'CONTAINS', 'NOTCONTAINS', 'LENEQ', 'LENEQ', 'LENNE', 'LENNE', 'LENGT', 'LENGT', 'LENGTE', 'LENGTE', 'LENLT', 'LENLT', 'LENLTE', 'LENLTE']}, {'casts': ['array_float', 'string'], 'type': 'array_float', 'aggregations': ['count', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'STARTSWITH', 'CONTAINS', 'NOTCONTAINS', 'LENEQ', 'LENEQ', 'LENNE', 'LENNE', 'LENGT', 'LENGT', 'LENGTE', 'LENGTE', 'LENLT', 'LENLT', 'LENLTE', 'LENLTE']}, {'casts': ['tree_str'], 'type': 'tree_str', 'aggregations': ['count', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'STARTSWITH', 'CONTAINS', 'NOTCONTAINS', 'LENEQ', 'LENEQ', 'LENNE', 'LENNE', 'LENGT', 'LENGT', 'LENGTE', 'LENGTE', 'LENLT', 'LENLT', 'LENLTE', 'LENLTE']}, {'casts': ['genericdatetime', 'date', 'string', 'integer', 'float', 'boolean'], 'type': 'genericdatetime', 'aggregations': ['count', 'min', 'max', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'IN', 'NIN', 'BETWEEN']}]}, 'join': {'types': ['inner', 'left', 'right', 'full'], 'operators': ['eq']}, 'connections': {'max': 1, 'items': [{'id': '4swqrd85th5er', 'replacement_types': [{'conn_type': 'postgres'}]}], 'compatible_types': []}, 'fields': {'items': []}, 'preview': {'enabled': True}, 'sources': {'items': [{'id': '04aca34b-0d69-4b29-ae98-cee76512c722', 'schema_update_enabled': False}], 'compatible_types': [{'source_type': 'BITRIX_GDS'}]}, 'supports_offset': True, 'supported_functions': ['abs', 'acos', 'all_concat', 'any', 'arr_remove', 'arr_str', 'array', 'ascii', 'asin', 'atan', 'atan2', 'avg', 'avg_if', 'bold', 'bool', 'br', 'case', 'cast_arr_float', 'cast_arr_int', 'cast_arr_str', 'ceiling', 'char', 'color', 'concat', 'contains', 'contains_all', 'contains_any', 'cos', 'cot', 'count', 'count_if', 'count_item', 'countd', 'countd_if', 'date', 'dateadd', 'datepart', 'datetime', 'datetrunc', 'day', 'dayofweek', 'db_cast', 'degrees', 'div', 'div_safe', 'endswith', 'exp', 'fdiv_safe', 'find', 'first', 'float', 'floor', 'geopoint', 'geopolygon', 'get_item', 'greatest', 'hour', 'icontains', 'iendswith', 'if', 'ifnan', 'ifnull', 'iif', 'image', 'int', 'isnan', 'isnull', 'istartswith', 'italic', 'lag', 'last', 'least', 'left', 'len', 'ln', 'log', 'log10', 'lower', 'ltrim', 'markup', 'mavg', 'max', 'mcount', 'median', 'min', 'minute', 'mmax', 'mmin', 'month', 'msum', 'notcontains', 'now', 'pi', 'power', 'quantile', 'quarter', 'radians', 'rank', 'rank_dense', 'rank_percentile', 'rank_unique', 'ravg', 'rcount', 'regexp_extract', 'regexp_extract_nth', 'regexp_match', 'regexp_replace', 'replace', 'right', 'rmax', 'rmin', 'round', 'rsum', 'rtrim', 'second', 'sign', 'sin', 'size', 'slice', 'space', 'split', 'sqrt', 'square', 'startswith', 'stdev', 'stdevp', 'str', 'substr', 'sum', 'sum_if', 'tan', 'today', 'tree', 'trim', 'unnest', 'upper', 'url', 'var', 'varp', 'week', 'year', 'zn'], 'source_avatars': {'max': 32, 'items': [{'id': '309bc99d-9700-42d5-9b8c-f410afa0cbc5', 'schema_update_enabled': False}]}}}"
> lambda: ihook(item=item, **kwds), when=when, reraise=reraise
)
/venv/lib/python3.10/site-packages/flaky/flaky_pytest_plugin.py:146:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/venv/lib/python3.10/site-packages/pytest_lazyfixture.py:39: in fill
_fillfixtures()
/venv/lib/python3.10/site-packages/dl_api_lib_testing/dataset_base.py:41: in saved_dataset
ds = self.make_basic_dataset(
/venv/lib/python3.10/site-packages/dl_api_lib_testing/dataset_base.py:30: in make_basic_dataset
ds = control_api.apply_updates(dataset=ds, fail_ok=False).dataset
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = SyncHttpDatasetApiV1(client=FlaskSyncApiClient(_int_wclient=<TestClient <Flask 'dl_api_lib.app.control_api.app'>>), headers={}, _created_dataset_id_list=[], serial_adapter=DatasetApiV1SerializationAdapter())
dataset = Dataset(id='f9add707-c5b8-4700-ae2a-63255485dad2', created_=False, name=None, revision_id=None, load_preview_by_defaul...sultSchemaAux(inter_dependencies={}), rls={}, component_errors=ComponentErrorRegistry(items=[]), obligatory_filters=[])
updates = [UpdateAction(action=<Action.add: 'add'>, item=DataSource(id='04aca34b-0d69-4b29-ae98-cee76512c722', created_=False, c...', title='avatar_1', is_root=False, managed_by=<ManagedBy.user: 'user'>, valid=True), custom_data=None, order_index=0)]
fail_ok = False
def apply_updates( # type: ignore # TODO: fix
self,
dataset: Dataset,
updates: list[Union[UpdateAction, dict]] = None, # type: ignore # 2024-01-24 # TODO: Incompatible default for argument "updates" (default has type "None", argument has type "list[UpdateAction | dict[Any, Any]]") [assignment]
fail_ok: bool = False,
) -> HttpDatasetApiResponse:
if dataset.created_:
url = f"/api/v1/datasets/{dataset.id}/versions/draft/validators/schema"
else:
url = "/api/v1/datasets/validators/dataset"
data = self.dump_dataset_to_request_body(dataset)
updates = list(updates or ()) + self.serial_adapter.generate_implicit_updates(dataset) # type: ignore # 2024-01-24 # TODO: Unsupported operand types for + ("list[UpdateAction | dict[Any, Any]]" and "list[UpdateAction]") [operator]
data["updates"] = self.serial_adapter.dump_updates(updates)
response = self._request(url, method="post", data=data)
if fail_ok:
# `fail_ok` should not mean `allow 5xx`
assert response.status_code < 500, response.json
else:
try:
> assert response.status_code == HTTPStatus.OK, response.json
E AssertionError: {'code': 'ERR.DS_API.VALIDATION.ERROR', 'dataset': {'result_schema_aux': {'inter_dependencies': {'deps': []}}, 'revision_id': None, 'avatar_relations': [], 'preview_enabled': True, 'rls': {}, 'component_errors': {'items': [{'id': '04aca34b-0d69-4b29-ae98-cee76512c722', 'type': 'data_source', 'errors': [{'message': 'Data source (table) identified by: `default..crm_deal` does not exist.', 'code': 'ERR.DS_API.DB.SOURCE_DOES_NOT_EXIST', 'level': 'error', 'details': {'db_message': ''}}]}]}, 'obligatory_filters': [], 'sources': [{'source_type': 'BITRIX_GDS', 'parameters': {'db_version': None, 'table_name': 'crm_deal', 'db_name': 'default'}, 'id': '04aca34b-0d69-4b29-ae98-cee76512c722', 'raw_schema': [], 'virtual': False, 'valid': False, 'managed_by': 'user', 'parameter_hash': '6aff1b790c7a03f8', 'index_info_set': None, 'title': 'crm_deal', 'connection_id': '4swqrd85th5er'}], 'result_schema': [], 'source_avatars': [{'source_id': '04aca34b-0d69-4b29-ae98-cee76512c722', 'id': '309bc99d-9700-42d5-9b8c-f410afa0cbc5', 'virtual': False, 'valid': True, 'managed_by': 'user', 'title': 'avatar_1', 'is_root': True}], 'load_preview_by_default': True}, 'message': 'Validation finished with errors.', 'dataset_errors': [], 'options': {'schema_update_enabled': False, 'data_types': {'items': [{'casts': ['string', 'date', 'genericdatetime', 'boolean', 'integer', 'float', 'geopoint', 'geopolygon'], 'type': 'string', 'aggregations': ['count', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'STARTSWITH', 'ISTARTSWITH', 'ENDSWITH', 'IENDSWITH', 'CONTAINS', 'ICONTAINS', 'NOTCONTAINS', 'NOTICONTAINS', 'NOTICONTAINS', 'IN', 'NIN', 'BETWEEN']}, {'casts': ['integer', 'float', 'string', 'boolean', 'date', 'genericdatetime'], 'type': 'integer', 'aggregations': ['count', 'sum', 'avg', 'min', 'max', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'STARTSWITH', 'ISTARTSWITH', 'ENDSWITH', 'IENDSWITH', 'CONTAINS', 'ICONTAINS', 'NOTCONTAINS', 'NOTICONTAINS', 'NOTICONTAINS', 'IN', 'NIN', 'BETWEEN']}, {'casts': ['float', 'integer', 'string', 'boolean', 'date', 'genericdatetime'], 'type': 'float', 'aggregations': ['count', 'sum', 'avg', 'min', 'max', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'IN', 'NIN', 'BETWEEN']}, {'casts': ['date', 'genericdatetime', 'string', 'integer', 'float', 'boolean'], 'type': 'date', 'aggregations': ['count', 'min', 'max', 'countunique', 'avg'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'IN', 'NIN', 'BETWEEN']}, {'casts': ['genericdatetime', 'datetime', 'date', 'string', 'integer', 'float', 'boolean'], 'type': 'datetime', 'aggregations': ['count', 'min', 'max', 'countunique', 'avg'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'IN', 'NIN', 'BETWEEN']}, {'casts': ['boolean', 'integer', 'float', 'string'], 'type': 'boolean', 'aggregations': ['count'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'IN', 'NIN']}, {'casts': ['geopoint', 'string'], 'type': 'geopoint', 'aggregations': ['count'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'IN', 'NIN']}, {'casts': ['geopolygon', 'string'], 'type': 'geopolygon', 'aggregations': ['count'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'IN', 'NIN']}, {'casts': ['uuid', 'string'], 'type': 'uuid', 'aggregations': ['count', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'STARTSWITH', 'ISTARTSWITH', 'ENDSWITH', 'IENDSWITH', 'CONTAINS', 'ICONTAINS', 'NOTCONTAINS', 'NOTICONTAINS', 'NOTICONTAINS', 'IN', 'NIN', 'BETWEEN']}, {'casts': ['markup'], 'type': 'markup', 'aggregations': ['count'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL']}, {'casts': ['datetimetz', 'genericdatetime', 'date', 'string', 'integer', 'float', 'boolean'], 'type': 'datetimetz', 'aggregations': ['count', 'min', 'max', 'countunique', 'avg'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'IN', 'NIN', 'BETWEEN']}, {'casts': ['unsupported'], 'type': 'unsupported', 'aggregations': [], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL']}, {'casts': ['array_str', 'string'], 'type': 'array_str', 'aggregations': ['count', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'STARTSWITH', 'CONTAINS', 'NOTCONTAINS', 'LENEQ', 'LENEQ', 'LENNE', 'LENNE', 'LENGT', 'LENGT', 'LENGTE', 'LENGTE', 'LENLT', 'LENLT', 'LENLTE', 'LENLTE']}, {'casts': ['array_int', 'string'], 'type': 'array_int', 'aggregations': ['count', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'STARTSWITH', 'CONTAINS', 'NOTCONTAINS', 'LENEQ', 'LENEQ', 'LENNE', 'LENNE', 'LENGT', 'LENGT', 'LENGTE', 'LENGTE', 'LENLT', 'LENLT', 'LENLTE', 'LENLTE']}, {'casts': ['array_float', 'string'], 'type': 'array_float', 'aggregations': ['count', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'STARTSWITH', 'CONTAINS', 'NOTCONTAINS', 'LENEQ', 'LENEQ', 'LENNE', 'LENNE', 'LENGT', 'LENGT', 'LENGTE', 'LENGTE', 'LENLT', 'LENLT', 'LENLTE', 'LENLTE']}, {'casts': ['tree_str'], 'type': 'tree_str', 'aggregations': ['count', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'STARTSWITH', 'CONTAINS', 'NOTCONTAINS', 'LENEQ', 'LENEQ', 'LENNE', 'LENNE', 'LENGT', 'LENGT', 'LENGTE', 'LENGTE', 'LENLT', 'LENLT', 'LENLTE', 'LENLTE']}, {'casts': ['genericdatetime', 'date', 'string', 'integer', 'float', 'boolean'], 'type': 'genericdatetime', 'aggregations': ['count', 'min', 'max', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'IN', 'NIN', 'BETWEEN']}]}, 'join': {'types': ['inner', 'left', 'right', 'full'], 'operators': ['eq']}, 'connections': {'max': 1, 'items': [{'id': '4swqrd85th5er', 'replacement_types': [{'conn_type': 'postgres'}]}], 'compatible_types': []}, 'fields': {'items': []}, 'preview': {'enabled': True}, 'sources': {'items': [{'id': '04aca34b-0d69-4b29-ae98-cee76512c722', 'schema_update_enabled': False}], 'compatible_types': [{'source_type': 'BITRIX_GDS'}]}, 'supports_offset': True, 'supported_functions': ['abs', 'acos', 'all_concat', 'any', 'arr_remove', 'arr_str', 'array', 'ascii', 'asin', 'atan', 'atan2', 'avg', 'avg_if', 'bold', 'bool', 'br', 'case', 'cast_arr_float', 'cast_arr_int', 'cast_arr_str', 'ceiling', 'char', 'color', 'concat', 'contains', 'contains_all', 'contains_any', 'cos', 'cot', 'count', 'count_if', 'count_item', 'countd', 'countd_if', 'date', 'dateadd', 'datepart', 'datetime', 'datetrunc', 'day', 'dayofweek', 'db_cast', 'degrees', 'div', 'div_safe', 'endswith', 'exp', 'fdiv_safe', 'find', 'first', 'float', 'floor', 'geopoint', 'geopolygon', 'get_item', 'greatest', 'hour', 'icontains', 'iendswith', 'if', 'ifnan', 'ifnull', 'iif', 'image', 'int', 'isnan', 'isnull', 'istartswith', 'italic', 'lag', 'last', 'least', 'left', 'len', 'ln', 'log', 'log10', 'lower', 'ltrim', 'markup', 'mavg', 'max', 'mcount', 'median', 'min', 'minute', 'mmax', 'mmin', 'month', 'msum', 'notcontains', 'now', 'pi', 'power', 'quantile', 'quarter', 'radians', 'rank', 'rank_dense', 'rank_percentile', 'rank_unique', 'ravg', 'rcount', 'regexp_extract', 'regexp_extract_nth', 'regexp_match', 'regexp_replace', 'replace', 'right', 'rmax', 'rmin', 'round', 'rsum', 'rtrim', 'second', 'sign', 'sin', 'size', 'slice', 'space', 'split', 'sqrt', 'square', 'startswith', 'stdev', 'stdevp', 'str', 'substr', 'sum', 'sum_if', 'tan', 'today', 'tree', 'trim', 'unnest', 'upper', 'url', 'var', 'varp', 'week', 'year', 'zn'], 'source_avatars': {'max': 32, 'items': [{'id': '309bc99d-9700-42d5-9b8c-f410afa0cbc5', 'schema_update_enabled': False}]}}}
/venv/lib/python3.10/site-packages/dl_api_client/dsmaker/api/dataset_api.py:234: AssertionError
Check failure on line 0 in dl_connector_bitrix_gds_tests.ext.api.test_data.TestBitrixDataGroupBy
github-actions / Test Results
test_ordered_result (dl_connector_bitrix_gds_tests.ext.api.test_data.TestBitrixDataGroupBy) with error
./report/pytest_reports_dl_connector_bitrix_gds_442724729/_src_lib_dl_connector_bitrix_gds_dl_connector_bitrix_gds_tests-ext-ad12e63037fc49018d8f609250f83756.xml [took 3s]
Raw output
failed on setup with "AssertionError: {'code': 'ERR.DS_API.VALIDATION.ERROR', 'dataset': {'result_schema_aux': {'inter_dependencies': {'deps': []}}, 'revision_id': None, 'avatar_relations': [], 'preview_enabled': True, 'rls': {}, 'component_errors': {'items': [{'id': 'efab9f7b-2a47-49a7-a0ef-b396dd4d0b13', 'type': 'data_source', 'errors': [{'message': 'Data source (table) identified by: `default..crm_deal` does not exist.', 'code': 'ERR.DS_API.DB.SOURCE_DOES_NOT_EXIST', 'level': 'error', 'details': {'db_message': ''}}]}]}, 'obligatory_filters': [], 'sources': [{'source_type': 'BITRIX_GDS', 'parameters': {'db_version': None, 'table_name': 'crm_deal', 'db_name': 'default'}, 'id': 'efab9f7b-2a47-49a7-a0ef-b396dd4d0b13', 'raw_schema': [], 'virtual': False, 'valid': False, 'managed_by': 'user', 'parameter_hash': '0628bdbe81673fb1', 'index_info_set': None, 'title': 'crm_deal', 'connection_id': 'mae8b6l213bu9'}], 'result_schema': [], 'source_avatars': [{'source_id': 'efab9f7b-2a47-49a7-a0ef-b396dd4d0b13', 'id': 'c9536589-5d79-45ec-b671-f1f591a7bbc2', 'virtual': False, 'valid': True, 'managed_by': 'user', 'title': 'avatar_1', 'is_root': True}], 'load_preview_by_default': True}, 'message': 'Validation finished with errors.', 'dataset_errors': [], 'options': {'schema_update_enabled': False, 'data_types': {'items': [{'casts': ['string', 'date', 'genericdatetime', 'boolean', 'integer', 'float', 'geopoint', 'geopolygon'], 'type': 'string', 'aggregations': ['count', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'STARTSWITH', 'ISTARTSWITH', 'ENDSWITH', 'IENDSWITH', 'CONTAINS', 'ICONTAINS', 'NOTCONTAINS', 'NOTICONTAINS', 'NOTICONTAINS', 'IN', 'NIN', 'BETWEEN']}, {'casts': ['integer', 'float', 'string', 'boolean', 'date', 'genericdatetime'], 'type': 'integer', 'aggregations': ['count', 'sum', 'avg', 'min', 'max', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'STARTSWITH', 'ISTARTSWITH', 'ENDSWITH', 'IENDSWITH', 'CONTAINS', 'ICONTAINS', 'NOTCONTAINS', 'NOTICONTAINS', 'NOTICONTAINS', 'IN', 'NIN', 'BETWEEN']}, {'casts': ['float', 'integer', 'string', 'boolean', 'date', 'genericdatetime'], 'type': 'float', 'aggregations': ['count', 'sum', 'avg', 'min', 'max', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'IN', 'NIN', 'BETWEEN']}, {'casts': ['date', 'genericdatetime', 'string', 'integer', 'float', 'boolean'], 'type': 'date', 'aggregations': ['count', 'min', 'max', 'countunique', 'avg'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'IN', 'NIN', 'BETWEEN']}, {'casts': ['genericdatetime', 'datetime', 'date', 'string', 'integer', 'float', 'boolean'], 'type': 'datetime', 'aggregations': ['count', 'min', 'max', 'countunique', 'avg'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'IN', 'NIN', 'BETWEEN']}, {'casts': ['boolean', 'integer', 'float', 'string'], 'type': 'boolean', 'aggregations': ['count'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'IN', 'NIN']}, {'casts': ['geopoint', 'string'], 'type': 'geopoint', 'aggregations': ['count'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'IN', 'NIN']}, {'casts': ['geopolygon', 'string'], 'type': 'geopolygon', 'aggregations': ['count'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'IN', 'NIN']}, {'casts': ['uuid', 'string'], 'type': 'uuid', 'aggregations': ['count', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'STARTSWITH', 'ISTARTSWITH', 'ENDSWITH', 'IENDSWITH', 'CONTAINS', 'ICONTAINS', 'NOTCONTAINS', 'NOTICONTAINS', 'NOTICONTAINS', 'IN', 'NIN', 'BETWEEN']}, {'casts': ['markup'], 'type': 'markup', 'aggregations': ['count'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL']}, {'casts': ['datetimetz', 'genericdatetime', 'date', 'string', 'integer', 'float', 'boolean'], 'type': 'datetimetz', 'aggregations': ['count', 'min', 'max', 'countunique', 'avg'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'IN', 'NIN', 'BETWEEN']}, {'casts': ['unsupported'], 'type': 'unsupported', 'aggregations': [], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL']}, {'casts': ['array_str', 'string'], 'type': 'array_str', 'aggregations': ['count', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'STARTSWITH', 'CONTAINS', 'NOTCONTAINS', 'LENEQ', 'LENEQ', 'LENNE', 'LENNE', 'LENGT', 'LENGT', 'LENGTE', 'LENGTE', 'LENLT', 'LENLT', 'LENLTE', 'LENLTE']}, {'casts': ['array_int', 'string'], 'type': 'array_int', 'aggregations': ['count', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'STARTSWITH', 'CONTAINS', 'NOTCONTAINS', 'LENEQ', 'LENEQ', 'LENNE', 'LENNE', 'LENGT', 'LENGT', 'LENGTE', 'LENGTE', 'LENLT', 'LENLT', 'LENLTE', 'LENLTE']}, {'casts': ['array_float', 'string'], 'type': 'array_float', 'aggregations': ['count', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'STARTSWITH', 'CONTAINS', 'NOTCONTAINS', 'LENEQ', 'LENEQ', 'LENNE', 'LENNE', 'LENGT', 'LENGT', 'LENGTE', 'LENGTE', 'LENLT', 'LENLT', 'LENLTE', 'LENLTE']}, {'casts': ['tree_str'], 'type': 'tree_str', 'aggregations': ['count', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'STARTSWITH', 'CONTAINS', 'NOTCONTAINS', 'LENEQ', 'LENEQ', 'LENNE', 'LENNE', 'LENGT', 'LENGT', 'LENGTE', 'LENGTE', 'LENLT', 'LENLT', 'LENLTE', 'LENLTE']}, {'casts': ['genericdatetime', 'date', 'string', 'integer', 'float', 'boolean'], 'type': 'genericdatetime', 'aggregations': ['count', 'min', 'max', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'IN', 'NIN', 'BETWEEN']}]}, 'join': {'types': ['inner', 'left', 'right', 'full'], 'operators': ['eq']}, 'connections': {'max': 1, 'items': [{'id': 'mae8b6l213bu9', 'replacement_types': [{'conn_type': 'postgres'}]}], 'compatible_types': []}, 'fields': {'items': []}, 'preview': {'enabled': True}, 'sources': {'items': [{'id': 'efab9f7b-2a47-49a7-a0ef-b396dd4d0b13', 'schema_update_enabled': False}], 'compatible_types': [{'source_type': 'BITRIX_GDS'}]}, 'supports_offset': True, 'supported_functions': ['abs', 'acos', 'all_concat', 'any', 'arr_remove', 'arr_str', 'array', 'ascii', 'asin', 'atan', 'atan2', 'avg', 'avg_if', 'bold', 'bool', 'br', 'case', 'cast_arr_float', 'cast_arr_int', 'cast_arr_str', 'ceiling', 'char', 'color', 'concat', 'contains', 'contains_all', 'contains_any', 'cos', 'cot', 'count', 'count_if', 'count_item', 'countd', 'countd_if', 'date', 'dateadd', 'datepart', 'datetime', 'datetrunc', 'day', 'dayofweek', 'db_cast', 'degrees', 'div', 'div_safe', 'endswith', 'exp', 'fdiv_safe', 'find', 'first', 'float', 'floor', 'geopoint', 'geopolygon', 'get_item', 'greatest', 'hour', 'icontains', 'iendswith', 'if', 'ifnan', 'ifnull', 'iif', 'image', 'int', 'isnan', 'isnull', 'istartswith', 'italic', 'lag', 'last', 'least', 'left', 'len', 'ln', 'log', 'log10', 'lower', 'ltrim', 'markup', 'mavg', 'max', 'mcount', 'median', 'min', 'minute', 'mmax', 'mmin', 'month', 'msum', 'notcontains', 'now', 'pi', 'power', 'quantile', 'quarter', 'radians', 'rank', 'rank_dense', 'rank_percentile', 'rank_unique', 'ravg', 'rcount', 'regexp_extract', 'regexp_extract_nth', 'regexp_match', 'regexp_replace', 'replace', 'right', 'rmax', 'rmin', 'round', 'rsum', 'rtrim', 'second', 'sign', 'sin', 'size', 'slice', 'space', 'split', 'sqrt', 'square', 'startswith', 'stdev', 'stdevp', 'str', 'substr', 'sum', 'sum_if', 'tan', 'today', 'tree', 'trim', 'unnest', 'upper', 'url', 'var', 'varp', 'week', 'year', 'zn'], 'source_avatars': {'max': 32, 'items': [{'id': 'c9536589-5d79-45ec-b671-f1f591a7bbc2', 'schema_update_enabled': False}]}}}"
> lambda: ihook(item=item, **kwds), when=when, reraise=reraise
)
/venv/lib/python3.10/site-packages/flaky/flaky_pytest_plugin.py:146:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/venv/lib/python3.10/site-packages/pytest_lazyfixture.py:39: in fill
_fillfixtures()
/venv/lib/python3.10/site-packages/dl_api_lib_testing/dataset_base.py:41: in saved_dataset
ds = self.make_basic_dataset(
/venv/lib/python3.10/site-packages/dl_api_lib_testing/dataset_base.py:30: in make_basic_dataset
ds = control_api.apply_updates(dataset=ds, fail_ok=False).dataset
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = SyncHttpDatasetApiV1(client=FlaskSyncApiClient(_int_wclient=<TestClient <Flask 'dl_api_lib.app.control_api.app'>>), headers={}, _created_dataset_id_list=[], serial_adapter=DatasetApiV1SerializationAdapter())
dataset = Dataset(id='4236722b-e979-430a-8148-0c165157e244', created_=False, name=None, revision_id=None, load_preview_by_defaul...sultSchemaAux(inter_dependencies={}), rls={}, component_errors=ComponentErrorRegistry(items=[]), obligatory_filters=[])
updates = [UpdateAction(action=<Action.add: 'add'>, item=DataSource(id='efab9f7b-2a47-49a7-a0ef-b396dd4d0b13', created_=False, c...', title='avatar_1', is_root=False, managed_by=<ManagedBy.user: 'user'>, valid=True), custom_data=None, order_index=0)]
fail_ok = False
def apply_updates( # type: ignore # TODO: fix
self,
dataset: Dataset,
updates: list[Union[UpdateAction, dict]] = None, # type: ignore # 2024-01-24 # TODO: Incompatible default for argument "updates" (default has type "None", argument has type "list[UpdateAction | dict[Any, Any]]") [assignment]
fail_ok: bool = False,
) -> HttpDatasetApiResponse:
if dataset.created_:
url = f"/api/v1/datasets/{dataset.id}/versions/draft/validators/schema"
else:
url = "/api/v1/datasets/validators/dataset"
data = self.dump_dataset_to_request_body(dataset)
updates = list(updates or ()) + self.serial_adapter.generate_implicit_updates(dataset) # type: ignore # 2024-01-24 # TODO: Unsupported operand types for + ("list[UpdateAction | dict[Any, Any]]" and "list[UpdateAction]") [operator]
data["updates"] = self.serial_adapter.dump_updates(updates)
response = self._request(url, method="post", data=data)
if fail_ok:
# `fail_ok` should not mean `allow 5xx`
assert response.status_code < 500, response.json
else:
try:
> assert response.status_code == HTTPStatus.OK, response.json
E AssertionError: {'code': 'ERR.DS_API.VALIDATION.ERROR', 'dataset': {'result_schema_aux': {'inter_dependencies': {'deps': []}}, 'revision_id': None, 'avatar_relations': [], 'preview_enabled': True, 'rls': {}, 'component_errors': {'items': [{'id': 'efab9f7b-2a47-49a7-a0ef-b396dd4d0b13', 'type': 'data_source', 'errors': [{'message': 'Data source (table) identified by: `default..crm_deal` does not exist.', 'code': 'ERR.DS_API.DB.SOURCE_DOES_NOT_EXIST', 'level': 'error', 'details': {'db_message': ''}}]}]}, 'obligatory_filters': [], 'sources': [{'source_type': 'BITRIX_GDS', 'parameters': {'db_version': None, 'table_name': 'crm_deal', 'db_name': 'default'}, 'id': 'efab9f7b-2a47-49a7-a0ef-b396dd4d0b13', 'raw_schema': [], 'virtual': False, 'valid': False, 'managed_by': 'user', 'parameter_hash': '0628bdbe81673fb1', 'index_info_set': None, 'title': 'crm_deal', 'connection_id': 'mae8b6l213bu9'}], 'result_schema': [], 'source_avatars': [{'source_id': 'efab9f7b-2a47-49a7-a0ef-b396dd4d0b13', 'id': 'c9536589-5d79-45ec-b671-f1f591a7bbc2', 'virtual': False, 'valid': True, 'managed_by': 'user', 'title': 'avatar_1', 'is_root': True}], 'load_preview_by_default': True}, 'message': 'Validation finished with errors.', 'dataset_errors': [], 'options': {'schema_update_enabled': False, 'data_types': {'items': [{'casts': ['string', 'date', 'genericdatetime', 'boolean', 'integer', 'float', 'geopoint', 'geopolygon'], 'type': 'string', 'aggregations': ['count', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'STARTSWITH', 'ISTARTSWITH', 'ENDSWITH', 'IENDSWITH', 'CONTAINS', 'ICONTAINS', 'NOTCONTAINS', 'NOTICONTAINS', 'NOTICONTAINS', 'IN', 'NIN', 'BETWEEN']}, {'casts': ['integer', 'float', 'string', 'boolean', 'date', 'genericdatetime'], 'type': 'integer', 'aggregations': ['count', 'sum', 'avg', 'min', 'max', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'STARTSWITH', 'ISTARTSWITH', 'ENDSWITH', 'IENDSWITH', 'CONTAINS', 'ICONTAINS', 'NOTCONTAINS', 'NOTICONTAINS', 'NOTICONTAINS', 'IN', 'NIN', 'BETWEEN']}, {'casts': ['float', 'integer', 'string', 'boolean', 'date', 'genericdatetime'], 'type': 'float', 'aggregations': ['count', 'sum', 'avg', 'min', 'max', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'IN', 'NIN', 'BETWEEN']}, {'casts': ['date', 'genericdatetime', 'string', 'integer', 'float', 'boolean'], 'type': 'date', 'aggregations': ['count', 'min', 'max', 'countunique', 'avg'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'IN', 'NIN', 'BETWEEN']}, {'casts': ['genericdatetime', 'datetime', 'date', 'string', 'integer', 'float', 'boolean'], 'type': 'datetime', 'aggregations': ['count', 'min', 'max', 'countunique', 'avg'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'IN', 'NIN', 'BETWEEN']}, {'casts': ['boolean', 'integer', 'float', 'string'], 'type': 'boolean', 'aggregations': ['count'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'IN', 'NIN']}, {'casts': ['geopoint', 'string'], 'type': 'geopoint', 'aggregations': ['count'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'IN', 'NIN']}, {'casts': ['geopolygon', 'string'], 'type': 'geopolygon', 'aggregations': ['count'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'IN', 'NIN']}, {'casts': ['uuid', 'string'], 'type': 'uuid', 'aggregations': ['count', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'STARTSWITH', 'ISTARTSWITH', 'ENDSWITH', 'IENDSWITH', 'CONTAINS', 'ICONTAINS', 'NOTCONTAINS', 'NOTICONTAINS', 'NOTICONTAINS', 'IN', 'NIN', 'BETWEEN']}, {'casts': ['markup'], 'type': 'markup', 'aggregations': ['count'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL']}, {'casts': ['datetimetz', 'genericdatetime', 'date', 'string', 'integer', 'float', 'boolean'], 'type': 'datetimetz', 'aggregations': ['count', 'min', 'max', 'countunique', 'avg'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'IN', 'NIN', 'BETWEEN']}, {'casts': ['unsupported'], 'type': 'unsupported', 'aggregations': [], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL']}, {'casts': ['array_str', 'string'], 'type': 'array_str', 'aggregations': ['count', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'STARTSWITH', 'CONTAINS', 'NOTCONTAINS', 'LENEQ', 'LENEQ', 'LENNE', 'LENNE', 'LENGT', 'LENGT', 'LENGTE', 'LENGTE', 'LENLT', 'LENLT', 'LENLTE', 'LENLTE']}, {'casts': ['array_int', 'string'], 'type': 'array_int', 'aggregations': ['count', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'STARTSWITH', 'CONTAINS', 'NOTCONTAINS', 'LENEQ', 'LENEQ', 'LENNE', 'LENNE', 'LENGT', 'LENGT', 'LENGTE', 'LENGTE', 'LENLT', 'LENLT', 'LENLTE', 'LENLTE']}, {'casts': ['array_float', 'string'], 'type': 'array_float', 'aggregations': ['count', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'STARTSWITH', 'CONTAINS', 'NOTCONTAINS', 'LENEQ', 'LENEQ', 'LENNE', 'LENNE', 'LENGT', 'LENGT', 'LENGTE', 'LENGTE', 'LENLT', 'LENLT', 'LENLTE', 'LENLTE']}, {'casts': ['tree_str'], 'type': 'tree_str', 'aggregations': ['count', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'STARTSWITH', 'CONTAINS', 'NOTCONTAINS', 'LENEQ', 'LENEQ', 'LENNE', 'LENNE', 'LENGT', 'LENGT', 'LENGTE', 'LENGTE', 'LENLT', 'LENLT', 'LENLTE', 'LENLTE']}, {'casts': ['genericdatetime', 'date', 'string', 'integer', 'float', 'boolean'], 'type': 'genericdatetime', 'aggregations': ['count', 'min', 'max', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'IN', 'NIN', 'BETWEEN']}]}, 'join': {'types': ['inner', 'left', 'right', 'full'], 'operators': ['eq']}, 'connections': {'max': 1, 'items': [{'id': 'mae8b6l213bu9', 'replacement_types': [{'conn_type': 'postgres'}]}], 'compatible_types': []}, 'fields': {'items': []}, 'preview': {'enabled': True}, 'sources': {'items': [{'id': 'efab9f7b-2a47-49a7-a0ef-b396dd4d0b13', 'schema_update_enabled': False}], 'compatible_types': [{'source_type': 'BITRIX_GDS'}]}, 'supports_offset': True, 'supported_functions': ['abs', 'acos', 'all_concat', 'any', 'arr_remove', 'arr_str', 'array', 'ascii', 'asin', 'atan', 'atan2', 'avg', 'avg_if', 'bold', 'bool', 'br', 'case', 'cast_arr_float', 'cast_arr_int', 'cast_arr_str', 'ceiling', 'char', 'color', 'concat', 'contains', 'contains_all', 'contains_any', 'cos', 'cot', 'count', 'count_if', 'count_item', 'countd', 'countd_if', 'date', 'dateadd', 'datepart', 'datetime', 'datetrunc', 'day', 'dayofweek', 'db_cast', 'degrees', 'div', 'div_safe', 'endswith', 'exp', 'fdiv_safe', 'find', 'first', 'float', 'floor', 'geopoint', 'geopolygon', 'get_item', 'greatest', 'hour', 'icontains', 'iendswith', 'if', 'ifnan', 'ifnull', 'iif', 'image', 'int', 'isnan', 'isnull', 'istartswith', 'italic', 'lag', 'last', 'least', 'left', 'len', 'ln', 'log', 'log10', 'lower', 'ltrim', 'markup', 'mavg', 'max', 'mcount', 'median', 'min', 'minute', 'mmax', 'mmin', 'month', 'msum', 'notcontains', 'now', 'pi', 'power', 'quantile', 'quarter', 'radians', 'rank', 'rank_dense', 'rank_percentile', 'rank_unique', 'ravg', 'rcount', 'regexp_extract', 'regexp_extract_nth', 'regexp_match', 'regexp_replace', 'replace', 'right', 'rmax', 'rmin', 'round', 'rsum', 'rtrim', 'second', 'sign', 'sin', 'size', 'slice', 'space', 'split', 'sqrt', 'square', 'startswith', 'stdev', 'stdevp', 'str', 'substr', 'sum', 'sum_if', 'tan', 'today', 'tree', 'trim', 'unnest', 'upper', 'url', 'var', 'varp', 'week', 'year', 'zn'], 'source_avatars': {'max': 32, 'items': [{'id': 'c9536589-5d79-45ec-b671-f1f591a7bbc2', 'schema_update_enabled': False}]}}}
/venv/lib/python3.10/site-packages/dl_api_client/dsmaker/api/dataset_api.py:234: AssertionError
Check failure on line 0 in dl_connector_bitrix_gds_tests.ext.api.test_data.TestBitrixDataGroupBy
github-actions / Test Results
test_complex_result (dl_connector_bitrix_gds_tests.ext.api.test_data.TestBitrixDataGroupBy) with error
./report/pytest_reports_dl_connector_bitrix_gds_442724729/_src_lib_dl_connector_bitrix_gds_dl_connector_bitrix_gds_tests-ext-ad12e63037fc49018d8f609250f83756.xml [took 3s]
Raw output
failed on setup with "AssertionError: {'code': 'ERR.DS_API.VALIDATION.ERROR', 'dataset': {'result_schema_aux': {'inter_dependencies': {'deps': []}}, 'revision_id': None, 'avatar_relations': [], 'preview_enabled': True, 'rls': {}, 'component_errors': {'items': [{'id': '5934667d-4030-4ca6-a70a-47b00cc430a9', 'type': 'data_source', 'errors': [{'message': 'Data source (table) identified by: `default..crm_deal` does not exist.', 'code': 'ERR.DS_API.DB.SOURCE_DOES_NOT_EXIST', 'level': 'error', 'details': {'db_message': ''}}]}]}, 'obligatory_filters': [], 'sources': [{'source_type': 'BITRIX_GDS', 'parameters': {'db_version': None, 'table_name': 'crm_deal', 'db_name': 'default'}, 'id': '5934667d-4030-4ca6-a70a-47b00cc430a9', 'raw_schema': [], 'virtual': False, 'valid': False, 'managed_by': 'user', 'parameter_hash': 'dcf51ce7181eb69a', 'index_info_set': None, 'title': 'crm_deal', 'connection_id': '4swqu156gd2ar'}], 'result_schema': [], 'source_avatars': [{'source_id': '5934667d-4030-4ca6-a70a-47b00cc430a9', 'id': '26c71850-a486-4cde-a0ee-b9def8a53e01', 'virtual': False, 'valid': True, 'managed_by': 'user', 'title': 'avatar_1', 'is_root': True}], 'load_preview_by_default': True}, 'message': 'Validation finished with errors.', 'dataset_errors': [], 'options': {'schema_update_enabled': False, 'data_types': {'items': [{'casts': ['string', 'date', 'genericdatetime', 'boolean', 'integer', 'float', 'geopoint', 'geopolygon'], 'type': 'string', 'aggregations': ['count', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'STARTSWITH', 'ISTARTSWITH', 'ENDSWITH', 'IENDSWITH', 'CONTAINS', 'ICONTAINS', 'NOTCONTAINS', 'NOTICONTAINS', 'NOTICONTAINS', 'IN', 'NIN', 'BETWEEN']}, {'casts': ['integer', 'float', 'string', 'boolean', 'date', 'genericdatetime'], 'type': 'integer', 'aggregations': ['count', 'sum', 'avg', 'min', 'max', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'STARTSWITH', 'ISTARTSWITH', 'ENDSWITH', 'IENDSWITH', 'CONTAINS', 'ICONTAINS', 'NOTCONTAINS', 'NOTICONTAINS', 'NOTICONTAINS', 'IN', 'NIN', 'BETWEEN']}, {'casts': ['float', 'integer', 'string', 'boolean', 'date', 'genericdatetime'], 'type': 'float', 'aggregations': ['count', 'sum', 'avg', 'min', 'max', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'IN', 'NIN', 'BETWEEN']}, {'casts': ['date', 'genericdatetime', 'string', 'integer', 'float', 'boolean'], 'type': 'date', 'aggregations': ['count', 'min', 'max', 'countunique', 'avg'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'IN', 'NIN', 'BETWEEN']}, {'casts': ['genericdatetime', 'datetime', 'date', 'string', 'integer', 'float', 'boolean'], 'type': 'datetime', 'aggregations': ['count', 'min', 'max', 'countunique', 'avg'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'IN', 'NIN', 'BETWEEN']}, {'casts': ['boolean', 'integer', 'float', 'string'], 'type': 'boolean', 'aggregations': ['count'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'IN', 'NIN']}, {'casts': ['geopoint', 'string'], 'type': 'geopoint', 'aggregations': ['count'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'IN', 'NIN']}, {'casts': ['geopolygon', 'string'], 'type': 'geopolygon', 'aggregations': ['count'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'IN', 'NIN']}, {'casts': ['uuid', 'string'], 'type': 'uuid', 'aggregations': ['count', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'STARTSWITH', 'ISTARTSWITH', 'ENDSWITH', 'IENDSWITH', 'CONTAINS', 'ICONTAINS', 'NOTCONTAINS', 'NOTICONTAINS', 'NOTICONTAINS', 'IN', 'NIN', 'BETWEEN']}, {'casts': ['markup'], 'type': 'markup', 'aggregations': ['count'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL']}, {'casts': ['datetimetz', 'genericdatetime', 'date', 'string', 'integer', 'float', 'boolean'], 'type': 'datetimetz', 'aggregations': ['count', 'min', 'max', 'countunique', 'avg'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'IN', 'NIN', 'BETWEEN']}, {'casts': ['unsupported'], 'type': 'unsupported', 'aggregations': [], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL']}, {'casts': ['array_str', 'string'], 'type': 'array_str', 'aggregations': ['count', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'STARTSWITH', 'CONTAINS', 'NOTCONTAINS', 'LENEQ', 'LENEQ', 'LENNE', 'LENNE', 'LENGT', 'LENGT', 'LENGTE', 'LENGTE', 'LENLT', 'LENLT', 'LENLTE', 'LENLTE']}, {'casts': ['array_int', 'string'], 'type': 'array_int', 'aggregations': ['count', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'STARTSWITH', 'CONTAINS', 'NOTCONTAINS', 'LENEQ', 'LENEQ', 'LENNE', 'LENNE', 'LENGT', 'LENGT', 'LENGTE', 'LENGTE', 'LENLT', 'LENLT', 'LENLTE', 'LENLTE']}, {'casts': ['array_float', 'string'], 'type': 'array_float', 'aggregations': ['count', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'STARTSWITH', 'CONTAINS', 'NOTCONTAINS', 'LENEQ', 'LENEQ', 'LENNE', 'LENNE', 'LENGT', 'LENGT', 'LENGTE', 'LENGTE', 'LENLT', 'LENLT', 'LENLTE', 'LENLTE']}, {'casts': ['tree_str'], 'type': 'tree_str', 'aggregations': ['count', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'STARTSWITH', 'CONTAINS', 'NOTCONTAINS', 'LENEQ', 'LENEQ', 'LENNE', 'LENNE', 'LENGT', 'LENGT', 'LENGTE', 'LENGTE', 'LENLT', 'LENLT', 'LENLTE', 'LENLTE']}, {'casts': ['genericdatetime', 'date', 'string', 'integer', 'float', 'boolean'], 'type': 'genericdatetime', 'aggregations': ['count', 'min', 'max', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'IN', 'NIN', 'BETWEEN']}]}, 'join': {'types': ['inner', 'left', 'right', 'full'], 'operators': ['eq']}, 'connections': {'max': 1, 'items': [{'id': '4swqu156gd2ar', 'replacement_types': [{'conn_type': 'postgres'}]}], 'compatible_types': []}, 'fields': {'items': []}, 'preview': {'enabled': True}, 'sources': {'items': [{'id': '5934667d-4030-4ca6-a70a-47b00cc430a9', 'schema_update_enabled': False}], 'compatible_types': [{'source_type': 'BITRIX_GDS'}]}, 'supports_offset': True, 'supported_functions': ['abs', 'acos', 'all_concat', 'any', 'arr_remove', 'arr_str', 'array', 'ascii', 'asin', 'atan', 'atan2', 'avg', 'avg_if', 'bold', 'bool', 'br', 'case', 'cast_arr_float', 'cast_arr_int', 'cast_arr_str', 'ceiling', 'char', 'color', 'concat', 'contains', 'contains_all', 'contains_any', 'cos', 'cot', 'count', 'count_if', 'count_item', 'countd', 'countd_if', 'date', 'dateadd', 'datepart', 'datetime', 'datetrunc', 'day', 'dayofweek', 'db_cast', 'degrees', 'div', 'div_safe', 'endswith', 'exp', 'fdiv_safe', 'find', 'first', 'float', 'floor', 'geopoint', 'geopolygon', 'get_item', 'greatest', 'hour', 'icontains', 'iendswith', 'if', 'ifnan', 'ifnull', 'iif', 'image', 'int', 'isnan', 'isnull', 'istartswith', 'italic', 'lag', 'last', 'least', 'left', 'len', 'ln', 'log', 'log10', 'lower', 'ltrim', 'markup', 'mavg', 'max', 'mcount', 'median', 'min', 'minute', 'mmax', 'mmin', 'month', 'msum', 'notcontains', 'now', 'pi', 'power', 'quantile', 'quarter', 'radians', 'rank', 'rank_dense', 'rank_percentile', 'rank_unique', 'ravg', 'rcount', 'regexp_extract', 'regexp_extract_nth', 'regexp_match', 'regexp_replace', 'replace', 'right', 'rmax', 'rmin', 'round', 'rsum', 'rtrim', 'second', 'sign', 'sin', 'size', 'slice', 'space', 'split', 'sqrt', 'square', 'startswith', 'stdev', 'stdevp', 'str', 'substr', 'sum', 'sum_if', 'tan', 'today', 'tree', 'trim', 'unnest', 'upper', 'url', 'var', 'varp', 'week', 'year', 'zn'], 'source_avatars': {'max': 32, 'items': [{'id': '26c71850-a486-4cde-a0ee-b9def8a53e01', 'schema_update_enabled': False}]}}}"
> lambda: ihook(item=item, **kwds), when=when, reraise=reraise
)
/venv/lib/python3.10/site-packages/flaky/flaky_pytest_plugin.py:146:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/venv/lib/python3.10/site-packages/pytest_lazyfixture.py:39: in fill
_fillfixtures()
/venv/lib/python3.10/site-packages/dl_api_lib_testing/dataset_base.py:41: in saved_dataset
ds = self.make_basic_dataset(
/venv/lib/python3.10/site-packages/dl_api_lib_testing/dataset_base.py:30: in make_basic_dataset
ds = control_api.apply_updates(dataset=ds, fail_ok=False).dataset
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = SyncHttpDatasetApiV1(client=FlaskSyncApiClient(_int_wclient=<TestClient <Flask 'dl_api_lib.app.control_api.app'>>), headers={}, _created_dataset_id_list=[], serial_adapter=DatasetApiV1SerializationAdapter())
dataset = Dataset(id='db4de162-3dfe-4ee4-a474-aa69ff04d17c', created_=False, name=None, revision_id=None, load_preview_by_defaul...sultSchemaAux(inter_dependencies={}), rls={}, component_errors=ComponentErrorRegistry(items=[]), obligatory_filters=[])
updates = [UpdateAction(action=<Action.add: 'add'>, item=DataSource(id='5934667d-4030-4ca6-a70a-47b00cc430a9', created_=False, c...', title='avatar_1', is_root=False, managed_by=<ManagedBy.user: 'user'>, valid=True), custom_data=None, order_index=0)]
fail_ok = False
def apply_updates( # type: ignore # TODO: fix
self,
dataset: Dataset,
updates: list[Union[UpdateAction, dict]] = None, # type: ignore # 2024-01-24 # TODO: Incompatible default for argument "updates" (default has type "None", argument has type "list[UpdateAction | dict[Any, Any]]") [assignment]
fail_ok: bool = False,
) -> HttpDatasetApiResponse:
if dataset.created_:
url = f"/api/v1/datasets/{dataset.id}/versions/draft/validators/schema"
else:
url = "/api/v1/datasets/validators/dataset"
data = self.dump_dataset_to_request_body(dataset)
updates = list(updates or ()) + self.serial_adapter.generate_implicit_updates(dataset) # type: ignore # 2024-01-24 # TODO: Unsupported operand types for + ("list[UpdateAction | dict[Any, Any]]" and "list[UpdateAction]") [operator]
data["updates"] = self.serial_adapter.dump_updates(updates)
response = self._request(url, method="post", data=data)
if fail_ok:
# `fail_ok` should not mean `allow 5xx`
assert response.status_code < 500, response.json
else:
try:
> assert response.status_code == HTTPStatus.OK, response.json
E AssertionError: {'code': 'ERR.DS_API.VALIDATION.ERROR', 'dataset': {'result_schema_aux': {'inter_dependencies': {'deps': []}}, 'revision_id': None, 'avatar_relations': [], 'preview_enabled': True, 'rls': {}, 'component_errors': {'items': [{'id': '5934667d-4030-4ca6-a70a-47b00cc430a9', 'type': 'data_source', 'errors': [{'message': 'Data source (table) identified by: `default..crm_deal` does not exist.', 'code': 'ERR.DS_API.DB.SOURCE_DOES_NOT_EXIST', 'level': 'error', 'details': {'db_message': ''}}]}]}, 'obligatory_filters': [], 'sources': [{'source_type': 'BITRIX_GDS', 'parameters': {'db_version': None, 'table_name': 'crm_deal', 'db_name': 'default'}, 'id': '5934667d-4030-4ca6-a70a-47b00cc430a9', 'raw_schema': [], 'virtual': False, 'valid': False, 'managed_by': 'user', 'parameter_hash': 'dcf51ce7181eb69a', 'index_info_set': None, 'title': 'crm_deal', 'connection_id': '4swqu156gd2ar'}], 'result_schema': [], 'source_avatars': [{'source_id': '5934667d-4030-4ca6-a70a-47b00cc430a9', 'id': '26c71850-a486-4cde-a0ee-b9def8a53e01', 'virtual': False, 'valid': True, 'managed_by': 'user', 'title': 'avatar_1', 'is_root': True}], 'load_preview_by_default': True}, 'message': 'Validation finished with errors.', 'dataset_errors': [], 'options': {'schema_update_enabled': False, 'data_types': {'items': [{'casts': ['string', 'date', 'genericdatetime', 'boolean', 'integer', 'float', 'geopoint', 'geopolygon'], 'type': 'string', 'aggregations': ['count', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'STARTSWITH', 'ISTARTSWITH', 'ENDSWITH', 'IENDSWITH', 'CONTAINS', 'ICONTAINS', 'NOTCONTAINS', 'NOTICONTAINS', 'NOTICONTAINS', 'IN', 'NIN', 'BETWEEN']}, {'casts': ['integer', 'float', 'string', 'boolean', 'date', 'genericdatetime'], 'type': 'integer', 'aggregations': ['count', 'sum', 'avg', 'min', 'max', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'STARTSWITH', 'ISTARTSWITH', 'ENDSWITH', 'IENDSWITH', 'CONTAINS', 'ICONTAINS', 'NOTCONTAINS', 'NOTICONTAINS', 'NOTICONTAINS', 'IN', 'NIN', 'BETWEEN']}, {'casts': ['float', 'integer', 'string', 'boolean', 'date', 'genericdatetime'], 'type': 'float', 'aggregations': ['count', 'sum', 'avg', 'min', 'max', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'IN', 'NIN', 'BETWEEN']}, {'casts': ['date', 'genericdatetime', 'string', 'integer', 'float', 'boolean'], 'type': 'date', 'aggregations': ['count', 'min', 'max', 'countunique', 'avg'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'IN', 'NIN', 'BETWEEN']}, {'casts': ['genericdatetime', 'datetime', 'date', 'string', 'integer', 'float', 'boolean'], 'type': 'datetime', 'aggregations': ['count', 'min', 'max', 'countunique', 'avg'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'IN', 'NIN', 'BETWEEN']}, {'casts': ['boolean', 'integer', 'float', 'string'], 'type': 'boolean', 'aggregations': ['count'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'IN', 'NIN']}, {'casts': ['geopoint', 'string'], 'type': 'geopoint', 'aggregations': ['count'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'IN', 'NIN']}, {'casts': ['geopolygon', 'string'], 'type': 'geopolygon', 'aggregations': ['count'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'IN', 'NIN']}, {'casts': ['uuid', 'string'], 'type': 'uuid', 'aggregations': ['count', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'STARTSWITH', 'ISTARTSWITH', 'ENDSWITH', 'IENDSWITH', 'CONTAINS', 'ICONTAINS', 'NOTCONTAINS', 'NOTICONTAINS', 'NOTICONTAINS', 'IN', 'NIN', 'BETWEEN']}, {'casts': ['markup'], 'type': 'markup', 'aggregations': ['count'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL']}, {'casts': ['datetimetz', 'genericdatetime', 'date', 'string', 'integer', 'float', 'boolean'], 'type': 'datetimetz', 'aggregations': ['count', 'min', 'max', 'countunique', 'avg'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'IN', 'NIN', 'BETWEEN']}, {'casts': ['unsupported'], 'type': 'unsupported', 'aggregations': [], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL']}, {'casts': ['array_str', 'string'], 'type': 'array_str', 'aggregations': ['count', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'STARTSWITH', 'CONTAINS', 'NOTCONTAINS', 'LENEQ', 'LENEQ', 'LENNE', 'LENNE', 'LENGT', 'LENGT', 'LENGTE', 'LENGTE', 'LENLT', 'LENLT', 'LENLTE', 'LENLTE']}, {'casts': ['array_int', 'string'], 'type': 'array_int', 'aggregations': ['count', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'STARTSWITH', 'CONTAINS', 'NOTCONTAINS', 'LENEQ', 'LENEQ', 'LENNE', 'LENNE', 'LENGT', 'LENGT', 'LENGTE', 'LENGTE', 'LENLT', 'LENLT', 'LENLTE', 'LENLTE']}, {'casts': ['array_float', 'string'], 'type': 'array_float', 'aggregations': ['count', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'STARTSWITH', 'CONTAINS', 'NOTCONTAINS', 'LENEQ', 'LENEQ', 'LENNE', 'LENNE', 'LENGT', 'LENGT', 'LENGTE', 'LENGTE', 'LENLT', 'LENLT', 'LENLTE', 'LENLTE']}, {'casts': ['tree_str'], 'type': 'tree_str', 'aggregations': ['count', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'STARTSWITH', 'CONTAINS', 'NOTCONTAINS', 'LENEQ', 'LENEQ', 'LENNE', 'LENNE', 'LENGT', 'LENGT', 'LENGTE', 'LENGTE', 'LENLT', 'LENLT', 'LENLTE', 'LENLTE']}, {'casts': ['genericdatetime', 'date', 'string', 'integer', 'float', 'boolean'], 'type': 'genericdatetime', 'aggregations': ['count', 'min', 'max', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'IN', 'NIN', 'BETWEEN']}]}, 'join': {'types': ['inner', 'left', 'right', 'full'], 'operators': ['eq']}, 'connections': {'max': 1, 'items': [{'id': '4swqu156gd2ar', 'replacement_types': [{'conn_type': 'postgres'}]}], 'compatible_types': []}, 'fields': {'items': []}, 'preview': {'enabled': True}, 'sources': {'items': [{'id': '5934667d-4030-4ca6-a70a-47b00cc430a9', 'schema_update_enabled': False}], 'compatible_types': [{'source_type': 'BITRIX_GDS'}]}, 'supports_offset': True, 'supported_functions': ['abs', 'acos', 'all_concat', 'any', 'arr_remove', 'arr_str', 'array', 'ascii', 'asin', 'atan', 'atan2', 'avg', 'avg_if', 'bold', 'bool', 'br', 'case', 'cast_arr_float', 'cast_arr_int', 'cast_arr_str', 'ceiling', 'char', 'color', 'concat', 'contains', 'contains_all', 'contains_any', 'cos', 'cot', 'count', 'count_if', 'count_item', 'countd', 'countd_if', 'date', 'dateadd', 'datepart', 'datetime', 'datetrunc', 'day', 'dayofweek', 'db_cast', 'degrees', 'div', 'div_safe', 'endswith', 'exp', 'fdiv_safe', 'find', 'first', 'float', 'floor', 'geopoint', 'geopolygon', 'get_item', 'greatest', 'hour', 'icontains', 'iendswith', 'if', 'ifnan', 'ifnull', 'iif', 'image', 'int', 'isnan', 'isnull', 'istartswith', 'italic', 'lag', 'last', 'least', 'left', 'len', 'ln', 'log', 'log10', 'lower', 'ltrim', 'markup', 'mavg', 'max', 'mcount', 'median', 'min', 'minute', 'mmax', 'mmin', 'month', 'msum', 'notcontains', 'now', 'pi', 'power', 'quantile', 'quarter', 'radians', 'rank', 'rank_dense', 'rank_percentile', 'rank_unique', 'ravg', 'rcount', 'regexp_extract', 'regexp_extract_nth', 'regexp_match', 'regexp_replace', 'replace', 'right', 'rmax', 'rmin', 'round', 'rsum', 'rtrim', 'second', 'sign', 'sin', 'size', 'slice', 'space', 'split', 'sqrt', 'square', 'startswith', 'stdev', 'stdevp', 'str', 'substr', 'sum', 'sum_if', 'tan', 'today', 'tree', 'trim', 'unnest', 'upper', 'url', 'var', 'varp', 'week', 'year', 'zn'], 'source_avatars': {'max': 32, 'items': [{'id': '26c71850-a486-4cde-a0ee-b9def8a53e01', 'schema_update_enabled': False}]}}}
/venv/lib/python3.10/site-packages/dl_api_client/dsmaker/api/dataset_api.py:234: AssertionError
Check failure on line 0 in dl_connector_bitrix_gds_tests.ext.api.test_data.TestBitrixDataRange
github-actions / Test Results
test_basic_range (dl_connector_bitrix_gds_tests.ext.api.test_data.TestBitrixDataRange) with error
./report/pytest_reports_dl_connector_bitrix_gds_442724729/_src_lib_dl_connector_bitrix_gds_dl_connector_bitrix_gds_tests-ext-ad12e63037fc49018d8f609250f83756.xml [took 3s]
Raw output
failed on setup with "AssertionError: {'code': 'ERR.DS_API.VALIDATION.ERROR', 'dataset': {'result_schema_aux': {'inter_dependencies': {'deps': []}}, 'revision_id': None, 'avatar_relations': [], 'preview_enabled': True, 'rls': {}, 'component_errors': {'items': [{'id': '204e4628-e010-495a-8d91-f88336b16ea5', 'type': 'data_source', 'errors': [{'message': 'Data source (table) identified by: `default..crm_deal` does not exist.', 'code': 'ERR.DS_API.DB.SOURCE_DOES_NOT_EXIST', 'level': 'error', 'details': {'db_message': ''}}]}]}, 'obligatory_filters': [], 'sources': [{'source_type': 'BITRIX_GDS', 'parameters': {'db_version': None, 'table_name': 'crm_deal', 'db_name': 'default'}, 'id': '204e4628-e010-495a-8d91-f88336b16ea5', 'raw_schema': [], 'virtual': False, 'valid': False, 'managed_by': 'user', 'parameter_hash': '63e0e0e5993e791c', 'index_info_set': None, 'title': 'crm_deal', 'connection_id': 'ymqko875xgnul'}], 'result_schema': [], 'source_avatars': [{'source_id': '204e4628-e010-495a-8d91-f88336b16ea5', 'id': '207c4c16-1778-47ea-a45d-7d721d1b42cf', 'virtual': False, 'valid': True, 'managed_by': 'user', 'title': 'avatar_1', 'is_root': True}], 'load_preview_by_default': True}, 'message': 'Validation finished with errors.', 'dataset_errors': [], 'options': {'schema_update_enabled': False, 'data_types': {'items': [{'casts': ['string', 'date', 'genericdatetime', 'boolean', 'integer', 'float', 'geopoint', 'geopolygon'], 'type': 'string', 'aggregations': ['count', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'STARTSWITH', 'ISTARTSWITH', 'ENDSWITH', 'IENDSWITH', 'CONTAINS', 'ICONTAINS', 'NOTCONTAINS', 'NOTICONTAINS', 'NOTICONTAINS', 'IN', 'NIN', 'BETWEEN']}, {'casts': ['integer', 'float', 'string', 'boolean', 'date', 'genericdatetime'], 'type': 'integer', 'aggregations': ['count', 'sum', 'avg', 'min', 'max', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'STARTSWITH', 'ISTARTSWITH', 'ENDSWITH', 'IENDSWITH', 'CONTAINS', 'ICONTAINS', 'NOTCONTAINS', 'NOTICONTAINS', 'NOTICONTAINS', 'IN', 'NIN', 'BETWEEN']}, {'casts': ['float', 'integer', 'string', 'boolean', 'date', 'genericdatetime'], 'type': 'float', 'aggregations': ['count', 'sum', 'avg', 'min', 'max', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'IN', 'NIN', 'BETWEEN']}, {'casts': ['date', 'genericdatetime', 'string', 'integer', 'float', 'boolean'], 'type': 'date', 'aggregations': ['count', 'min', 'max', 'countunique', 'avg'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'IN', 'NIN', 'BETWEEN']}, {'casts': ['genericdatetime', 'datetime', 'date', 'string', 'integer', 'float', 'boolean'], 'type': 'datetime', 'aggregations': ['count', 'min', 'max', 'countunique', 'avg'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'IN', 'NIN', 'BETWEEN']}, {'casts': ['boolean', 'integer', 'float', 'string'], 'type': 'boolean', 'aggregations': ['count'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'IN', 'NIN']}, {'casts': ['geopoint', 'string'], 'type': 'geopoint', 'aggregations': ['count'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'IN', 'NIN']}, {'casts': ['geopolygon', 'string'], 'type': 'geopolygon', 'aggregations': ['count'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'IN', 'NIN']}, {'casts': ['uuid', 'string'], 'type': 'uuid', 'aggregations': ['count', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'STARTSWITH', 'ISTARTSWITH', 'ENDSWITH', 'IENDSWITH', 'CONTAINS', 'ICONTAINS', 'NOTCONTAINS', 'NOTICONTAINS', 'NOTICONTAINS', 'IN', 'NIN', 'BETWEEN']}, {'casts': ['markup'], 'type': 'markup', 'aggregations': ['count'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL']}, {'casts': ['datetimetz', 'genericdatetime', 'date', 'string', 'integer', 'float', 'boolean'], 'type': 'datetimetz', 'aggregations': ['count', 'min', 'max', 'countunique', 'avg'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'IN', 'NIN', 'BETWEEN']}, {'casts': ['unsupported'], 'type': 'unsupported', 'aggregations': [], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL']}, {'casts': ['array_str', 'string'], 'type': 'array_str', 'aggregations': ['count', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'STARTSWITH', 'CONTAINS', 'NOTCONTAINS', 'LENEQ', 'LENEQ', 'LENNE', 'LENNE', 'LENGT', 'LENGT', 'LENGTE', 'LENGTE', 'LENLT', 'LENLT', 'LENLTE', 'LENLTE']}, {'casts': ['array_int', 'string'], 'type': 'array_int', 'aggregations': ['count', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'STARTSWITH', 'CONTAINS', 'NOTCONTAINS', 'LENEQ', 'LENEQ', 'LENNE', 'LENNE', 'LENGT', 'LENGT', 'LENGTE', 'LENGTE', 'LENLT', 'LENLT', 'LENLTE', 'LENLTE']}, {'casts': ['array_float', 'string'], 'type': 'array_float', 'aggregations': ['count', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'STARTSWITH', 'CONTAINS', 'NOTCONTAINS', 'LENEQ', 'LENEQ', 'LENNE', 'LENNE', 'LENGT', 'LENGT', 'LENGTE', 'LENGTE', 'LENLT', 'LENLT', 'LENLTE', 'LENLTE']}, {'casts': ['tree_str'], 'type': 'tree_str', 'aggregations': ['count', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'STARTSWITH', 'CONTAINS', 'NOTCONTAINS', 'LENEQ', 'LENEQ', 'LENNE', 'LENNE', 'LENGT', 'LENGT', 'LENGTE', 'LENGTE', 'LENLT', 'LENLT', 'LENLTE', 'LENLTE']}, {'casts': ['genericdatetime', 'date', 'string', 'integer', 'float', 'boolean'], 'type': 'genericdatetime', 'aggregations': ['count', 'min', 'max', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'IN', 'NIN', 'BETWEEN']}]}, 'join': {'types': ['inner', 'left', 'right', 'full'], 'operators': ['eq']}, 'connections': {'max': 1, 'items': [{'id': 'ymqko875xgnul', 'replacement_types': [{'conn_type': 'postgres'}]}], 'compatible_types': []}, 'fields': {'items': []}, 'preview': {'enabled': True}, 'sources': {'items': [{'id': '204e4628-e010-495a-8d91-f88336b16ea5', 'schema_update_enabled': False}], 'compatible_types': [{'source_type': 'BITRIX_GDS'}]}, 'supports_offset': True, 'supported_functions': ['abs', 'acos', 'all_concat', 'any', 'arr_remove', 'arr_str', 'array', 'ascii', 'asin', 'atan', 'atan2', 'avg', 'avg_if', 'bold', 'bool', 'br', 'case', 'cast_arr_float', 'cast_arr_int', 'cast_arr_str', 'ceiling', 'char', 'color', 'concat', 'contains', 'contains_all', 'contains_any', 'cos', 'cot', 'count', 'count_if', 'count_item', 'countd', 'countd_if', 'date', 'dateadd', 'datepart', 'datetime', 'datetrunc', 'day', 'dayofweek', 'db_cast', 'degrees', 'div', 'div_safe', 'endswith', 'exp', 'fdiv_safe', 'find', 'first', 'float', 'floor', 'geopoint', 'geopolygon', 'get_item', 'greatest', 'hour', 'icontains', 'iendswith', 'if', 'ifnan', 'ifnull', 'iif', 'image', 'int', 'isnan', 'isnull', 'istartswith', 'italic', 'lag', 'last', 'least', 'left', 'len', 'ln', 'log', 'log10', 'lower', 'ltrim', 'markup', 'mavg', 'max', 'mcount', 'median', 'min', 'minute', 'mmax', 'mmin', 'month', 'msum', 'notcontains', 'now', 'pi', 'power', 'quantile', 'quarter', 'radians', 'rank', 'rank_dense', 'rank_percentile', 'rank_unique', 'ravg', 'rcount', 'regexp_extract', 'regexp_extract_nth', 'regexp_match', 'regexp_replace', 'replace', 'right', 'rmax', 'rmin', 'round', 'rsum', 'rtrim', 'second', 'sign', 'sin', 'size', 'slice', 'space', 'split', 'sqrt', 'square', 'startswith', 'stdev', 'stdevp', 'str', 'substr', 'sum', 'sum_if', 'tan', 'today', 'tree', 'trim', 'unnest', 'upper', 'url', 'var', 'varp', 'week', 'year', 'zn'], 'source_avatars': {'max': 32, 'items': [{'id': '207c4c16-1778-47ea-a45d-7d721d1b42cf', 'schema_update_enabled': False}]}}}"
> lambda: ihook(item=item, **kwds), when=when, reraise=reraise
)
/venv/lib/python3.10/site-packages/flaky/flaky_pytest_plugin.py:146:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/venv/lib/python3.10/site-packages/pytest_lazyfixture.py:39: in fill
_fillfixtures()
/venv/lib/python3.10/site-packages/dl_api_lib_testing/dataset_base.py:41: in saved_dataset
ds = self.make_basic_dataset(
/venv/lib/python3.10/site-packages/dl_api_lib_testing/dataset_base.py:30: in make_basic_dataset
ds = control_api.apply_updates(dataset=ds, fail_ok=False).dataset
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = SyncHttpDatasetApiV1(client=FlaskSyncApiClient(_int_wclient=<TestClient <Flask 'dl_api_lib.app.control_api.app'>>), headers={}, _created_dataset_id_list=[], serial_adapter=DatasetApiV1SerializationAdapter())
dataset = Dataset(id='235252d5-4a18-4f34-837b-80b798e14c83', created_=False, name=None, revision_id=None, load_preview_by_defaul...sultSchemaAux(inter_dependencies={}), rls={}, component_errors=ComponentErrorRegistry(items=[]), obligatory_filters=[])
updates = [UpdateAction(action=<Action.add: 'add'>, item=DataSource(id='204e4628-e010-495a-8d91-f88336b16ea5', created_=False, c...', title='avatar_1', is_root=False, managed_by=<ManagedBy.user: 'user'>, valid=True), custom_data=None, order_index=0)]
fail_ok = False
def apply_updates( # type: ignore # TODO: fix
self,
dataset: Dataset,
updates: list[Union[UpdateAction, dict]] = None, # type: ignore # 2024-01-24 # TODO: Incompatible default for argument "updates" (default has type "None", argument has type "list[UpdateAction | dict[Any, Any]]") [assignment]
fail_ok: bool = False,
) -> HttpDatasetApiResponse:
if dataset.created_:
url = f"/api/v1/datasets/{dataset.id}/versions/draft/validators/schema"
else:
url = "/api/v1/datasets/validators/dataset"
data = self.dump_dataset_to_request_body(dataset)
updates = list(updates or ()) + self.serial_adapter.generate_implicit_updates(dataset) # type: ignore # 2024-01-24 # TODO: Unsupported operand types for + ("list[UpdateAction | dict[Any, Any]]" and "list[UpdateAction]") [operator]
data["updates"] = self.serial_adapter.dump_updates(updates)
response = self._request(url, method="post", data=data)
if fail_ok:
# `fail_ok` should not mean `allow 5xx`
assert response.status_code < 500, response.json
else:
try:
> assert response.status_code == HTTPStatus.OK, response.json
E AssertionError: {'code': 'ERR.DS_API.VALIDATION.ERROR', 'dataset': {'result_schema_aux': {'inter_dependencies': {'deps': []}}, 'revision_id': None, 'avatar_relations': [], 'preview_enabled': True, 'rls': {}, 'component_errors': {'items': [{'id': '204e4628-e010-495a-8d91-f88336b16ea5', 'type': 'data_source', 'errors': [{'message': 'Data source (table) identified by: `default..crm_deal` does not exist.', 'code': 'ERR.DS_API.DB.SOURCE_DOES_NOT_EXIST', 'level': 'error', 'details': {'db_message': ''}}]}]}, 'obligatory_filters': [], 'sources': [{'source_type': 'BITRIX_GDS', 'parameters': {'db_version': None, 'table_name': 'crm_deal', 'db_name': 'default'}, 'id': '204e4628-e010-495a-8d91-f88336b16ea5', 'raw_schema': [], 'virtual': False, 'valid': False, 'managed_by': 'user', 'parameter_hash': '63e0e0e5993e791c', 'index_info_set': None, 'title': 'crm_deal', 'connection_id': 'ymqko875xgnul'}], 'result_schema': [], 'source_avatars': [{'source_id': '204e4628-e010-495a-8d91-f88336b16ea5', 'id': '207c4c16-1778-47ea-a45d-7d721d1b42cf', 'virtual': False, 'valid': True, 'managed_by': 'user', 'title': 'avatar_1', 'is_root': True}], 'load_preview_by_default': True}, 'message': 'Validation finished with errors.', 'dataset_errors': [], 'options': {'schema_update_enabled': False, 'data_types': {'items': [{'casts': ['string', 'date', 'genericdatetime', 'boolean', 'integer', 'float', 'geopoint', 'geopolygon'], 'type': 'string', 'aggregations': ['count', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'STARTSWITH', 'ISTARTSWITH', 'ENDSWITH', 'IENDSWITH', 'CONTAINS', 'ICONTAINS', 'NOTCONTAINS', 'NOTICONTAINS', 'NOTICONTAINS', 'IN', 'NIN', 'BETWEEN']}, {'casts': ['integer', 'float', 'string', 'boolean', 'date', 'genericdatetime'], 'type': 'integer', 'aggregations': ['count', 'sum', 'avg', 'min', 'max', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'STARTSWITH', 'ISTARTSWITH', 'ENDSWITH', 'IENDSWITH', 'CONTAINS', 'ICONTAINS', 'NOTCONTAINS', 'NOTICONTAINS', 'NOTICONTAINS', 'IN', 'NIN', 'BETWEEN']}, {'casts': ['float', 'integer', 'string', 'boolean', 'date', 'genericdatetime'], 'type': 'float', 'aggregations': ['count', 'sum', 'avg', 'min', 'max', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'IN', 'NIN', 'BETWEEN']}, {'casts': ['date', 'genericdatetime', 'string', 'integer', 'float', 'boolean'], 'type': 'date', 'aggregations': ['count', 'min', 'max', 'countunique', 'avg'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'IN', 'NIN', 'BETWEEN']}, {'casts': ['genericdatetime', 'datetime', 'date', 'string', 'integer', 'float', 'boolean'], 'type': 'datetime', 'aggregations': ['count', 'min', 'max', 'countunique', 'avg'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'IN', 'NIN', 'BETWEEN']}, {'casts': ['boolean', 'integer', 'float', 'string'], 'type': 'boolean', 'aggregations': ['count'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'IN', 'NIN']}, {'casts': ['geopoint', 'string'], 'type': 'geopoint', 'aggregations': ['count'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'IN', 'NIN']}, {'casts': ['geopolygon', 'string'], 'type': 'geopolygon', 'aggregations': ['count'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'IN', 'NIN']}, {'casts': ['uuid', 'string'], 'type': 'uuid', 'aggregations': ['count', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'STARTSWITH', 'ISTARTSWITH', 'ENDSWITH', 'IENDSWITH', 'CONTAINS', 'ICONTAINS', 'NOTCONTAINS', 'NOTICONTAINS', 'NOTICONTAINS', 'IN', 'NIN', 'BETWEEN']}, {'casts': ['markup'], 'type': 'markup', 'aggregations': ['count'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL']}, {'casts': ['datetimetz', 'genericdatetime', 'date', 'string', 'integer', 'float', 'boolean'], 'type': 'datetimetz', 'aggregations': ['count', 'min', 'max', 'countunique', 'avg'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'IN', 'NIN', 'BETWEEN']}, {'casts': ['unsupported'], 'type': 'unsupported', 'aggregations': [], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL']}, {'casts': ['array_str', 'string'], 'type': 'array_str', 'aggregations': ['count', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'STARTSWITH', 'CONTAINS', 'NOTCONTAINS', 'LENEQ', 'LENEQ', 'LENNE', 'LENNE', 'LENGT', 'LENGT', 'LENGTE', 'LENGTE', 'LENLT', 'LENLT', 'LENLTE', 'LENLTE']}, {'casts': ['array_int', 'string'], 'type': 'array_int', 'aggregations': ['count', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'STARTSWITH', 'CONTAINS', 'NOTCONTAINS', 'LENEQ', 'LENEQ', 'LENNE', 'LENNE', 'LENGT', 'LENGT', 'LENGTE', 'LENGTE', 'LENLT', 'LENLT', 'LENLTE', 'LENLTE']}, {'casts': ['array_float', 'string'], 'type': 'array_float', 'aggregations': ['count', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'STARTSWITH', 'CONTAINS', 'NOTCONTAINS', 'LENEQ', 'LENEQ', 'LENNE', 'LENNE', 'LENGT', 'LENGT', 'LENGTE', 'LENGTE', 'LENLT', 'LENLT', 'LENLTE', 'LENLTE']}, {'casts': ['tree_str'], 'type': 'tree_str', 'aggregations': ['count', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'STARTSWITH', 'CONTAINS', 'NOTCONTAINS', 'LENEQ', 'LENEQ', 'LENNE', 'LENNE', 'LENGT', 'LENGT', 'LENGTE', 'LENGTE', 'LENLT', 'LENLT', 'LENLTE', 'LENLTE']}, {'casts': ['genericdatetime', 'date', 'string', 'integer', 'float', 'boolean'], 'type': 'genericdatetime', 'aggregations': ['count', 'min', 'max', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'IN', 'NIN', 'BETWEEN']}]}, 'join': {'types': ['inner', 'left', 'right', 'full'], 'operators': ['eq']}, 'connections': {'max': 1, 'items': [{'id': 'ymqko875xgnul', 'replacement_types': [{'conn_type': 'postgres'}]}], 'compatible_types': []}, 'fields': {'items': []}, 'preview': {'enabled': True}, 'sources': {'items': [{'id': '204e4628-e010-495a-8d91-f88336b16ea5', 'schema_update_enabled': False}], 'compatible_types': [{'source_type': 'BITRIX_GDS'}]}, 'supports_offset': True, 'supported_functions': ['abs', 'acos', 'all_concat', 'any', 'arr_remove', 'arr_str', 'array', 'ascii', 'asin', 'atan', 'atan2', 'avg', 'avg_if', 'bold', 'bool', 'br', 'case', 'cast_arr_float', 'cast_arr_int', 'cast_arr_str', 'ceiling', 'char', 'color', 'concat', 'contains', 'contains_all', 'contains_any', 'cos', 'cot', 'count', 'count_if', 'count_item', 'countd', 'countd_if', 'date', 'dateadd', 'datepart', 'datetime', 'datetrunc', 'day', 'dayofweek', 'db_cast', 'degrees', 'div', 'div_safe', 'endswith', 'exp', 'fdiv_safe', 'find', 'first', 'float', 'floor', 'geopoint', 'geopolygon', 'get_item', 'greatest', 'hour', 'icontains', 'iendswith', 'if', 'ifnan', 'ifnull', 'iif', 'image', 'int', 'isnan', 'isnull', 'istartswith', 'italic', 'lag', 'last', 'least', 'left', 'len', 'ln', 'log', 'log10', 'lower', 'ltrim', 'markup', 'mavg', 'max', 'mcount', 'median', 'min', 'minute', 'mmax', 'mmin', 'month', 'msum', 'notcontains', 'now', 'pi', 'power', 'quantile', 'quarter', 'radians', 'rank', 'rank_dense', 'rank_percentile', 'rank_unique', 'ravg', 'rcount', 'regexp_extract', 'regexp_extract_nth', 'regexp_match', 'regexp_replace', 'replace', 'right', 'rmax', 'rmin', 'round', 'rsum', 'rtrim', 'second', 'sign', 'sin', 'size', 'slice', 'space', 'split', 'sqrt', 'square', 'startswith', 'stdev', 'stdevp', 'str', 'substr', 'sum', 'sum_if', 'tan', 'today', 'tree', 'trim', 'unnest', 'upper', 'url', 'var', 'varp', 'week', 'year', 'zn'], 'source_avatars': {'max': 32, 'items': [{'id': '207c4c16-1778-47ea-a45d-7d721d1b42cf', 'schema_update_enabled': False}]}}}
/venv/lib/python3.10/site-packages/dl_api_client/dsmaker/api/dataset_api.py:234: AssertionError
Check failure on line 0 in dl_connector_bitrix_gds_tests.ext.api.test_data.TestBitrixDataDistinct
github-actions / Test Results
test_basic_distinct (dl_connector_bitrix_gds_tests.ext.api.test_data.TestBitrixDataDistinct) with error
./report/pytest_reports_dl_connector_bitrix_gds_442724729/_src_lib_dl_connector_bitrix_gds_dl_connector_bitrix_gds_tests-ext-ad12e63037fc49018d8f609250f83756.xml [took 3s]
Raw output
failed on setup with "AssertionError: {'code': 'ERR.DS_API.VALIDATION.ERROR', 'dataset': {'result_schema_aux': {'inter_dependencies': {'deps': []}}, 'revision_id': None, 'avatar_relations': [], 'preview_enabled': True, 'rls': {}, 'component_errors': {'items': [{'id': '28a78339-f392-43b6-ad7e-04c7ada5f89f', 'type': 'data_source', 'errors': [{'message': 'Data source (table) identified by: `default..crm_deal` does not exist.', 'code': 'ERR.DS_API.DB.SOURCE_DOES_NOT_EXIST', 'level': 'error', 'details': {'db_message': ''}}]}]}, 'obligatory_filters': [], 'sources': [{'source_type': 'BITRIX_GDS', 'parameters': {'db_version': None, 'table_name': 'crm_deal', 'db_name': 'default'}, 'id': '28a78339-f392-43b6-ad7e-04c7ada5f89f', 'raw_schema': [], 'virtual': False, 'valid': False, 'managed_by': 'user', 'parameter_hash': '608cfb441605aedd', 'index_info_set': None, 'title': 'crm_deal', 'connection_id': '0osmro6wnttyn'}], 'result_schema': [], 'source_avatars': [{'source_id': '28a78339-f392-43b6-ad7e-04c7ada5f89f', 'id': '8a92eb19-6582-4f42-b1b0-051c76411fd9', 'virtual': False, 'valid': True, 'managed_by': 'user', 'title': 'avatar_1', 'is_root': True}], 'load_preview_by_default': True}, 'message': 'Validation finished with errors.', 'dataset_errors': [], 'options': {'schema_update_enabled': False, 'data_types': {'items': [{'casts': ['string', 'date', 'genericdatetime', 'boolean', 'integer', 'float', 'geopoint', 'geopolygon'], 'type': 'string', 'aggregations': ['count', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'STARTSWITH', 'ISTARTSWITH', 'ENDSWITH', 'IENDSWITH', 'CONTAINS', 'ICONTAINS', 'NOTCONTAINS', 'NOTICONTAINS', 'NOTICONTAINS', 'IN', 'NIN', 'BETWEEN']}, {'casts': ['integer', 'float', 'string', 'boolean', 'date', 'genericdatetime'], 'type': 'integer', 'aggregations': ['count', 'sum', 'avg', 'min', 'max', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'STARTSWITH', 'ISTARTSWITH', 'ENDSWITH', 'IENDSWITH', 'CONTAINS', 'ICONTAINS', 'NOTCONTAINS', 'NOTICONTAINS', 'NOTICONTAINS', 'IN', 'NIN', 'BETWEEN']}, {'casts': ['float', 'integer', 'string', 'boolean', 'date', 'genericdatetime'], 'type': 'float', 'aggregations': ['count', 'sum', 'avg', 'min', 'max', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'IN', 'NIN', 'BETWEEN']}, {'casts': ['date', 'genericdatetime', 'string', 'integer', 'float', 'boolean'], 'type': 'date', 'aggregations': ['count', 'min', 'max', 'countunique', 'avg'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'IN', 'NIN', 'BETWEEN']}, {'casts': ['genericdatetime', 'datetime', 'date', 'string', 'integer', 'float', 'boolean'], 'type': 'datetime', 'aggregations': ['count', 'min', 'max', 'countunique', 'avg'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'IN', 'NIN', 'BETWEEN']}, {'casts': ['boolean', 'integer', 'float', 'string'], 'type': 'boolean', 'aggregations': ['count'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'IN', 'NIN']}, {'casts': ['geopoint', 'string'], 'type': 'geopoint', 'aggregations': ['count'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'IN', 'NIN']}, {'casts': ['geopolygon', 'string'], 'type': 'geopolygon', 'aggregations': ['count'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'IN', 'NIN']}, {'casts': ['uuid', 'string'], 'type': 'uuid', 'aggregations': ['count', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'STARTSWITH', 'ISTARTSWITH', 'ENDSWITH', 'IENDSWITH', 'CONTAINS', 'ICONTAINS', 'NOTCONTAINS', 'NOTICONTAINS', 'NOTICONTAINS', 'IN', 'NIN', 'BETWEEN']}, {'casts': ['markup'], 'type': 'markup', 'aggregations': ['count'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL']}, {'casts': ['datetimetz', 'genericdatetime', 'date', 'string', 'integer', 'float', 'boolean'], 'type': 'datetimetz', 'aggregations': ['count', 'min', 'max', 'countunique', 'avg'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'IN', 'NIN', 'BETWEEN']}, {'casts': ['unsupported'], 'type': 'unsupported', 'aggregations': [], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL']}, {'casts': ['array_str', 'string'], 'type': 'array_str', 'aggregations': ['count', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'STARTSWITH', 'CONTAINS', 'NOTCONTAINS', 'LENEQ', 'LENEQ', 'LENNE', 'LENNE', 'LENGT', 'LENGT', 'LENGTE', 'LENGTE', 'LENLT', 'LENLT', 'LENLTE', 'LENLTE']}, {'casts': ['array_int', 'string'], 'type': 'array_int', 'aggregations': ['count', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'STARTSWITH', 'CONTAINS', 'NOTCONTAINS', 'LENEQ', 'LENEQ', 'LENNE', 'LENNE', 'LENGT', 'LENGT', 'LENGTE', 'LENGTE', 'LENLT', 'LENLT', 'LENLTE', 'LENLTE']}, {'casts': ['array_float', 'string'], 'type': 'array_float', 'aggregations': ['count', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'STARTSWITH', 'CONTAINS', 'NOTCONTAINS', 'LENEQ', 'LENEQ', 'LENNE', 'LENNE', 'LENGT', 'LENGT', 'LENGTE', 'LENGTE', 'LENLT', 'LENLT', 'LENLTE', 'LENLTE']}, {'casts': ['tree_str'], 'type': 'tree_str', 'aggregations': ['count', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'STARTSWITH', 'CONTAINS', 'NOTCONTAINS', 'LENEQ', 'LENEQ', 'LENNE', 'LENNE', 'LENGT', 'LENGT', 'LENGTE', 'LENGTE', 'LENLT', 'LENLT', 'LENLTE', 'LENLTE']}, {'casts': ['genericdatetime', 'date', 'string', 'integer', 'float', 'boolean'], 'type': 'genericdatetime', 'aggregations': ['count', 'min', 'max', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'IN', 'NIN', 'BETWEEN']}]}, 'join': {'types': ['inner', 'left', 'right', 'full'], 'operators': ['eq']}, 'connections': {'max': 1, 'items': [{'id': '0osmro6wnttyn', 'replacement_types': [{'conn_type': 'postgres'}]}], 'compatible_types': []}, 'fields': {'items': []}, 'preview': {'enabled': True}, 'sources': {'items': [{'id': '28a78339-f392-43b6-ad7e-04c7ada5f89f', 'schema_update_enabled': False}], 'compatible_types': [{'source_type': 'BITRIX_GDS'}]}, 'supports_offset': True, 'supported_functions': ['abs', 'acos', 'all_concat', 'any', 'arr_remove', 'arr_str', 'array', 'ascii', 'asin', 'atan', 'atan2', 'avg', 'avg_if', 'bold', 'bool', 'br', 'case', 'cast_arr_float', 'cast_arr_int', 'cast_arr_str', 'ceiling', 'char', 'color', 'concat', 'contains', 'contains_all', 'contains_any', 'cos', 'cot', 'count', 'count_if', 'count_item', 'countd', 'countd_if', 'date', 'dateadd', 'datepart', 'datetime', 'datetrunc', 'day', 'dayofweek', 'db_cast', 'degrees', 'div', 'div_safe', 'endswith', 'exp', 'fdiv_safe', 'find', 'first', 'float', 'floor', 'geopoint', 'geopolygon', 'get_item', 'greatest', 'hour', 'icontains', 'iendswith', 'if', 'ifnan', 'ifnull', 'iif', 'image', 'int', 'isnan', 'isnull', 'istartswith', 'italic', 'lag', 'last', 'least', 'left', 'len', 'ln', 'log', 'log10', 'lower', 'ltrim', 'markup', 'mavg', 'max', 'mcount', 'median', 'min', 'minute', 'mmax', 'mmin', 'month', 'msum', 'notcontains', 'now', 'pi', 'power', 'quantile', 'quarter', 'radians', 'rank', 'rank_dense', 'rank_percentile', 'rank_unique', 'ravg', 'rcount', 'regexp_extract', 'regexp_extract_nth', 'regexp_match', 'regexp_replace', 'replace', 'right', 'rmax', 'rmin', 'round', 'rsum', 'rtrim', 'second', 'sign', 'sin', 'size', 'slice', 'space', 'split', 'sqrt', 'square', 'startswith', 'stdev', 'stdevp', 'str', 'substr', 'sum', 'sum_if', 'tan', 'today', 'tree', 'trim', 'unnest', 'upper', 'url', 'var', 'varp', 'week', 'year', 'zn'], 'source_avatars': {'max': 32, 'items': [{'id': '8a92eb19-6582-4f42-b1b0-051c76411fd9', 'schema_update_enabled': False}]}}}"
> lambda: ihook(item=item, **kwds), when=when, reraise=reraise
)
/venv/lib/python3.10/site-packages/flaky/flaky_pytest_plugin.py:146:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/venv/lib/python3.10/site-packages/pytest_lazyfixture.py:39: in fill
_fillfixtures()
/venv/lib/python3.10/site-packages/dl_api_lib_testing/dataset_base.py:41: in saved_dataset
ds = self.make_basic_dataset(
/venv/lib/python3.10/site-packages/dl_api_lib_testing/dataset_base.py:30: in make_basic_dataset
ds = control_api.apply_updates(dataset=ds, fail_ok=False).dataset
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = SyncHttpDatasetApiV1(client=FlaskSyncApiClient(_int_wclient=<TestClient <Flask 'dl_api_lib.app.control_api.app'>>), headers={}, _created_dataset_id_list=[], serial_adapter=DatasetApiV1SerializationAdapter())
dataset = Dataset(id='d7b3c911-8aa8-4e01-9e2d-ff9d1740e885', created_=False, name=None, revision_id=None, load_preview_by_defaul...sultSchemaAux(inter_dependencies={}), rls={}, component_errors=ComponentErrorRegistry(items=[]), obligatory_filters=[])
updates = [UpdateAction(action=<Action.add: 'add'>, item=DataSource(id='28a78339-f392-43b6-ad7e-04c7ada5f89f', created_=False, c...', title='avatar_1', is_root=False, managed_by=<ManagedBy.user: 'user'>, valid=True), custom_data=None, order_index=0)]
fail_ok = False
def apply_updates( # type: ignore # TODO: fix
self,
dataset: Dataset,
updates: list[Union[UpdateAction, dict]] = None, # type: ignore # 2024-01-24 # TODO: Incompatible default for argument "updates" (default has type "None", argument has type "list[UpdateAction | dict[Any, Any]]") [assignment]
fail_ok: bool = False,
) -> HttpDatasetApiResponse:
if dataset.created_:
url = f"/api/v1/datasets/{dataset.id}/versions/draft/validators/schema"
else:
url = "/api/v1/datasets/validators/dataset"
data = self.dump_dataset_to_request_body(dataset)
updates = list(updates or ()) + self.serial_adapter.generate_implicit_updates(dataset) # type: ignore # 2024-01-24 # TODO: Unsupported operand types for + ("list[UpdateAction | dict[Any, Any]]" and "list[UpdateAction]") [operator]
data["updates"] = self.serial_adapter.dump_updates(updates)
response = self._request(url, method="post", data=data)
if fail_ok:
# `fail_ok` should not mean `allow 5xx`
assert response.status_code < 500, response.json
else:
try:
> assert response.status_code == HTTPStatus.OK, response.json
E AssertionError: {'code': 'ERR.DS_API.VALIDATION.ERROR', 'dataset': {'result_schema_aux': {'inter_dependencies': {'deps': []}}, 'revision_id': None, 'avatar_relations': [], 'preview_enabled': True, 'rls': {}, 'component_errors': {'items': [{'id': '28a78339-f392-43b6-ad7e-04c7ada5f89f', 'type': 'data_source', 'errors': [{'message': 'Data source (table) identified by: `default..crm_deal` does not exist.', 'code': 'ERR.DS_API.DB.SOURCE_DOES_NOT_EXIST', 'level': 'error', 'details': {'db_message': ''}}]}]}, 'obligatory_filters': [], 'sources': [{'source_type': 'BITRIX_GDS', 'parameters': {'db_version': None, 'table_name': 'crm_deal', 'db_name': 'default'}, 'id': '28a78339-f392-43b6-ad7e-04c7ada5f89f', 'raw_schema': [], 'virtual': False, 'valid': False, 'managed_by': 'user', 'parameter_hash': '608cfb441605aedd', 'index_info_set': None, 'title': 'crm_deal', 'connection_id': '0osmro6wnttyn'}], 'result_schema': [], 'source_avatars': [{'source_id': '28a78339-f392-43b6-ad7e-04c7ada5f89f', 'id': '8a92eb19-6582-4f42-b1b0-051c76411fd9', 'virtual': False, 'valid': True, 'managed_by': 'user', 'title': 'avatar_1', 'is_root': True}], 'load_preview_by_default': True}, 'message': 'Validation finished with errors.', 'dataset_errors': [], 'options': {'schema_update_enabled': False, 'data_types': {'items': [{'casts': ['string', 'date', 'genericdatetime', 'boolean', 'integer', 'float', 'geopoint', 'geopolygon'], 'type': 'string', 'aggregations': ['count', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'STARTSWITH', 'ISTARTSWITH', 'ENDSWITH', 'IENDSWITH', 'CONTAINS', 'ICONTAINS', 'NOTCONTAINS', 'NOTICONTAINS', 'NOTICONTAINS', 'IN', 'NIN', 'BETWEEN']}, {'casts': ['integer', 'float', 'string', 'boolean', 'date', 'genericdatetime'], 'type': 'integer', 'aggregations': ['count', 'sum', 'avg', 'min', 'max', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'STARTSWITH', 'ISTARTSWITH', 'ENDSWITH', 'IENDSWITH', 'CONTAINS', 'ICONTAINS', 'NOTCONTAINS', 'NOTICONTAINS', 'NOTICONTAINS', 'IN', 'NIN', 'BETWEEN']}, {'casts': ['float', 'integer', 'string', 'boolean', 'date', 'genericdatetime'], 'type': 'float', 'aggregations': ['count', 'sum', 'avg', 'min', 'max', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'IN', 'NIN', 'BETWEEN']}, {'casts': ['date', 'genericdatetime', 'string', 'integer', 'float', 'boolean'], 'type': 'date', 'aggregations': ['count', 'min', 'max', 'countunique', 'avg'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'IN', 'NIN', 'BETWEEN']}, {'casts': ['genericdatetime', 'datetime', 'date', 'string', 'integer', 'float', 'boolean'], 'type': 'datetime', 'aggregations': ['count', 'min', 'max', 'countunique', 'avg'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'IN', 'NIN', 'BETWEEN']}, {'casts': ['boolean', 'integer', 'float', 'string'], 'type': 'boolean', 'aggregations': ['count'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'IN', 'NIN']}, {'casts': ['geopoint', 'string'], 'type': 'geopoint', 'aggregations': ['count'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'IN', 'NIN']}, {'casts': ['geopolygon', 'string'], 'type': 'geopolygon', 'aggregations': ['count'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'IN', 'NIN']}, {'casts': ['uuid', 'string'], 'type': 'uuid', 'aggregations': ['count', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'STARTSWITH', 'ISTARTSWITH', 'ENDSWITH', 'IENDSWITH', 'CONTAINS', 'ICONTAINS', 'NOTCONTAINS', 'NOTICONTAINS', 'NOTICONTAINS', 'IN', 'NIN', 'BETWEEN']}, {'casts': ['markup'], 'type': 'markup', 'aggregations': ['count'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL']}, {'casts': ['datetimetz', 'genericdatetime', 'date', 'string', 'integer', 'float', 'boolean'], 'type': 'datetimetz', 'aggregations': ['count', 'min', 'max', 'countunique', 'avg'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'IN', 'NIN', 'BETWEEN']}, {'casts': ['unsupported'], 'type': 'unsupported', 'aggregations': [], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL']}, {'casts': ['array_str', 'string'], 'type': 'array_str', 'aggregations': ['count', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'STARTSWITH', 'CONTAINS', 'NOTCONTAINS', 'LENEQ', 'LENEQ', 'LENNE', 'LENNE', 'LENGT', 'LENGT', 'LENGTE', 'LENGTE', 'LENLT', 'LENLT', 'LENLTE', 'LENLTE']}, {'casts': ['array_int', 'string'], 'type': 'array_int', 'aggregations': ['count', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'STARTSWITH', 'CONTAINS', 'NOTCONTAINS', 'LENEQ', 'LENEQ', 'LENNE', 'LENNE', 'LENGT', 'LENGT', 'LENGTE', 'LENGTE', 'LENLT', 'LENLT', 'LENLTE', 'LENLTE']}, {'casts': ['array_float', 'string'], 'type': 'array_float', 'aggregations': ['count', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'STARTSWITH', 'CONTAINS', 'NOTCONTAINS', 'LENEQ', 'LENEQ', 'LENNE', 'LENNE', 'LENGT', 'LENGT', 'LENGTE', 'LENGTE', 'LENLT', 'LENLT', 'LENLTE', 'LENLTE']}, {'casts': ['tree_str'], 'type': 'tree_str', 'aggregations': ['count', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'STARTSWITH', 'CONTAINS', 'NOTCONTAINS', 'LENEQ', 'LENEQ', 'LENNE', 'LENNE', 'LENGT', 'LENGT', 'LENGTE', 'LENGTE', 'LENLT', 'LENLT', 'LENLTE', 'LENLTE']}, {'casts': ['genericdatetime', 'date', 'string', 'integer', 'float', 'boolean'], 'type': 'genericdatetime', 'aggregations': ['count', 'min', 'max', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'IN', 'NIN', 'BETWEEN']}]}, 'join': {'types': ['inner', 'left', 'right', 'full'], 'operators': ['eq']}, 'connections': {'max': 1, 'items': [{'id': '0osmro6wnttyn', 'replacement_types': [{'conn_type': 'postgres'}]}], 'compatible_types': []}, 'fields': {'items': []}, 'preview': {'enabled': True}, 'sources': {'items': [{'id': '28a78339-f392-43b6-ad7e-04c7ada5f89f', 'schema_update_enabled': False}], 'compatible_types': [{'source_type': 'BITRIX_GDS'}]}, 'supports_offset': True, 'supported_functions': ['abs', 'acos', 'all_concat', 'any', 'arr_remove', 'arr_str', 'array', 'ascii', 'asin', 'atan', 'atan2', 'avg', 'avg_if', 'bold', 'bool', 'br', 'case', 'cast_arr_float', 'cast_arr_int', 'cast_arr_str', 'ceiling', 'char', 'color', 'concat', 'contains', 'contains_all', 'contains_any', 'cos', 'cot', 'count', 'count_if', 'count_item', 'countd', 'countd_if', 'date', 'dateadd', 'datepart', 'datetime', 'datetrunc', 'day', 'dayofweek', 'db_cast', 'degrees', 'div', 'div_safe', 'endswith', 'exp', 'fdiv_safe', 'find', 'first', 'float', 'floor', 'geopoint', 'geopolygon', 'get_item', 'greatest', 'hour', 'icontains', 'iendswith', 'if', 'ifnan', 'ifnull', 'iif', 'image', 'int', 'isnan', 'isnull', 'istartswith', 'italic', 'lag', 'last', 'least', 'left', 'len', 'ln', 'log', 'log10', 'lower', 'ltrim', 'markup', 'mavg', 'max', 'mcount', 'median', 'min', 'minute', 'mmax', 'mmin', 'month', 'msum', 'notcontains', 'now', 'pi', 'power', 'quantile', 'quarter', 'radians', 'rank', 'rank_dense', 'rank_percentile', 'rank_unique', 'ravg', 'rcount', 'regexp_extract', 'regexp_extract_nth', 'regexp_match', 'regexp_replace', 'replace', 'right', 'rmax', 'rmin', 'round', 'rsum', 'rtrim', 'second', 'sign', 'sin', 'size', 'slice', 'space', 'split', 'sqrt', 'square', 'startswith', 'stdev', 'stdevp', 'str', 'substr', 'sum', 'sum_if', 'tan', 'today', 'tree', 'trim', 'unnest', 'upper', 'url', 'var', 'varp', 'week', 'year', 'zn'], 'source_avatars': {'max': 32, 'items': [{'id': '8a92eb19-6582-4f42-b1b0-051c76411fd9', 'schema_update_enabled': False}]}}}
/venv/lib/python3.10/site-packages/dl_api_client/dsmaker/api/dataset_api.py:234: AssertionError
Check failure on line 0 in dl_connector_bitrix_gds_tests.ext.api.test_data.TestBitrixDataDistinct
github-actions / Test Results
test_distinct_with_nonexistent_filter (dl_connector_bitrix_gds_tests.ext.api.test_data.TestBitrixDataDistinct) with error
./report/pytest_reports_dl_connector_bitrix_gds_442724729/_src_lib_dl_connector_bitrix_gds_dl_connector_bitrix_gds_tests-ext-ad12e63037fc49018d8f609250f83756.xml [took 3s]
Raw output
failed on setup with "AssertionError: {'code': 'ERR.DS_API.VALIDATION.ERROR', 'dataset': {'result_schema_aux': {'inter_dependencies': {'deps': []}}, 'revision_id': None, 'avatar_relations': [], 'preview_enabled': True, 'rls': {}, 'component_errors': {'items': [{'id': '1a9e8d76-e341-486b-8c5a-691b6570a294', 'type': 'data_source', 'errors': [{'message': 'Data source (table) identified by: `default..crm_deal` does not exist.', 'code': 'ERR.DS_API.DB.SOURCE_DOES_NOT_EXIST', 'level': 'error', 'details': {'db_message': ''}}]}]}, 'obligatory_filters': [], 'sources': [{'source_type': 'BITRIX_GDS', 'parameters': {'db_version': None, 'table_name': 'crm_deal', 'db_name': 'default'}, 'id': '1a9e8d76-e341-486b-8c5a-691b6570a294', 'raw_schema': [], 'virtual': False, 'valid': False, 'managed_by': 'user', 'parameter_hash': '7ade30626cb6e1db', 'index_info_set': None, 'title': 'crm_deal', 'connection_id': 'mae8dn42p6aq9'}], 'result_schema': [], 'source_avatars': [{'source_id': '1a9e8d76-e341-486b-8c5a-691b6570a294', 'id': 'f5f543df-42b4-4455-98ae-e3575c616b0b', 'virtual': False, 'valid': True, 'managed_by': 'user', 'title': 'avatar_1', 'is_root': True}], 'load_preview_by_default': True}, 'message': 'Validation finished with errors.', 'dataset_errors': [], 'options': {'schema_update_enabled': False, 'data_types': {'items': [{'casts': ['string', 'date', 'genericdatetime', 'boolean', 'integer', 'float', 'geopoint', 'geopolygon'], 'type': 'string', 'aggregations': ['count', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'STARTSWITH', 'ISTARTSWITH', 'ENDSWITH', 'IENDSWITH', 'CONTAINS', 'ICONTAINS', 'NOTCONTAINS', 'NOTICONTAINS', 'NOTICONTAINS', 'IN', 'NIN', 'BETWEEN']}, {'casts': ['integer', 'float', 'string', 'boolean', 'date', 'genericdatetime'], 'type': 'integer', 'aggregations': ['count', 'sum', 'avg', 'min', 'max', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'STARTSWITH', 'ISTARTSWITH', 'ENDSWITH', 'IENDSWITH', 'CONTAINS', 'ICONTAINS', 'NOTCONTAINS', 'NOTICONTAINS', 'NOTICONTAINS', 'IN', 'NIN', 'BETWEEN']}, {'casts': ['float', 'integer', 'string', 'boolean', 'date', 'genericdatetime'], 'type': 'float', 'aggregations': ['count', 'sum', 'avg', 'min', 'max', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'IN', 'NIN', 'BETWEEN']}, {'casts': ['date', 'genericdatetime', 'string', 'integer', 'float', 'boolean'], 'type': 'date', 'aggregations': ['count', 'min', 'max', 'countunique', 'avg'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'IN', 'NIN', 'BETWEEN']}, {'casts': ['genericdatetime', 'datetime', 'date', 'string', 'integer', 'float', 'boolean'], 'type': 'datetime', 'aggregations': ['count', 'min', 'max', 'countunique', 'avg'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'IN', 'NIN', 'BETWEEN']}, {'casts': ['boolean', 'integer', 'float', 'string'], 'type': 'boolean', 'aggregations': ['count'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'IN', 'NIN']}, {'casts': ['geopoint', 'string'], 'type': 'geopoint', 'aggregations': ['count'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'IN', 'NIN']}, {'casts': ['geopolygon', 'string'], 'type': 'geopolygon', 'aggregations': ['count'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'IN', 'NIN']}, {'casts': ['uuid', 'string'], 'type': 'uuid', 'aggregations': ['count', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'STARTSWITH', 'ISTARTSWITH', 'ENDSWITH', 'IENDSWITH', 'CONTAINS', 'ICONTAINS', 'NOTCONTAINS', 'NOTICONTAINS', 'NOTICONTAINS', 'IN', 'NIN', 'BETWEEN']}, {'casts': ['markup'], 'type': 'markup', 'aggregations': ['count'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL']}, {'casts': ['datetimetz', 'genericdatetime', 'date', 'string', 'integer', 'float', 'boolean'], 'type': 'datetimetz', 'aggregations': ['count', 'min', 'max', 'countunique', 'avg'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'IN', 'NIN', 'BETWEEN']}, {'casts': ['unsupported'], 'type': 'unsupported', 'aggregations': [], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL']}, {'casts': ['array_str', 'string'], 'type': 'array_str', 'aggregations': ['count', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'STARTSWITH', 'CONTAINS', 'NOTCONTAINS', 'LENEQ', 'LENEQ', 'LENNE', 'LENNE', 'LENGT', 'LENGT', 'LENGTE', 'LENGTE', 'LENLT', 'LENLT', 'LENLTE', 'LENLTE']}, {'casts': ['array_int', 'string'], 'type': 'array_int', 'aggregations': ['count', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'STARTSWITH', 'CONTAINS', 'NOTCONTAINS', 'LENEQ', 'LENEQ', 'LENNE', 'LENNE', 'LENGT', 'LENGT', 'LENGTE', 'LENGTE', 'LENLT', 'LENLT', 'LENLTE', 'LENLTE']}, {'casts': ['array_float', 'string'], 'type': 'array_float', 'aggregations': ['count', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'STARTSWITH', 'CONTAINS', 'NOTCONTAINS', 'LENEQ', 'LENEQ', 'LENNE', 'LENNE', 'LENGT', 'LENGT', 'LENGTE', 'LENGTE', 'LENLT', 'LENLT', 'LENLTE', 'LENLTE']}, {'casts': ['tree_str'], 'type': 'tree_str', 'aggregations': ['count', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'STARTSWITH', 'CONTAINS', 'NOTCONTAINS', 'LENEQ', 'LENEQ', 'LENNE', 'LENNE', 'LENGT', 'LENGT', 'LENGTE', 'LENGTE', 'LENLT', 'LENLT', 'LENLTE', 'LENLTE']}, {'casts': ['genericdatetime', 'date', 'string', 'integer', 'float', 'boolean'], 'type': 'genericdatetime', 'aggregations': ['count', 'min', 'max', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'IN', 'NIN', 'BETWEEN']}]}, 'join': {'types': ['inner', 'left', 'right', 'full'], 'operators': ['eq']}, 'connections': {'max': 1, 'items': [{'id': 'mae8dn42p6aq9', 'replacement_types': [{'conn_type': 'postgres'}]}], 'compatible_types': []}, 'fields': {'items': []}, 'preview': {'enabled': True}, 'sources': {'items': [{'id': '1a9e8d76-e341-486b-8c5a-691b6570a294', 'schema_update_enabled': False}], 'compatible_types': [{'source_type': 'BITRIX_GDS'}]}, 'supports_offset': True, 'supported_functions': ['abs', 'acos', 'all_concat', 'any', 'arr_remove', 'arr_str', 'array', 'ascii', 'asin', 'atan', 'atan2', 'avg', 'avg_if', 'bold', 'bool', 'br', 'case', 'cast_arr_float', 'cast_arr_int', 'cast_arr_str', 'ceiling', 'char', 'color', 'concat', 'contains', 'contains_all', 'contains_any', 'cos', 'cot', 'count', 'count_if', 'count_item', 'countd', 'countd_if', 'date', 'dateadd', 'datepart', 'datetime', 'datetrunc', 'day', 'dayofweek', 'db_cast', 'degrees', 'div', 'div_safe', 'endswith', 'exp', 'fdiv_safe', 'find', 'first', 'float', 'floor', 'geopoint', 'geopolygon', 'get_item', 'greatest', 'hour', 'icontains', 'iendswith', 'if', 'ifnan', 'ifnull', 'iif', 'image', 'int', 'isnan', 'isnull', 'istartswith', 'italic', 'lag', 'last', 'least', 'left', 'len', 'ln', 'log', 'log10', 'lower', 'ltrim', 'markup', 'mavg', 'max', 'mcount', 'median', 'min', 'minute', 'mmax', 'mmin', 'month', 'msum', 'notcontains', 'now', 'pi', 'power', 'quantile', 'quarter', 'radians', 'rank', 'rank_dense', 'rank_percentile', 'rank_unique', 'ravg', 'rcount', 'regexp_extract', 'regexp_extract_nth', 'regexp_match', 'regexp_replace', 'replace', 'right', 'rmax', 'rmin', 'round', 'rsum', 'rtrim', 'second', 'sign', 'sin', 'size', 'slice', 'space', 'split', 'sqrt', 'square', 'startswith', 'stdev', 'stdevp', 'str', 'substr', 'sum', 'sum_if', 'tan', 'today', 'tree', 'trim', 'unnest', 'upper', 'url', 'var', 'varp', 'week', 'year', 'zn'], 'source_avatars': {'max': 32, 'items': [{'id': 'f5f543df-42b4-4455-98ae-e3575c616b0b', 'schema_update_enabled': False}]}}}"
> lambda: ihook(item=item, **kwds), when=when, reraise=reraise
)
/venv/lib/python3.10/site-packages/flaky/flaky_pytest_plugin.py:146:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/venv/lib/python3.10/site-packages/pytest_lazyfixture.py:39: in fill
_fillfixtures()
/venv/lib/python3.10/site-packages/dl_api_lib_testing/dataset_base.py:41: in saved_dataset
ds = self.make_basic_dataset(
/venv/lib/python3.10/site-packages/dl_api_lib_testing/dataset_base.py:30: in make_basic_dataset
ds = control_api.apply_updates(dataset=ds, fail_ok=False).dataset
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = SyncHttpDatasetApiV1(client=FlaskSyncApiClient(_int_wclient=<TestClient <Flask 'dl_api_lib.app.control_api.app'>>), headers={}, _created_dataset_id_list=[], serial_adapter=DatasetApiV1SerializationAdapter())
dataset = Dataset(id='4eb31a7e-3b5c-4b8b-bcd2-39dbc626a028', created_=False, name=None, revision_id=None, load_preview_by_defaul...sultSchemaAux(inter_dependencies={}), rls={}, component_errors=ComponentErrorRegistry(items=[]), obligatory_filters=[])
updates = [UpdateAction(action=<Action.add: 'add'>, item=DataSource(id='1a9e8d76-e341-486b-8c5a-691b6570a294', created_=False, c...', title='avatar_1', is_root=False, managed_by=<ManagedBy.user: 'user'>, valid=True), custom_data=None, order_index=0)]
fail_ok = False
def apply_updates( # type: ignore # TODO: fix
self,
dataset: Dataset,
updates: list[Union[UpdateAction, dict]] = None, # type: ignore # 2024-01-24 # TODO: Incompatible default for argument "updates" (default has type "None", argument has type "list[UpdateAction | dict[Any, Any]]") [assignment]
fail_ok: bool = False,
) -> HttpDatasetApiResponse:
if dataset.created_:
url = f"/api/v1/datasets/{dataset.id}/versions/draft/validators/schema"
else:
url = "/api/v1/datasets/validators/dataset"
data = self.dump_dataset_to_request_body(dataset)
updates = list(updates or ()) + self.serial_adapter.generate_implicit_updates(dataset) # type: ignore # 2024-01-24 # TODO: Unsupported operand types for + ("list[UpdateAction | dict[Any, Any]]" and "list[UpdateAction]") [operator]
data["updates"] = self.serial_adapter.dump_updates(updates)
response = self._request(url, method="post", data=data)
if fail_ok:
# `fail_ok` should not mean `allow 5xx`
assert response.status_code < 500, response.json
else:
try:
> assert response.status_code == HTTPStatus.OK, response.json
E AssertionError: {'code': 'ERR.DS_API.VALIDATION.ERROR', 'dataset': {'result_schema_aux': {'inter_dependencies': {'deps': []}}, 'revision_id': None, 'avatar_relations': [], 'preview_enabled': True, 'rls': {}, 'component_errors': {'items': [{'id': '1a9e8d76-e341-486b-8c5a-691b6570a294', 'type': 'data_source', 'errors': [{'message': 'Data source (table) identified by: `default..crm_deal` does not exist.', 'code': 'ERR.DS_API.DB.SOURCE_DOES_NOT_EXIST', 'level': 'error', 'details': {'db_message': ''}}]}]}, 'obligatory_filters': [], 'sources': [{'source_type': 'BITRIX_GDS', 'parameters': {'db_version': None, 'table_name': 'crm_deal', 'db_name': 'default'}, 'id': '1a9e8d76-e341-486b-8c5a-691b6570a294', 'raw_schema': [], 'virtual': False, 'valid': False, 'managed_by': 'user', 'parameter_hash': '7ade30626cb6e1db', 'index_info_set': None, 'title': 'crm_deal', 'connection_id': 'mae8dn42p6aq9'}], 'result_schema': [], 'source_avatars': [{'source_id': '1a9e8d76-e341-486b-8c5a-691b6570a294', 'id': 'f5f543df-42b4-4455-98ae-e3575c616b0b', 'virtual': False, 'valid': True, 'managed_by': 'user', 'title': 'avatar_1', 'is_root': True}], 'load_preview_by_default': True}, 'message': 'Validation finished with errors.', 'dataset_errors': [], 'options': {'schema_update_enabled': False, 'data_types': {'items': [{'casts': ['string', 'date', 'genericdatetime', 'boolean', 'integer', 'float', 'geopoint', 'geopolygon'], 'type': 'string', 'aggregations': ['count', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'STARTSWITH', 'ISTARTSWITH', 'ENDSWITH', 'IENDSWITH', 'CONTAINS', 'ICONTAINS', 'NOTCONTAINS', 'NOTICONTAINS', 'NOTICONTAINS', 'IN', 'NIN', 'BETWEEN']}, {'casts': ['integer', 'float', 'string', 'boolean', 'date', 'genericdatetime'], 'type': 'integer', 'aggregations': ['count', 'sum', 'avg', 'min', 'max', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'STARTSWITH', 'ISTARTSWITH', 'ENDSWITH', 'IENDSWITH', 'CONTAINS', 'ICONTAINS', 'NOTCONTAINS', 'NOTICONTAINS', 'NOTICONTAINS', 'IN', 'NIN', 'BETWEEN']}, {'casts': ['float', 'integer', 'string', 'boolean', 'date', 'genericdatetime'], 'type': 'float', 'aggregations': ['count', 'sum', 'avg', 'min', 'max', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'IN', 'NIN', 'BETWEEN']}, {'casts': ['date', 'genericdatetime', 'string', 'integer', 'float', 'boolean'], 'type': 'date', 'aggregations': ['count', 'min', 'max', 'countunique', 'avg'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'IN', 'NIN', 'BETWEEN']}, {'casts': ['genericdatetime', 'datetime', 'date', 'string', 'integer', 'float', 'boolean'], 'type': 'datetime', 'aggregations': ['count', 'min', 'max', 'countunique', 'avg'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'IN', 'NIN', 'BETWEEN']}, {'casts': ['boolean', 'integer', 'float', 'string'], 'type': 'boolean', 'aggregations': ['count'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'IN', 'NIN']}, {'casts': ['geopoint', 'string'], 'type': 'geopoint', 'aggregations': ['count'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'IN', 'NIN']}, {'casts': ['geopolygon', 'string'], 'type': 'geopolygon', 'aggregations': ['count'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'IN', 'NIN']}, {'casts': ['uuid', 'string'], 'type': 'uuid', 'aggregations': ['count', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'STARTSWITH', 'ISTARTSWITH', 'ENDSWITH', 'IENDSWITH', 'CONTAINS', 'ICONTAINS', 'NOTCONTAINS', 'NOTICONTAINS', 'NOTICONTAINS', 'IN', 'NIN', 'BETWEEN']}, {'casts': ['markup'], 'type': 'markup', 'aggregations': ['count'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL']}, {'casts': ['datetimetz', 'genericdatetime', 'date', 'string', 'integer', 'float', 'boolean'], 'type': 'datetimetz', 'aggregations': ['count', 'min', 'max', 'countunique', 'avg'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'IN', 'NIN', 'BETWEEN']}, {'casts': ['unsupported'], 'type': 'unsupported', 'aggregations': [], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL']}, {'casts': ['array_str', 'string'], 'type': 'array_str', 'aggregations': ['count', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'STARTSWITH', 'CONTAINS', 'NOTCONTAINS', 'LENEQ', 'LENEQ', 'LENNE', 'LENNE', 'LENGT', 'LENGT', 'LENGTE', 'LENGTE', 'LENLT', 'LENLT', 'LENLTE', 'LENLTE']}, {'casts': ['array_int', 'string'], 'type': 'array_int', 'aggregations': ['count', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'STARTSWITH', 'CONTAINS', 'NOTCONTAINS', 'LENEQ', 'LENEQ', 'LENNE', 'LENNE', 'LENGT', 'LENGT', 'LENGTE', 'LENGTE', 'LENLT', 'LENLT', 'LENLTE', 'LENLTE']}, {'casts': ['array_float', 'string'], 'type': 'array_float', 'aggregations': ['count', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'STARTSWITH', 'CONTAINS', 'NOTCONTAINS', 'LENEQ', 'LENEQ', 'LENNE', 'LENNE', 'LENGT', 'LENGT', 'LENGTE', 'LENGTE', 'LENLT', 'LENLT', 'LENLTE', 'LENLTE']}, {'casts': ['tree_str'], 'type': 'tree_str', 'aggregations': ['count', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'STARTSWITH', 'CONTAINS', 'NOTCONTAINS', 'LENEQ', 'LENEQ', 'LENNE', 'LENNE', 'LENGT', 'LENGT', 'LENGTE', 'LENGTE', 'LENLT', 'LENLT', 'LENLTE', 'LENLTE']}, {'casts': ['genericdatetime', 'date', 'string', 'integer', 'float', 'boolean'], 'type': 'genericdatetime', 'aggregations': ['count', 'min', 'max', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'IN', 'NIN', 'BETWEEN']}]}, 'join': {'types': ['inner', 'left', 'right', 'full'], 'operators': ['eq']}, 'connections': {'max': 1, 'items': [{'id': 'mae8dn42p6aq9', 'replacement_types': [{'conn_type': 'postgres'}]}], 'compatible_types': []}, 'fields': {'items': []}, 'preview': {'enabled': True}, 'sources': {'items': [{'id': '1a9e8d76-e341-486b-8c5a-691b6570a294', 'schema_update_enabled': False}], 'compatible_types': [{'source_type': 'BITRIX_GDS'}]}, 'supports_offset': True, 'supported_functions': ['abs', 'acos', 'all_concat', 'any', 'arr_remove', 'arr_str', 'array', 'ascii', 'asin', 'atan', 'atan2', 'avg', 'avg_if', 'bold', 'bool', 'br', 'case', 'cast_arr_float', 'cast_arr_int', 'cast_arr_str', 'ceiling', 'char', 'color', 'concat', 'contains', 'contains_all', 'contains_any', 'cos', 'cot', 'count', 'count_if', 'count_item', 'countd', 'countd_if', 'date', 'dateadd', 'datepart', 'datetime', 'datetrunc', 'day', 'dayofweek', 'db_cast', 'degrees', 'div', 'div_safe', 'endswith', 'exp', 'fdiv_safe', 'find', 'first', 'float', 'floor', 'geopoint', 'geopolygon', 'get_item', 'greatest', 'hour', 'icontains', 'iendswith', 'if', 'ifnan', 'ifnull', 'iif', 'image', 'int', 'isnan', 'isnull', 'istartswith', 'italic', 'lag', 'last', 'least', 'left', 'len', 'ln', 'log', 'log10', 'lower', 'ltrim', 'markup', 'mavg', 'max', 'mcount', 'median', 'min', 'minute', 'mmax', 'mmin', 'month', 'msum', 'notcontains', 'now', 'pi', 'power', 'quantile', 'quarter', 'radians', 'rank', 'rank_dense', 'rank_percentile', 'rank_unique', 'ravg', 'rcount', 'regexp_extract', 'regexp_extract_nth', 'regexp_match', 'regexp_replace', 'replace', 'right', 'rmax', 'rmin', 'round', 'rsum', 'rtrim', 'second', 'sign', 'sin', 'size', 'slice', 'space', 'split', 'sqrt', 'square', 'startswith', 'stdev', 'stdevp', 'str', 'substr', 'sum', 'sum_if', 'tan', 'today', 'tree', 'trim', 'unnest', 'upper', 'url', 'var', 'varp', 'week', 'year', 'zn'], 'source_avatars': {'max': 32, 'items': [{'id': 'f5f543df-42b4-4455-98ae-e3575c616b0b', 'schema_update_enabled': False}]}}}
/venv/lib/python3.10/site-packages/dl_api_client/dsmaker/api/dataset_api.py:234: AssertionError
Check failure on line 0 in dl_connector_bitrix_gds_tests.ext.api.test_data.TestBitrixDataPreview
github-actions / Test Results
test_basic_preview (dl_connector_bitrix_gds_tests.ext.api.test_data.TestBitrixDataPreview) with error
./report/pytest_reports_dl_connector_bitrix_gds_442724729/_src_lib_dl_connector_bitrix_gds_dl_connector_bitrix_gds_tests-ext-ad12e63037fc49018d8f609250f83756.xml [took 3s]
Raw output
failed on setup with "AssertionError: {'code': 'ERR.DS_API.VALIDATION.ERROR', 'dataset': {'result_schema_aux': {'inter_dependencies': {'deps': []}}, 'revision_id': None, 'avatar_relations': [], 'preview_enabled': True, 'rls': {}, 'component_errors': {'items': [{'id': '9de956a0-c633-4093-9819-943adce47346', 'type': 'data_source', 'errors': [{'message': 'Data source (table) identified by: `default..crm_deal` does not exist.', 'code': 'ERR.DS_API.DB.SOURCE_DOES_NOT_EXIST', 'level': 'error', 'details': {'db_message': ''}}]}]}, 'obligatory_filters': [], 'sources': [{'source_type': 'BITRIX_GDS', 'parameters': {'db_version': None, 'table_name': 'crm_deal', 'db_name': 'default'}, 'id': '9de956a0-c633-4093-9819-943adce47346', 'raw_schema': [], 'virtual': False, 'valid': False, 'managed_by': 'user', 'parameter_hash': 'a359beb8f892bd71', 'index_info_set': None, 'title': 'crm_deal', 'connection_id': 'c04y3r195kgiz'}], 'result_schema': [], 'source_avatars': [{'source_id': '9de956a0-c633-4093-9819-943adce47346', 'id': '2dd0a121-9d90-4d8c-879e-7e0f53fcbd8f', 'virtual': False, 'valid': True, 'managed_by': 'user', 'title': 'avatar_1', 'is_root': True}], 'load_preview_by_default': True}, 'message': 'Validation finished with errors.', 'dataset_errors': [], 'options': {'schema_update_enabled': False, 'data_types': {'items': [{'casts': ['string', 'date', 'genericdatetime', 'boolean', 'integer', 'float', 'geopoint', 'geopolygon'], 'type': 'string', 'aggregations': ['count', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'STARTSWITH', 'ISTARTSWITH', 'ENDSWITH', 'IENDSWITH', 'CONTAINS', 'ICONTAINS', 'NOTCONTAINS', 'NOTICONTAINS', 'NOTICONTAINS', 'IN', 'NIN', 'BETWEEN']}, {'casts': ['integer', 'float', 'string', 'boolean', 'date', 'genericdatetime'], 'type': 'integer', 'aggregations': ['count', 'sum', 'avg', 'min', 'max', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'STARTSWITH', 'ISTARTSWITH', 'ENDSWITH', 'IENDSWITH', 'CONTAINS', 'ICONTAINS', 'NOTCONTAINS', 'NOTICONTAINS', 'NOTICONTAINS', 'IN', 'NIN', 'BETWEEN']}, {'casts': ['float', 'integer', 'string', 'boolean', 'date', 'genericdatetime'], 'type': 'float', 'aggregations': ['count', 'sum', 'avg', 'min', 'max', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'IN', 'NIN', 'BETWEEN']}, {'casts': ['date', 'genericdatetime', 'string', 'integer', 'float', 'boolean'], 'type': 'date', 'aggregations': ['count', 'min', 'max', 'countunique', 'avg'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'IN', 'NIN', 'BETWEEN']}, {'casts': ['genericdatetime', 'datetime', 'date', 'string', 'integer', 'float', 'boolean'], 'type': 'datetime', 'aggregations': ['count', 'min', 'max', 'countunique', 'avg'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'IN', 'NIN', 'BETWEEN']}, {'casts': ['boolean', 'integer', 'float', 'string'], 'type': 'boolean', 'aggregations': ['count'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'IN', 'NIN']}, {'casts': ['geopoint', 'string'], 'type': 'geopoint', 'aggregations': ['count'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'IN', 'NIN']}, {'casts': ['geopolygon', 'string'], 'type': 'geopolygon', 'aggregations': ['count'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'IN', 'NIN']}, {'casts': ['uuid', 'string'], 'type': 'uuid', 'aggregations': ['count', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'STARTSWITH', 'ISTARTSWITH', 'ENDSWITH', 'IENDSWITH', 'CONTAINS', 'ICONTAINS', 'NOTCONTAINS', 'NOTICONTAINS', 'NOTICONTAINS', 'IN', 'NIN', 'BETWEEN']}, {'casts': ['markup'], 'type': 'markup', 'aggregations': ['count'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL']}, {'casts': ['datetimetz', 'genericdatetime', 'date', 'string', 'integer', 'float', 'boolean'], 'type': 'datetimetz', 'aggregations': ['count', 'min', 'max', 'countunique', 'avg'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'IN', 'NIN', 'BETWEEN']}, {'casts': ['unsupported'], 'type': 'unsupported', 'aggregations': [], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL']}, {'casts': ['array_str', 'string'], 'type': 'array_str', 'aggregations': ['count', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'STARTSWITH', 'CONTAINS', 'NOTCONTAINS', 'LENEQ', 'LENEQ', 'LENNE', 'LENNE', 'LENGT', 'LENGT', 'LENGTE', 'LENGTE', 'LENLT', 'LENLT', 'LENLTE', 'LENLTE']}, {'casts': ['array_int', 'string'], 'type': 'array_int', 'aggregations': ['count', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'STARTSWITH', 'CONTAINS', 'NOTCONTAINS', 'LENEQ', 'LENEQ', 'LENNE', 'LENNE', 'LENGT', 'LENGT', 'LENGTE', 'LENGTE', 'LENLT', 'LENLT', 'LENLTE', 'LENLTE']}, {'casts': ['array_float', 'string'], 'type': 'array_float', 'aggregations': ['count', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'STARTSWITH', 'CONTAINS', 'NOTCONTAINS', 'LENEQ', 'LENEQ', 'LENNE', 'LENNE', 'LENGT', 'LENGT', 'LENGTE', 'LENGTE', 'LENLT', 'LENLT', 'LENLTE', 'LENLTE']}, {'casts': ['tree_str'], 'type': 'tree_str', 'aggregations': ['count', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'STARTSWITH', 'CONTAINS', 'NOTCONTAINS', 'LENEQ', 'LENEQ', 'LENNE', 'LENNE', 'LENGT', 'LENGT', 'LENGTE', 'LENGTE', 'LENLT', 'LENLT', 'LENLTE', 'LENLTE']}, {'casts': ['genericdatetime', 'date', 'string', 'integer', 'float', 'boolean'], 'type': 'genericdatetime', 'aggregations': ['count', 'min', 'max', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'IN', 'NIN', 'BETWEEN']}]}, 'join': {'types': ['inner', 'left', 'right', 'full'], 'operators': ['eq']}, 'connections': {'max': 1, 'items': [{'id': 'c04y3r195kgiz', 'replacement_types': [{'conn_type': 'postgres'}]}], 'compatible_types': []}, 'fields': {'items': []}, 'preview': {'enabled': True}, 'sources': {'items': [{'id': '9de956a0-c633-4093-9819-943adce47346', 'schema_update_enabled': False}], 'compatible_types': [{'source_type': 'BITRIX_GDS'}]}, 'supports_offset': True, 'supported_functions': ['abs', 'acos', 'all_concat', 'any', 'arr_remove', 'arr_str', 'array', 'ascii', 'asin', 'atan', 'atan2', 'avg', 'avg_if', 'bold', 'bool', 'br', 'case', 'cast_arr_float', 'cast_arr_int', 'cast_arr_str', 'ceiling', 'char', 'color', 'concat', 'contains', 'contains_all', 'contains_any', 'cos', 'cot', 'count', 'count_if', 'count_item', 'countd', 'countd_if', 'date', 'dateadd', 'datepart', 'datetime', 'datetrunc', 'day', 'dayofweek', 'db_cast', 'degrees', 'div', 'div_safe', 'endswith', 'exp', 'fdiv_safe', 'find', 'first', 'float', 'floor', 'geopoint', 'geopolygon', 'get_item', 'greatest', 'hour', 'icontains', 'iendswith', 'if', 'ifnan', 'ifnull', 'iif', 'image', 'int', 'isnan', 'isnull', 'istartswith', 'italic', 'lag', 'last', 'least', 'left', 'len', 'ln', 'log', 'log10', 'lower', 'ltrim', 'markup', 'mavg', 'max', 'mcount', 'median', 'min', 'minute', 'mmax', 'mmin', 'month', 'msum', 'notcontains', 'now', 'pi', 'power', 'quantile', 'quarter', 'radians', 'rank', 'rank_dense', 'rank_percentile', 'rank_unique', 'ravg', 'rcount', 'regexp_extract', 'regexp_extract_nth', 'regexp_match', 'regexp_replace', 'replace', 'right', 'rmax', 'rmin', 'round', 'rsum', 'rtrim', 'second', 'sign', 'sin', 'size', 'slice', 'space', 'split', 'sqrt', 'square', 'startswith', 'stdev', 'stdevp', 'str', 'substr', 'sum', 'sum_if', 'tan', 'today', 'tree', 'trim', 'unnest', 'upper', 'url', 'var', 'varp', 'week', 'year', 'zn'], 'source_avatars': {'max': 32, 'items': [{'id': '2dd0a121-9d90-4d8c-879e-7e0f53fcbd8f', 'schema_update_enabled': False}]}}}"
> lambda: ihook(item=item, **kwds), when=when, reraise=reraise
)
/venv/lib/python3.10/site-packages/flaky/flaky_pytest_plugin.py:146:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/venv/lib/python3.10/site-packages/pytest_lazyfixture.py:39: in fill
_fillfixtures()
/venv/lib/python3.10/site-packages/dl_api_lib_testing/dataset_base.py:41: in saved_dataset
ds = self.make_basic_dataset(
/venv/lib/python3.10/site-packages/dl_api_lib_testing/dataset_base.py:30: in make_basic_dataset
ds = control_api.apply_updates(dataset=ds, fail_ok=False).dataset
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = SyncHttpDatasetApiV1(client=FlaskSyncApiClient(_int_wclient=<TestClient <Flask 'dl_api_lib.app.control_api.app'>>), headers={}, _created_dataset_id_list=[], serial_adapter=DatasetApiV1SerializationAdapter())
dataset = Dataset(id='898f00bc-2df9-4ae3-9c09-19aa6ff9be89', created_=False, name=None, revision_id=None, load_preview_by_defaul...sultSchemaAux(inter_dependencies={}), rls={}, component_errors=ComponentErrorRegistry(items=[]), obligatory_filters=[])
updates = [UpdateAction(action=<Action.add: 'add'>, item=DataSource(id='9de956a0-c633-4093-9819-943adce47346', created_=False, c...', title='avatar_1', is_root=False, managed_by=<ManagedBy.user: 'user'>, valid=True), custom_data=None, order_index=0)]
fail_ok = False
def apply_updates( # type: ignore # TODO: fix
self,
dataset: Dataset,
updates: list[Union[UpdateAction, dict]] = None, # type: ignore # 2024-01-24 # TODO: Incompatible default for argument "updates" (default has type "None", argument has type "list[UpdateAction | dict[Any, Any]]") [assignment]
fail_ok: bool = False,
) -> HttpDatasetApiResponse:
if dataset.created_:
url = f"/api/v1/datasets/{dataset.id}/versions/draft/validators/schema"
else:
url = "/api/v1/datasets/validators/dataset"
data = self.dump_dataset_to_request_body(dataset)
updates = list(updates or ()) + self.serial_adapter.generate_implicit_updates(dataset) # type: ignore # 2024-01-24 # TODO: Unsupported operand types for + ("list[UpdateAction | dict[Any, Any]]" and "list[UpdateAction]") [operator]
data["updates"] = self.serial_adapter.dump_updates(updates)
response = self._request(url, method="post", data=data)
if fail_ok:
# `fail_ok` should not mean `allow 5xx`
assert response.status_code < 500, response.json
else:
try:
> assert response.status_code == HTTPStatus.OK, response.json
E AssertionError: {'code': 'ERR.DS_API.VALIDATION.ERROR', 'dataset': {'result_schema_aux': {'inter_dependencies': {'deps': []}}, 'revision_id': None, 'avatar_relations': [], 'preview_enabled': True, 'rls': {}, 'component_errors': {'items': [{'id': '9de956a0-c633-4093-9819-943adce47346', 'type': 'data_source', 'errors': [{'message': 'Data source (table) identified by: `default..crm_deal` does not exist.', 'code': 'ERR.DS_API.DB.SOURCE_DOES_NOT_EXIST', 'level': 'error', 'details': {'db_message': ''}}]}]}, 'obligatory_filters': [], 'sources': [{'source_type': 'BITRIX_GDS', 'parameters': {'db_version': None, 'table_name': 'crm_deal', 'db_name': 'default'}, 'id': '9de956a0-c633-4093-9819-943adce47346', 'raw_schema': [], 'virtual': False, 'valid': False, 'managed_by': 'user', 'parameter_hash': 'a359beb8f892bd71', 'index_info_set': None, 'title': 'crm_deal', 'connection_id': 'c04y3r195kgiz'}], 'result_schema': [], 'source_avatars': [{'source_id': '9de956a0-c633-4093-9819-943adce47346', 'id': '2dd0a121-9d90-4d8c-879e-7e0f53fcbd8f', 'virtual': False, 'valid': True, 'managed_by': 'user', 'title': 'avatar_1', 'is_root': True}], 'load_preview_by_default': True}, 'message': 'Validation finished with errors.', 'dataset_errors': [], 'options': {'schema_update_enabled': False, 'data_types': {'items': [{'casts': ['string', 'date', 'genericdatetime', 'boolean', 'integer', 'float', 'geopoint', 'geopolygon'], 'type': 'string', 'aggregations': ['count', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'STARTSWITH', 'ISTARTSWITH', 'ENDSWITH', 'IENDSWITH', 'CONTAINS', 'ICONTAINS', 'NOTCONTAINS', 'NOTICONTAINS', 'NOTICONTAINS', 'IN', 'NIN', 'BETWEEN']}, {'casts': ['integer', 'float', 'string', 'boolean', 'date', 'genericdatetime'], 'type': 'integer', 'aggregations': ['count', 'sum', 'avg', 'min', 'max', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'STARTSWITH', 'ISTARTSWITH', 'ENDSWITH', 'IENDSWITH', 'CONTAINS', 'ICONTAINS', 'NOTCONTAINS', 'NOTICONTAINS', 'NOTICONTAINS', 'IN', 'NIN', 'BETWEEN']}, {'casts': ['float', 'integer', 'string', 'boolean', 'date', 'genericdatetime'], 'type': 'float', 'aggregations': ['count', 'sum', 'avg', 'min', 'max', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'IN', 'NIN', 'BETWEEN']}, {'casts': ['date', 'genericdatetime', 'string', 'integer', 'float', 'boolean'], 'type': 'date', 'aggregations': ['count', 'min', 'max', 'countunique', 'avg'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'IN', 'NIN', 'BETWEEN']}, {'casts': ['genericdatetime', 'datetime', 'date', 'string', 'integer', 'float', 'boolean'], 'type': 'datetime', 'aggregations': ['count', 'min', 'max', 'countunique', 'avg'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'IN', 'NIN', 'BETWEEN']}, {'casts': ['boolean', 'integer', 'float', 'string'], 'type': 'boolean', 'aggregations': ['count'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'IN', 'NIN']}, {'casts': ['geopoint', 'string'], 'type': 'geopoint', 'aggregations': ['count'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'IN', 'NIN']}, {'casts': ['geopolygon', 'string'], 'type': 'geopolygon', 'aggregations': ['count'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'IN', 'NIN']}, {'casts': ['uuid', 'string'], 'type': 'uuid', 'aggregations': ['count', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'STARTSWITH', 'ISTARTSWITH', 'ENDSWITH', 'IENDSWITH', 'CONTAINS', 'ICONTAINS', 'NOTCONTAINS', 'NOTICONTAINS', 'NOTICONTAINS', 'IN', 'NIN', 'BETWEEN']}, {'casts': ['markup'], 'type': 'markup', 'aggregations': ['count'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL']}, {'casts': ['datetimetz', 'genericdatetime', 'date', 'string', 'integer', 'float', 'boolean'], 'type': 'datetimetz', 'aggregations': ['count', 'min', 'max', 'countunique', 'avg'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'IN', 'NIN', 'BETWEEN']}, {'casts': ['unsupported'], 'type': 'unsupported', 'aggregations': [], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL']}, {'casts': ['array_str', 'string'], 'type': 'array_str', 'aggregations': ['count', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'STARTSWITH', 'CONTAINS', 'NOTCONTAINS', 'LENEQ', 'LENEQ', 'LENNE', 'LENNE', 'LENGT', 'LENGT', 'LENGTE', 'LENGTE', 'LENLT', 'LENLT', 'LENLTE', 'LENLTE']}, {'casts': ['array_int', 'string'], 'type': 'array_int', 'aggregations': ['count', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'STARTSWITH', 'CONTAINS', 'NOTCONTAINS', 'LENEQ', 'LENEQ', 'LENNE', 'LENNE', 'LENGT', 'LENGT', 'LENGTE', 'LENGTE', 'LENLT', 'LENLT', 'LENLTE', 'LENLTE']}, {'casts': ['array_float', 'string'], 'type': 'array_float', 'aggregations': ['count', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'STARTSWITH', 'CONTAINS', 'NOTCONTAINS', 'LENEQ', 'LENEQ', 'LENNE', 'LENNE', 'LENGT', 'LENGT', 'LENGTE', 'LENGTE', 'LENLT', 'LENLT', 'LENLTE', 'LENLTE']}, {'casts': ['tree_str'], 'type': 'tree_str', 'aggregations': ['count', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'STARTSWITH', 'CONTAINS', 'NOTCONTAINS', 'LENEQ', 'LENEQ', 'LENNE', 'LENNE', 'LENGT', 'LENGT', 'LENGTE', 'LENGTE', 'LENLT', 'LENLT', 'LENLTE', 'LENLTE']}, {'casts': ['genericdatetime', 'date', 'string', 'integer', 'float', 'boolean'], 'type': 'genericdatetime', 'aggregations': ['count', 'min', 'max', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'IN', 'NIN', 'BETWEEN']}]}, 'join': {'types': ['inner', 'left', 'right', 'full'], 'operators': ['eq']}, 'connections': {'max': 1, 'items': [{'id': 'c04y3r195kgiz', 'replacement_types': [{'conn_type': 'postgres'}]}], 'compatible_types': []}, 'fields': {'items': []}, 'preview': {'enabled': True}, 'sources': {'items': [{'id': '9de956a0-c633-4093-9819-943adce47346', 'schema_update_enabled': False}], 'compatible_types': [{'source_type': 'BITRIX_GDS'}]}, 'supports_offset': True, 'supported_functions': ['abs', 'acos', 'all_concat', 'any', 'arr_remove', 'arr_str', 'array', 'ascii', 'asin', 'atan', 'atan2', 'avg', 'avg_if', 'bold', 'bool', 'br', 'case', 'cast_arr_float', 'cast_arr_int', 'cast_arr_str', 'ceiling', 'char', 'color', 'concat', 'contains', 'contains_all', 'contains_any', 'cos', 'cot', 'count', 'count_if', 'count_item', 'countd', 'countd_if', 'date', 'dateadd', 'datepart', 'datetime', 'datetrunc', 'day', 'dayofweek', 'db_cast', 'degrees', 'div', 'div_safe', 'endswith', 'exp', 'fdiv_safe', 'find', 'first', 'float', 'floor', 'geopoint', 'geopolygon', 'get_item', 'greatest', 'hour', 'icontains', 'iendswith', 'if', 'ifnan', 'ifnull', 'iif', 'image', 'int', 'isnan', 'isnull', 'istartswith', 'italic', 'lag', 'last', 'least', 'left', 'len', 'ln', 'log', 'log10', 'lower', 'ltrim', 'markup', 'mavg', 'max', 'mcount', 'median', 'min', 'minute', 'mmax', 'mmin', 'month', 'msum', 'notcontains', 'now', 'pi', 'power', 'quantile', 'quarter', 'radians', 'rank', 'rank_dense', 'rank_percentile', 'rank_unique', 'ravg', 'rcount', 'regexp_extract', 'regexp_extract_nth', 'regexp_match', 'regexp_replace', 'replace', 'right', 'rmax', 'rmin', 'round', 'rsum', 'rtrim', 'second', 'sign', 'sin', 'size', 'slice', 'space', 'split', 'sqrt', 'square', 'startswith', 'stdev', 'stdevp', 'str', 'substr', 'sum', 'sum_if', 'tan', 'today', 'tree', 'trim', 'unnest', 'upper', 'url', 'var', 'varp', 'week', 'year', 'zn'], 'source_avatars': {'max': 32, 'items': [{'id': '2dd0a121-9d90-4d8c-879e-7e0f53fcbd8f', 'schema_update_enabled': False}]}}}
/venv/lib/python3.10/site-packages/dl_api_client/dsmaker/api/dataset_api.py:234: AssertionError
Check failure on line 0 in dl_connector_bitrix_gds_tests.ext.api.test_dataset.TestBitrixDataset
github-actions / Test Results
test_create_basic_dataset[pyloop] (dl_connector_bitrix_gds_tests.ext.api.test_dataset.TestBitrixDataset) with error
./report/pytest_reports_dl_connector_bitrix_gds_442724729/_src_lib_dl_connector_bitrix_gds_dl_connector_bitrix_gds_tests-ext-ad12e63037fc49018d8f609250f83756.xml [took 3s]
Raw output
failed on setup with "AssertionError: {'code': 'ERR.DS_API.VALIDATION.ERROR', 'dataset': {'result_schema_aux': {'inter_dependencies': {'deps': []}}, 'revision_id': None, 'avatar_relations': [], 'preview_enabled': True, 'rls': {}, 'component_errors': {'items': [{'id': 'c525d244-d0b1-4800-b3be-f7833d1ef816', 'type': 'data_source', 'errors': [{'message': 'Data source (table) identified by: `default..crm_deal` does not exist.', 'code': 'ERR.DS_API.DB.SOURCE_DOES_NOT_EXIST', 'level': 'error', 'details': {'db_message': ''}}]}]}, 'obligatory_filters': [], 'sources': [{'source_type': 'BITRIX_GDS', 'parameters': {'db_version': None, 'table_name': 'crm_deal', 'db_name': 'default'}, 'id': 'c525d244-d0b1-4800-b3be-f7833d1ef816', 'raw_schema': [], 'virtual': False, 'valid': False, 'managed_by': 'user', 'parameter_hash': '17a9a556ec604e48', 'index_info_set': None, 'title': 'crm_deal', 'connection_id': 'g4828tmbtory3'}], 'result_schema': [], 'source_avatars': [{'source_id': 'c525d244-d0b1-4800-b3be-f7833d1ef816', 'id': '6e3da750-98e2-4d74-a085-88cb8619d98f', 'virtual': False, 'valid': True, 'managed_by': 'user', 'title': 'avatar_1', 'is_root': True}], 'load_preview_by_default': True}, 'message': 'Validation finished with errors.', 'dataset_errors': [], 'options': {'schema_update_enabled': False, 'data_types': {'items': [{'casts': ['string', 'date', 'genericdatetime', 'boolean', 'integer', 'float', 'geopoint', 'geopolygon'], 'type': 'string', 'aggregations': ['count', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'STARTSWITH', 'ISTARTSWITH', 'ENDSWITH', 'IENDSWITH', 'CONTAINS', 'ICONTAINS', 'NOTCONTAINS', 'NOTICONTAINS', 'NOTICONTAINS', 'IN', 'NIN', 'BETWEEN']}, {'casts': ['integer', 'float', 'string', 'boolean', 'date', 'genericdatetime'], 'type': 'integer', 'aggregations': ['count', 'sum', 'avg', 'min', 'max', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'STARTSWITH', 'ISTARTSWITH', 'ENDSWITH', 'IENDSWITH', 'CONTAINS', 'ICONTAINS', 'NOTCONTAINS', 'NOTICONTAINS', 'NOTICONTAINS', 'IN', 'NIN', 'BETWEEN']}, {'casts': ['float', 'integer', 'string', 'boolean', 'date', 'genericdatetime'], 'type': 'float', 'aggregations': ['count', 'sum', 'avg', 'min', 'max', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'IN', 'NIN', 'BETWEEN']}, {'casts': ['date', 'genericdatetime', 'string', 'integer', 'float', 'boolean'], 'type': 'date', 'aggregations': ['count', 'min', 'max', 'countunique', 'avg'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'IN', 'NIN', 'BETWEEN']}, {'casts': ['genericdatetime', 'datetime', 'date', 'string', 'integer', 'float', 'boolean'], 'type': 'datetime', 'aggregations': ['count', 'min', 'max', 'countunique', 'avg'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'IN', 'NIN', 'BETWEEN']}, {'casts': ['boolean', 'integer', 'float', 'string'], 'type': 'boolean', 'aggregations': ['count'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'IN', 'NIN']}, {'casts': ['geopoint', 'string'], 'type': 'geopoint', 'aggregations': ['count'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'IN', 'NIN']}, {'casts': ['geopolygon', 'string'], 'type': 'geopolygon', 'aggregations': ['count'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'IN', 'NIN']}, {'casts': ['uuid', 'string'], 'type': 'uuid', 'aggregations': ['count', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'STARTSWITH', 'ISTARTSWITH', 'ENDSWITH', 'IENDSWITH', 'CONTAINS', 'ICONTAINS', 'NOTCONTAINS', 'NOTICONTAINS', 'NOTICONTAINS', 'IN', 'NIN', 'BETWEEN']}, {'casts': ['markup'], 'type': 'markup', 'aggregations': ['count'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL']}, {'casts': ['datetimetz', 'genericdatetime', 'date', 'string', 'integer', 'float', 'boolean'], 'type': 'datetimetz', 'aggregations': ['count', 'min', 'max', 'countunique', 'avg'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'IN', 'NIN', 'BETWEEN']}, {'casts': ['unsupported'], 'type': 'unsupported', 'aggregations': [], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL']}, {'casts': ['array_str', 'string'], 'type': 'array_str', 'aggregations': ['count', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'STARTSWITH', 'CONTAINS', 'NOTCONTAINS', 'LENEQ', 'LENEQ', 'LENNE', 'LENNE', 'LENGT', 'LENGT', 'LENGTE', 'LENGTE', 'LENLT', 'LENLT', 'LENLTE', 'LENLTE']}, {'casts': ['array_int', 'string'], 'type': 'array_int', 'aggregations': ['count', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'STARTSWITH', 'CONTAINS', 'NOTCONTAINS', 'LENEQ', 'LENEQ', 'LENNE', 'LENNE', 'LENGT', 'LENGT', 'LENGTE', 'LENGTE', 'LENLT', 'LENLT', 'LENLTE', 'LENLTE']}, {'casts': ['array_float', 'string'], 'type': 'array_float', 'aggregations': ['count', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'STARTSWITH', 'CONTAINS', 'NOTCONTAINS', 'LENEQ', 'LENEQ', 'LENNE', 'LENNE', 'LENGT', 'LENGT', 'LENGTE', 'LENGTE', 'LENLT', 'LENLT', 'LENLTE', 'LENLTE']}, {'casts': ['tree_str'], 'type': 'tree_str', 'aggregations': ['count', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'STARTSWITH', 'CONTAINS', 'NOTCONTAINS', 'LENEQ', 'LENEQ', 'LENNE', 'LENNE', 'LENGT', 'LENGT', 'LENGTE', 'LENGTE', 'LENLT', 'LENLT', 'LENLTE', 'LENLTE']}, {'casts': ['genericdatetime', 'date', 'string', 'integer', 'float', 'boolean'], 'type': 'genericdatetime', 'aggregations': ['count', 'min', 'max', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'IN', 'NIN', 'BETWEEN']}]}, 'join': {'types': ['inner', 'left', 'right', 'full'], 'operators': ['eq']}, 'connections': {'max': 1, 'items': [{'id': 'g4828tmbtory3', 'replacement_types': [{'conn_type': 'postgres'}]}], 'compatible_types': []}, 'fields': {'items': []}, 'preview': {'enabled': True}, 'sources': {'items': [{'id': 'c525d244-d0b1-4800-b3be-f7833d1ef816', 'schema_update_enabled': False}], 'compatible_types': [{'source_type': 'BITRIX_GDS'}]}, 'supports_offset': True, 'supported_functions': ['abs', 'acos', 'all_concat', 'any', 'arr_remove', 'arr_str', 'array', 'ascii', 'asin', 'atan', 'atan2', 'avg', 'avg_if', 'bold', 'bool', 'br', 'case', 'cast_arr_float', 'cast_arr_int', 'cast_arr_str', 'ceiling', 'char', 'color', 'concat', 'contains', 'contains_all', 'contains_any', 'cos', 'cot', 'count', 'count_if', 'count_item', 'countd', 'countd_if', 'date', 'dateadd', 'datepart', 'datetime', 'datetrunc', 'day', 'dayofweek', 'db_cast', 'degrees', 'div', 'div_safe', 'endswith', 'exp', 'fdiv_safe', 'find', 'first', 'float', 'floor', 'geopoint', 'geopolygon', 'get_item', 'greatest', 'hour', 'icontains', 'iendswith', 'if', 'ifnan', 'ifnull', 'iif', 'image', 'int', 'isnan', 'isnull', 'istartswith', 'italic', 'lag', 'last', 'least', 'left', 'len', 'ln', 'log', 'log10', 'lower', 'ltrim', 'markup', 'mavg', 'max', 'mcount', 'median', 'min', 'minute', 'mmax', 'mmin', 'month', 'msum', 'notcontains', 'now', 'pi', 'power', 'quantile', 'quarter', 'radians', 'rank', 'rank_dense', 'rank_percentile', 'rank_unique', 'ravg', 'rcount', 'regexp_extract', 'regexp_extract_nth', 'regexp_match', 'regexp_replace', 'replace', 'right', 'rmax', 'rmin', 'round', 'rsum', 'rtrim', 'second', 'sign', 'sin', 'size', 'slice', 'space', 'split', 'sqrt', 'square', 'startswith', 'stdev', 'stdevp', 'str', 'substr', 'sum', 'sum_if', 'tan', 'today', 'tree', 'trim', 'unnest', 'upper', 'url', 'var', 'varp', 'week', 'year', 'zn'], 'source_avatars': {'max': 32, 'items': [{'id': '6e3da750-98e2-4d74-a085-88cb8619d98f', 'schema_update_enabled': False}]}}}"
> lambda: ihook(item=item, **kwds), when=when, reraise=reraise
)
/venv/lib/python3.10/site-packages/flaky/flaky_pytest_plugin.py:146:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/venv/lib/python3.10/site-packages/pytest_lazyfixture.py:37: in fill
item.funcargs[param] = request.getfixturevalue(param)
/venv/lib/python3.10/site-packages/dl_api_lib_testing/dataset_base.py:41: in saved_dataset
ds = self.make_basic_dataset(
/venv/lib/python3.10/site-packages/dl_api_lib_testing/dataset_base.py:30: in make_basic_dataset
ds = control_api.apply_updates(dataset=ds, fail_ok=False).dataset
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = SyncHttpDatasetApiV1(client=FlaskSyncApiClient(_int_wclient=<TestClient <Flask 'dl_api_lib.app.control_api.app'>>), headers={}, _created_dataset_id_list=[], serial_adapter=DatasetApiV1SerializationAdapter())
dataset = Dataset(id='5c21c1b7-1e9c-4500-af32-86216b6aa532', created_=False, name=None, revision_id=None, load_preview_by_defaul...sultSchemaAux(inter_dependencies={}), rls={}, component_errors=ComponentErrorRegistry(items=[]), obligatory_filters=[])
updates = [UpdateAction(action=<Action.add: 'add'>, item=DataSource(id='c525d244-d0b1-4800-b3be-f7833d1ef816', created_=False, c...', title='avatar_1', is_root=False, managed_by=<ManagedBy.user: 'user'>, valid=True), custom_data=None, order_index=0)]
fail_ok = False
def apply_updates( # type: ignore # TODO: fix
self,
dataset: Dataset,
updates: list[Union[UpdateAction, dict]] = None, # type: ignore # 2024-01-24 # TODO: Incompatible default for argument "updates" (default has type "None", argument has type "list[UpdateAction | dict[Any, Any]]") [assignment]
fail_ok: bool = False,
) -> HttpDatasetApiResponse:
if dataset.created_:
url = f"/api/v1/datasets/{dataset.id}/versions/draft/validators/schema"
else:
url = "/api/v1/datasets/validators/dataset"
data = self.dump_dataset_to_request_body(dataset)
updates = list(updates or ()) + self.serial_adapter.generate_implicit_updates(dataset) # type: ignore # 2024-01-24 # TODO: Unsupported operand types for + ("list[UpdateAction | dict[Any, Any]]" and "list[UpdateAction]") [operator]
data["updates"] = self.serial_adapter.dump_updates(updates)
response = self._request(url, method="post", data=data)
if fail_ok:
# `fail_ok` should not mean `allow 5xx`
assert response.status_code < 500, response.json
else:
try:
> assert response.status_code == HTTPStatus.OK, response.json
E AssertionError: {'code': 'ERR.DS_API.VALIDATION.ERROR', 'dataset': {'result_schema_aux': {'inter_dependencies': {'deps': []}}, 'revision_id': None, 'avatar_relations': [], 'preview_enabled': True, 'rls': {}, 'component_errors': {'items': [{'id': 'c525d244-d0b1-4800-b3be-f7833d1ef816', 'type': 'data_source', 'errors': [{'message': 'Data source (table) identified by: `default..crm_deal` does not exist.', 'code': 'ERR.DS_API.DB.SOURCE_DOES_NOT_EXIST', 'level': 'error', 'details': {'db_message': ''}}]}]}, 'obligatory_filters': [], 'sources': [{'source_type': 'BITRIX_GDS', 'parameters': {'db_version': None, 'table_name': 'crm_deal', 'db_name': 'default'}, 'id': 'c525d244-d0b1-4800-b3be-f7833d1ef816', 'raw_schema': [], 'virtual': False, 'valid': False, 'managed_by': 'user', 'parameter_hash': '17a9a556ec604e48', 'index_info_set': None, 'title': 'crm_deal', 'connection_id': 'g4828tmbtory3'}], 'result_schema': [], 'source_avatars': [{'source_id': 'c525d244-d0b1-4800-b3be-f7833d1ef816', 'id': '6e3da750-98e2-4d74-a085-88cb8619d98f', 'virtual': False, 'valid': True, 'managed_by': 'user', 'title': 'avatar_1', 'is_root': True}], 'load_preview_by_default': True}, 'message': 'Validation finished with errors.', 'dataset_errors': [], 'options': {'schema_update_enabled': False, 'data_types': {'items': [{'casts': ['string', 'date', 'genericdatetime', 'boolean', 'integer', 'float', 'geopoint', 'geopolygon'], 'type': 'string', 'aggregations': ['count', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'STARTSWITH', 'ISTARTSWITH', 'ENDSWITH', 'IENDSWITH', 'CONTAINS', 'ICONTAINS', 'NOTCONTAINS', 'NOTICONTAINS', 'NOTICONTAINS', 'IN', 'NIN', 'BETWEEN']}, {'casts': ['integer', 'float', 'string', 'boolean', 'date', 'genericdatetime'], 'type': 'integer', 'aggregations': ['count', 'sum', 'avg', 'min', 'max', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'STARTSWITH', 'ISTARTSWITH', 'ENDSWITH', 'IENDSWITH', 'CONTAINS', 'ICONTAINS', 'NOTCONTAINS', 'NOTICONTAINS', 'NOTICONTAINS', 'IN', 'NIN', 'BETWEEN']}, {'casts': ['float', 'integer', 'string', 'boolean', 'date', 'genericdatetime'], 'type': 'float', 'aggregations': ['count', 'sum', 'avg', 'min', 'max', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'IN', 'NIN', 'BETWEEN']}, {'casts': ['date', 'genericdatetime', 'string', 'integer', 'float', 'boolean'], 'type': 'date', 'aggregations': ['count', 'min', 'max', 'countunique', 'avg'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'IN', 'NIN', 'BETWEEN']}, {'casts': ['genericdatetime', 'datetime', 'date', 'string', 'integer', 'float', 'boolean'], 'type': 'datetime', 'aggregations': ['count', 'min', 'max', 'countunique', 'avg'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'IN', 'NIN', 'BETWEEN']}, {'casts': ['boolean', 'integer', 'float', 'string'], 'type': 'boolean', 'aggregations': ['count'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'IN', 'NIN']}, {'casts': ['geopoint', 'string'], 'type': 'geopoint', 'aggregations': ['count'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'IN', 'NIN']}, {'casts': ['geopolygon', 'string'], 'type': 'geopolygon', 'aggregations': ['count'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'IN', 'NIN']}, {'casts': ['uuid', 'string'], 'type': 'uuid', 'aggregations': ['count', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'STARTSWITH', 'ISTARTSWITH', 'ENDSWITH', 'IENDSWITH', 'CONTAINS', 'ICONTAINS', 'NOTCONTAINS', 'NOTICONTAINS', 'NOTICONTAINS', 'IN', 'NIN', 'BETWEEN']}, {'casts': ['markup'], 'type': 'markup', 'aggregations': ['count'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL']}, {'casts': ['datetimetz', 'genericdatetime', 'date', 'string', 'integer', 'float', 'boolean'], 'type': 'datetimetz', 'aggregations': ['count', 'min', 'max', 'countunique', 'avg'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'IN', 'NIN', 'BETWEEN']}, {'casts': ['unsupported'], 'type': 'unsupported', 'aggregations': [], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL']}, {'casts': ['array_str', 'string'], 'type': 'array_str', 'aggregations': ['count', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'STARTSWITH', 'CONTAINS', 'NOTCONTAINS', 'LENEQ', 'LENEQ', 'LENNE', 'LENNE', 'LENGT', 'LENGT', 'LENGTE', 'LENGTE', 'LENLT', 'LENLT', 'LENLTE', 'LENLTE']}, {'casts': ['array_int', 'string'], 'type': 'array_int', 'aggregations': ['count', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'STARTSWITH', 'CONTAINS', 'NOTCONTAINS', 'LENEQ', 'LENEQ', 'LENNE', 'LENNE', 'LENGT', 'LENGT', 'LENGTE', 'LENGTE', 'LENLT', 'LENLT', 'LENLTE', 'LENLTE']}, {'casts': ['array_float', 'string'], 'type': 'array_float', 'aggregations': ['count', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'STARTSWITH', 'CONTAINS', 'NOTCONTAINS', 'LENEQ', 'LENEQ', 'LENNE', 'LENNE', 'LENGT', 'LENGT', 'LENGTE', 'LENGTE', 'LENLT', 'LENLT', 'LENLTE', 'LENLTE']}, {'casts': ['tree_str'], 'type': 'tree_str', 'aggregations': ['count', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'STARTSWITH', 'CONTAINS', 'NOTCONTAINS', 'LENEQ', 'LENEQ', 'LENNE', 'LENNE', 'LENGT', 'LENGT', 'LENGTE', 'LENGTE', 'LENLT', 'LENLT', 'LENLTE', 'LENLTE']}, {'casts': ['genericdatetime', 'date', 'string', 'integer', 'float', 'boolean'], 'type': 'genericdatetime', 'aggregations': ['count', 'min', 'max', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'IN', 'NIN', 'BETWEEN']}]}, 'join': {'types': ['inner', 'left', 'right', 'full'], 'operators': ['eq']}, 'connections': {'max': 1, 'items': [{'id': 'g4828tmbtory3', 'replacement_types': [{'conn_type': 'postgres'}]}], 'compatible_types': []}, 'fields': {'items': []}, 'preview': {'enabled': True}, 'sources': {'items': [{'id': 'c525d244-d0b1-4800-b3be-f7833d1ef816', 'schema_update_enabled': False}], 'compatible_types': [{'source_type': 'BITRIX_GDS'}]}, 'supports_offset': True, 'supported_functions': ['abs', 'acos', 'all_concat', 'any', 'arr_remove', 'arr_str', 'array', 'ascii', 'asin', 'atan', 'atan2', 'avg', 'avg_if', 'bold', 'bool', 'br', 'case', 'cast_arr_float', 'cast_arr_int', 'cast_arr_str', 'ceiling', 'char', 'color', 'concat', 'contains', 'contains_all', 'contains_any', 'cos', 'cot', 'count', 'count_if', 'count_item', 'countd', 'countd_if', 'date', 'dateadd', 'datepart', 'datetime', 'datetrunc', 'day', 'dayofweek', 'db_cast', 'degrees', 'div', 'div_safe', 'endswith', 'exp', 'fdiv_safe', 'find', 'first', 'float', 'floor', 'geopoint', 'geopolygon', 'get_item', 'greatest', 'hour', 'icontains', 'iendswith', 'if', 'ifnan', 'ifnull', 'iif', 'image', 'int', 'isnan', 'isnull', 'istartswith', 'italic', 'lag', 'last', 'least', 'left', 'len', 'ln', 'log', 'log10', 'lower', 'ltrim', 'markup', 'mavg', 'max', 'mcount', 'median', 'min', 'minute', 'mmax', 'mmin', 'month', 'msum', 'notcontains', 'now', 'pi', 'power', 'quantile', 'quarter', 'radians', 'rank', 'rank_dense', 'rank_percentile', 'rank_unique', 'ravg', 'rcount', 'regexp_extract', 'regexp_extract_nth', 'regexp_match', 'regexp_replace', 'replace', 'right', 'rmax', 'rmin', 'round', 'rsum', 'rtrim', 'second', 'sign', 'sin', 'size', 'slice', 'space', 'split', 'sqrt', 'square', 'startswith', 'stdev', 'stdevp', 'str', 'substr', 'sum', 'sum_if', 'tan', 'today', 'tree', 'trim', 'unnest', 'upper', 'url', 'var', 'varp', 'week', 'year', 'zn'], 'source_avatars': {'max': 32, 'items': [{'id': '6e3da750-98e2-4d74-a085-88cb8619d98f', 'schema_update_enabled': False}]}}}
/venv/lib/python3.10/site-packages/dl_api_client/dsmaker/api/dataset_api.py:234: AssertionError
Check failure on line 0 in dl_connector_bitrix_gds_tests.ext.api.test_dataset.TestBitrixDataset
github-actions / Test Results
test_remove_connection[pyloop] (dl_connector_bitrix_gds_tests.ext.api.test_dataset.TestBitrixDataset) with error
./report/pytest_reports_dl_connector_bitrix_gds_442724729/_src_lib_dl_connector_bitrix_gds_dl_connector_bitrix_gds_tests-ext-ad12e63037fc49018d8f609250f83756.xml [took 3s]
Raw output
failed on setup with "AssertionError: {'code': 'ERR.DS_API.VALIDATION.ERROR', 'dataset': {'result_schema_aux': {'inter_dependencies': {'deps': []}}, 'revision_id': None, 'avatar_relations': [], 'preview_enabled': True, 'rls': {}, 'component_errors': {'items': [{'id': '99a18155-5447-407f-b828-08fac397b6ae', 'type': 'data_source', 'errors': [{'message': 'Data source (table) identified by: `default..crm_deal` does not exist.', 'code': 'ERR.DS_API.DB.SOURCE_DOES_NOT_EXIST', 'level': 'error', 'details': {'db_message': ''}}]}]}, 'obligatory_filters': [], 'sources': [{'source_type': 'BITRIX_GDS', 'parameters': {'db_version': None, 'table_name': 'crm_deal', 'db_name': 'default'}, 'id': '99a18155-5447-407f-b828-08fac397b6ae', 'raw_schema': [], 'virtual': False, 'valid': False, 'managed_by': 'user', 'parameter_hash': 'c842f5083a71956e', 'index_info_set': None, 'title': 'crm_deal', 'connection_id': 'ay2w32ymfy9ex'}], 'result_schema': [], 'source_avatars': [{'source_id': '99a18155-5447-407f-b828-08fac397b6ae', 'id': '1b7b7b90-b178-424e-9d6f-43801340360c', 'virtual': False, 'valid': True, 'managed_by': 'user', 'title': 'avatar_1', 'is_root': True}], 'load_preview_by_default': True}, 'message': 'Validation finished with errors.', 'dataset_errors': [], 'options': {'schema_update_enabled': False, 'data_types': {'items': [{'casts': ['string', 'date', 'genericdatetime', 'boolean', 'integer', 'float', 'geopoint', 'geopolygon'], 'type': 'string', 'aggregations': ['count', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'STARTSWITH', 'ISTARTSWITH', 'ENDSWITH', 'IENDSWITH', 'CONTAINS', 'ICONTAINS', 'NOTCONTAINS', 'NOTICONTAINS', 'NOTICONTAINS', 'IN', 'NIN', 'BETWEEN']}, {'casts': ['integer', 'float', 'string', 'boolean', 'date', 'genericdatetime'], 'type': 'integer', 'aggregations': ['count', 'sum', 'avg', 'min', 'max', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'STARTSWITH', 'ISTARTSWITH', 'ENDSWITH', 'IENDSWITH', 'CONTAINS', 'ICONTAINS', 'NOTCONTAINS', 'NOTICONTAINS', 'NOTICONTAINS', 'IN', 'NIN', 'BETWEEN']}, {'casts': ['float', 'integer', 'string', 'boolean', 'date', 'genericdatetime'], 'type': 'float', 'aggregations': ['count', 'sum', 'avg', 'min', 'max', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'IN', 'NIN', 'BETWEEN']}, {'casts': ['date', 'genericdatetime', 'string', 'integer', 'float', 'boolean'], 'type': 'date', 'aggregations': ['count', 'min', 'max', 'countunique', 'avg'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'IN', 'NIN', 'BETWEEN']}, {'casts': ['genericdatetime', 'datetime', 'date', 'string', 'integer', 'float', 'boolean'], 'type': 'datetime', 'aggregations': ['count', 'min', 'max', 'countunique', 'avg'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'IN', 'NIN', 'BETWEEN']}, {'casts': ['boolean', 'integer', 'float', 'string'], 'type': 'boolean', 'aggregations': ['count'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'IN', 'NIN']}, {'casts': ['geopoint', 'string'], 'type': 'geopoint', 'aggregations': ['count'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'IN', 'NIN']}, {'casts': ['geopolygon', 'string'], 'type': 'geopolygon', 'aggregations': ['count'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'IN', 'NIN']}, {'casts': ['uuid', 'string'], 'type': 'uuid', 'aggregations': ['count', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'STARTSWITH', 'ISTARTSWITH', 'ENDSWITH', 'IENDSWITH', 'CONTAINS', 'ICONTAINS', 'NOTCONTAINS', 'NOTICONTAINS', 'NOTICONTAINS', 'IN', 'NIN', 'BETWEEN']}, {'casts': ['markup'], 'type': 'markup', 'aggregations': ['count'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL']}, {'casts': ['datetimetz', 'genericdatetime', 'date', 'string', 'integer', 'float', 'boolean'], 'type': 'datetimetz', 'aggregations': ['count', 'min', 'max', 'countunique', 'avg'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'IN', 'NIN', 'BETWEEN']}, {'casts': ['unsupported'], 'type': 'unsupported', 'aggregations': [], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL']}, {'casts': ['array_str', 'string'], 'type': 'array_str', 'aggregations': ['count', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'STARTSWITH', 'CONTAINS', 'NOTCONTAINS', 'LENEQ', 'LENEQ', 'LENNE', 'LENNE', 'LENGT', 'LENGT', 'LENGTE', 'LENGTE', 'LENLT', 'LENLT', 'LENLTE', 'LENLTE']}, {'casts': ['array_int', 'string'], 'type': 'array_int', 'aggregations': ['count', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'STARTSWITH', 'CONTAINS', 'NOTCONTAINS', 'LENEQ', 'LENEQ', 'LENNE', 'LENNE', 'LENGT', 'LENGT', 'LENGTE', 'LENGTE', 'LENLT', 'LENLT', 'LENLTE', 'LENLTE']}, {'casts': ['array_float', 'string'], 'type': 'array_float', 'aggregations': ['count', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'STARTSWITH', 'CONTAINS', 'NOTCONTAINS', 'LENEQ', 'LENEQ', 'LENNE', 'LENNE', 'LENGT', 'LENGT', 'LENGTE', 'LENGTE', 'LENLT', 'LENLT', 'LENLTE', 'LENLTE']}, {'casts': ['tree_str'], 'type': 'tree_str', 'aggregations': ['count', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'STARTSWITH', 'CONTAINS', 'NOTCONTAINS', 'LENEQ', 'LENEQ', 'LENNE', 'LENNE', 'LENGT', 'LENGT', 'LENGTE', 'LENGTE', 'LENLT', 'LENLT', 'LENLTE', 'LENLTE']}, {'casts': ['genericdatetime', 'date', 'string', 'integer', 'float', 'boolean'], 'type': 'genericdatetime', 'aggregations': ['count', 'min', 'max', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'IN', 'NIN', 'BETWEEN']}]}, 'join': {'types': ['inner', 'left', 'right', 'full'], 'operators': ['eq']}, 'connections': {'max': 1, 'items': [{'id': 'ay2w32ymfy9ex', 'replacement_types': [{'conn_type': 'postgres'}]}], 'compatible_types': []}, 'fields': {'items': []}, 'preview': {'enabled': True}, 'sources': {'items': [{'id': '99a18155-5447-407f-b828-08fac397b6ae', 'schema_update_enabled': False}], 'compatible_types': [{'source_type': 'BITRIX_GDS'}]}, 'supports_offset': True, 'supported_functions': ['abs', 'acos', 'all_concat', 'any', 'arr_remove', 'arr_str', 'array', 'ascii', 'asin', 'atan', 'atan2', 'avg', 'avg_if', 'bold', 'bool', 'br', 'case', 'cast_arr_float', 'cast_arr_int', 'cast_arr_str', 'ceiling', 'char', 'color', 'concat', 'contains', 'contains_all', 'contains_any', 'cos', 'cot', 'count', 'count_if', 'count_item', 'countd', 'countd_if', 'date', 'dateadd', 'datepart', 'datetime', 'datetrunc', 'day', 'dayofweek', 'db_cast', 'degrees', 'div', 'div_safe', 'endswith', 'exp', 'fdiv_safe', 'find', 'first', 'float', 'floor', 'geopoint', 'geopolygon', 'get_item', 'greatest', 'hour', 'icontains', 'iendswith', 'if', 'ifnan', 'ifnull', 'iif', 'image', 'int', 'isnan', 'isnull', 'istartswith', 'italic', 'lag', 'last', 'least', 'left', 'len', 'ln', 'log', 'log10', 'lower', 'ltrim', 'markup', 'mavg', 'max', 'mcount', 'median', 'min', 'minute', 'mmax', 'mmin', 'month', 'msum', 'notcontains', 'now', 'pi', 'power', 'quantile', 'quarter', 'radians', 'rank', 'rank_dense', 'rank_percentile', 'rank_unique', 'ravg', 'rcount', 'regexp_extract', 'regexp_extract_nth', 'regexp_match', 'regexp_replace', 'replace', 'right', 'rmax', 'rmin', 'round', 'rsum', 'rtrim', 'second', 'sign', 'sin', 'size', 'slice', 'space', 'split', 'sqrt', 'square', 'startswith', 'stdev', 'stdevp', 'str', 'substr', 'sum', 'sum_if', 'tan', 'today', 'tree', 'trim', 'unnest', 'upper', 'url', 'var', 'varp', 'week', 'year', 'zn'], 'source_avatars': {'max': 32, 'items': [{'id': '1b7b7b90-b178-424e-9d6f-43801340360c', 'schema_update_enabled': False}]}}}"
> lambda: ihook(item=item, **kwds), when=when, reraise=reraise
)
/venv/lib/python3.10/site-packages/flaky/flaky_pytest_plugin.py:146:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/venv/lib/python3.10/site-packages/pytest_lazyfixture.py:37: in fill
item.funcargs[param] = request.getfixturevalue(param)
/venv/lib/python3.10/site-packages/dl_api_lib_testing/dataset_base.py:41: in saved_dataset
ds = self.make_basic_dataset(
/venv/lib/python3.10/site-packages/dl_api_lib_testing/dataset_base.py:30: in make_basic_dataset
ds = control_api.apply_updates(dataset=ds, fail_ok=False).dataset
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = SyncHttpDatasetApiV1(client=FlaskSyncApiClient(_int_wclient=<TestClient <Flask 'dl_api_lib.app.control_api.app'>>), headers={}, _created_dataset_id_list=[], serial_adapter=DatasetApiV1SerializationAdapter())
dataset = Dataset(id='dd71a746-0a02-48b0-962d-8e01a43738a3', created_=False, name=None, revision_id=None, load_preview_by_defaul...sultSchemaAux(inter_dependencies={}), rls={}, component_errors=ComponentErrorRegistry(items=[]), obligatory_filters=[])
updates = [UpdateAction(action=<Action.add: 'add'>, item=DataSource(id='99a18155-5447-407f-b828-08fac397b6ae', created_=False, c...', title='avatar_1', is_root=False, managed_by=<ManagedBy.user: 'user'>, valid=True), custom_data=None, order_index=0)]
fail_ok = False
def apply_updates( # type: ignore # TODO: fix
self,
dataset: Dataset,
updates: list[Union[UpdateAction, dict]] = None, # type: ignore # 2024-01-24 # TODO: Incompatible default for argument "updates" (default has type "None", argument has type "list[UpdateAction | dict[Any, Any]]") [assignment]
fail_ok: bool = False,
) -> HttpDatasetApiResponse:
if dataset.created_:
url = f"/api/v1/datasets/{dataset.id}/versions/draft/validators/schema"
else:
url = "/api/v1/datasets/validators/dataset"
data = self.dump_dataset_to_request_body(dataset)
updates = list(updates or ()) + self.serial_adapter.generate_implicit_updates(dataset) # type: ignore # 2024-01-24 # TODO: Unsupported operand types for + ("list[UpdateAction | dict[Any, Any]]" and "list[UpdateAction]") [operator]
data["updates"] = self.serial_adapter.dump_updates(updates)
response = self._request(url, method="post", data=data)
if fail_ok:
# `fail_ok` should not mean `allow 5xx`
assert response.status_code < 500, response.json
else:
try:
> assert response.status_code == HTTPStatus.OK, response.json
E AssertionError: {'code': 'ERR.DS_API.VALIDATION.ERROR', 'dataset': {'result_schema_aux': {'inter_dependencies': {'deps': []}}, 'revision_id': None, 'avatar_relations': [], 'preview_enabled': True, 'rls': {}, 'component_errors': {'items': [{'id': '99a18155-5447-407f-b828-08fac397b6ae', 'type': 'data_source', 'errors': [{'message': 'Data source (table) identified by: `default..crm_deal` does not exist.', 'code': 'ERR.DS_API.DB.SOURCE_DOES_NOT_EXIST', 'level': 'error', 'details': {'db_message': ''}}]}]}, 'obligatory_filters': [], 'sources': [{'source_type': 'BITRIX_GDS', 'parameters': {'db_version': None, 'table_name': 'crm_deal', 'db_name': 'default'}, 'id': '99a18155-5447-407f-b828-08fac397b6ae', 'raw_schema': [], 'virtual': False, 'valid': False, 'managed_by': 'user', 'parameter_hash': 'c842f5083a71956e', 'index_info_set': None, 'title': 'crm_deal', 'connection_id': 'ay2w32ymfy9ex'}], 'result_schema': [], 'source_avatars': [{'source_id': '99a18155-5447-407f-b828-08fac397b6ae', 'id': '1b7b7b90-b178-424e-9d6f-43801340360c', 'virtual': False, 'valid': True, 'managed_by': 'user', 'title': 'avatar_1', 'is_root': True}], 'load_preview_by_default': True}, 'message': 'Validation finished with errors.', 'dataset_errors': [], 'options': {'schema_update_enabled': False, 'data_types': {'items': [{'casts': ['string', 'date', 'genericdatetime', 'boolean', 'integer', 'float', 'geopoint', 'geopolygon'], 'type': 'string', 'aggregations': ['count', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'STARTSWITH', 'ISTARTSWITH', 'ENDSWITH', 'IENDSWITH', 'CONTAINS', 'ICONTAINS', 'NOTCONTAINS', 'NOTICONTAINS', 'NOTICONTAINS', 'IN', 'NIN', 'BETWEEN']}, {'casts': ['integer', 'float', 'string', 'boolean', 'date', 'genericdatetime'], 'type': 'integer', 'aggregations': ['count', 'sum', 'avg', 'min', 'max', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'STARTSWITH', 'ISTARTSWITH', 'ENDSWITH', 'IENDSWITH', 'CONTAINS', 'ICONTAINS', 'NOTCONTAINS', 'NOTICONTAINS', 'NOTICONTAINS', 'IN', 'NIN', 'BETWEEN']}, {'casts': ['float', 'integer', 'string', 'boolean', 'date', 'genericdatetime'], 'type': 'float', 'aggregations': ['count', 'sum', 'avg', 'min', 'max', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'IN', 'NIN', 'BETWEEN']}, {'casts': ['date', 'genericdatetime', 'string', 'integer', 'float', 'boolean'], 'type': 'date', 'aggregations': ['count', 'min', 'max', 'countunique', 'avg'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'IN', 'NIN', 'BETWEEN']}, {'casts': ['genericdatetime', 'datetime', 'date', 'string', 'integer', 'float', 'boolean'], 'type': 'datetime', 'aggregations': ['count', 'min', 'max', 'countunique', 'avg'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'IN', 'NIN', 'BETWEEN']}, {'casts': ['boolean', 'integer', 'float', 'string'], 'type': 'boolean', 'aggregations': ['count'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'IN', 'NIN']}, {'casts': ['geopoint', 'string'], 'type': 'geopoint', 'aggregations': ['count'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'IN', 'NIN']}, {'casts': ['geopolygon', 'string'], 'type': 'geopolygon', 'aggregations': ['count'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'IN', 'NIN']}, {'casts': ['uuid', 'string'], 'type': 'uuid', 'aggregations': ['count', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'STARTSWITH', 'ISTARTSWITH', 'ENDSWITH', 'IENDSWITH', 'CONTAINS', 'ICONTAINS', 'NOTCONTAINS', 'NOTICONTAINS', 'NOTICONTAINS', 'IN', 'NIN', 'BETWEEN']}, {'casts': ['markup'], 'type': 'markup', 'aggregations': ['count'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL']}, {'casts': ['datetimetz', 'genericdatetime', 'date', 'string', 'integer', 'float', 'boolean'], 'type': 'datetimetz', 'aggregations': ['count', 'min', 'max', 'countunique', 'avg'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'IN', 'NIN', 'BETWEEN']}, {'casts': ['unsupported'], 'type': 'unsupported', 'aggregations': [], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL']}, {'casts': ['array_str', 'string'], 'type': 'array_str', 'aggregations': ['count', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'STARTSWITH', 'CONTAINS', 'NOTCONTAINS', 'LENEQ', 'LENEQ', 'LENNE', 'LENNE', 'LENGT', 'LENGT', 'LENGTE', 'LENGTE', 'LENLT', 'LENLT', 'LENLTE', 'LENLTE']}, {'casts': ['array_int', 'string'], 'type': 'array_int', 'aggregations': ['count', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'STARTSWITH', 'CONTAINS', 'NOTCONTAINS', 'LENEQ', 'LENEQ', 'LENNE', 'LENNE', 'LENGT', 'LENGT', 'LENGTE', 'LENGTE', 'LENLT', 'LENLT', 'LENLTE', 'LENLTE']}, {'casts': ['array_float', 'string'], 'type': 'array_float', 'aggregations': ['count', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'STARTSWITH', 'CONTAINS', 'NOTCONTAINS', 'LENEQ', 'LENEQ', 'LENNE', 'LENNE', 'LENGT', 'LENGT', 'LENGTE', 'LENGTE', 'LENLT', 'LENLT', 'LENLTE', 'LENLTE']}, {'casts': ['tree_str'], 'type': 'tree_str', 'aggregations': ['count', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'STARTSWITH', 'CONTAINS', 'NOTCONTAINS', 'LENEQ', 'LENEQ', 'LENNE', 'LENNE', 'LENGT', 'LENGT', 'LENGTE', 'LENGTE', 'LENLT', 'LENLT', 'LENLTE', 'LENLTE']}, {'casts': ['genericdatetime', 'date', 'string', 'integer', 'float', 'boolean'], 'type': 'genericdatetime', 'aggregations': ['count', 'min', 'max', 'countunique'], 'filter_operations': ['ISNULL', 'ISNOTNULL', 'ISNOTNULL', 'EQ', 'NE', 'GT', 'GTE', 'LT', 'LTE', 'IN', 'NIN', 'BETWEEN']}]}, 'join': {'types': ['inner', 'left', 'right', 'full'], 'operators': ['eq']}, 'connections': {'max': 1, 'items': [{'id': 'ay2w32ymfy9ex', 'replacement_types': [{'conn_type': 'postgres'}]}], 'compatible_types': []}, 'fields': {'items': []}, 'preview': {'enabled': True}, 'sources': {'items': [{'id': '99a18155-5447-407f-b828-08fac397b6ae', 'schema_update_enabled': False}], 'compatible_types': [{'source_type': 'BITRIX_GDS'}]}, 'supports_offset': True, 'supported_functions': ['abs', 'acos', 'all_concat', 'any', 'arr_remove', 'arr_str', 'array', 'ascii', 'asin', 'atan', 'atan2', 'avg', 'avg_if', 'bold', 'bool', 'br', 'case', 'cast_arr_float', 'cast_arr_int', 'cast_arr_str', 'ceiling', 'char', 'color', 'concat', 'contains', 'contains_all', 'contains_any', 'cos', 'cot', 'count', 'count_if', 'count_item', 'countd', 'countd_if', 'date', 'dateadd', 'datepart', 'datetime', 'datetrunc', 'day', 'dayofweek', 'db_cast', 'degrees', 'div', 'div_safe', 'endswith', 'exp', 'fdiv_safe', 'find', 'first', 'float', 'floor', 'geopoint', 'geopolygon', 'get_item', 'greatest', 'hour', 'icontains', 'iendswith', 'if', 'ifnan', 'ifnull', 'iif', 'image', 'int', 'isnan', 'isnull', 'istartswith', 'italic', 'lag', 'last', 'least', 'left', 'len', 'ln', 'log', 'log10', 'lower', 'ltrim', 'markup', 'mavg', 'max', 'mcount', 'median', 'min', 'minute', 'mmax', 'mmin', 'month', 'msum', 'notcontains', 'now', 'pi', 'power', 'quantile', 'quarter', 'radians', 'rank', 'rank_dense', 'rank_percentile', 'rank_unique', 'ravg', 'rcount', 'regexp_extract', 'regexp_extract_nth', 'regexp_match', 'regexp_replace', 'replace', 'right', 'rmax', 'rmin', 'round', 'rsum', 'rtrim', 'second', 'sign', 'sin', 'size', 'slice', 'space', 'split', 'sqrt', 'square', 'startswith', 'stdev', 'stdevp', 'str', 'substr', 'sum', 'sum_if', 'tan', 'today', 'tree', 'trim', 'unnest', 'upper', 'url', 'var', 'varp', 'week', 'year', 'zn'], 'source_avatars': {'max': 32, 'items': [{'id': '1b7b7b90-b178-424e-9d6f-43801340360c', 'schema_update_enabled': False}]}}}
/venv/lib/python3.10/site-packages/dl_api_client/dsmaker/api/dataset_api.py:234: AssertionError
Check failure on line 0 in dl_connector_bitrix_gds_tests.ext.api.test_sources.TestBitrixSources
github-actions / Test Results
test_sources (dl_connector_bitrix_gds_tests.ext.api.test_sources.TestBitrixSources) failed
./report/pytest_reports_dl_connector_bitrix_gds_442724729/_src_lib_dl_connector_bitrix_gds_dl_connector_bitrix_gds_tests-ext-ad12e63037fc49018d8f609250f83756.xml [took 3s]
Raw output
assert 0 > 1
self = <dl_connector_bitrix_gds_tests.ext.api.test_sources.TestBitrixSources object at 0x7fcfe4108400>
control_api_sync_client = FlaskSyncApiClient(_int_wclient=<TestClient <Flask 'dl_api_lib.app.control_api.app'>>)
control_api = SyncHttpDatasetApiV1(client=FlaskSyncApiClient(_int_wclient=<TestClient <Flask 'dl_api_lib.app.control_api.app'>>), headers={}, _created_dataset_id_list=[], serial_adapter=DatasetApiV1SerializationAdapter())
saved_connection_id = '0osmu4d8vjain'
data_api = SyncHttpDataApiV2(client=WrappedAioSyncApiClient(_int_wrapped_client=TestClientConverterAiohttpToFlask(_loop=<_UnixSel...t at 0x7fcfe2d4d780>, _extra_headers=None, _cookies=None)), headers={}, serial_adapter=DataApiV2SerializationAdapter())
def test_sources(
self,
control_api_sync_client: SyncHttpClientBase,
control_api: SyncHttpDatasetApiV1,
saved_connection_id: str,
data_api: SyncHttpDataApiV2,
):
conn_id = saved_connection_id
sources_resp = control_api_sync_client.get(f"/api/v1/connections/{conn_id}/info/sources")
assert sources_resp.status_code == 200, sources_resp.json
sources_checked = 0
for source in sources_resp.json["sources"]:
if not self.do_check_source(source):
continue
dataset_params = dict(
source_type=SOURCE_TYPE_BITRIX_GDS.name,
title=source["title"],
parameters=dict(
db_name=DB_NAME,
table_name=source["title"],
),
)
ds = self.make_basic_dataset(
control_api=control_api,
connection_id=saved_connection_id,
dataset_params=dataset_params,
)
preview_resp = data_api.get_preview(dataset=ds)
assert preview_resp.status_code == 200, preview_resp.response_errors
sources_checked += 1
> assert sources_checked > 1
E assert 0 > 1
ext/api/test_sources.py:58: AssertionError
Check failure on line 0 in dl_connector_metrica_tests.ext.api.test_data.TestMetricaDataResult
github-actions / Test Results
test_get_result_with_formula_in_where (dl_connector_metrica_tests.ext.api.test_data.TestMetricaDataResult) failed
./report/pytest_reports_dl_connector_metrica_48171096/_src_lib_dl_connector_metrica_dl_connector_metrica_tests-ext-b4e4a1461a174f24bec5ea167268aa5c.xml [took 5s]
Raw output
AssertionError
self = <dl_connector_metrica_tests.ext.api.test_data.TestMetricaDataResult object at 0x7f1f544c1150>
saved_dataset = Dataset(id='uimfdngvyw86h', created_=True, name='My Dataset c613b411-17d2-4b0c-b450-403a855c2591', revision_id=None, l..._mesyatsa_na_kompyutere_posetitel_imkw': ''}, component_errors=ComponentErrorRegistry(items=[]), obligatory_filters=[])
data_api_test_params = DataApiTestParams(two_dims=('Домен страницы', 'Просмотров в минуту'), summable_field='Просмотров в минуту', range_field='Дата и время просмотра', distinct_field='Адрес страницы', date_field='Дата просмотра')
data_api = SyncHttpDataApiV2(client=WrappedAioSyncApiClient(_int_wrapped_client=TestClientConverterAiohttpToFlask(_loop=<_UnixSel...t at 0x7f1f53592b90>, _extra_headers=None, _cookies=None)), headers={}, serial_adapter=DataApiV2SerializationAdapter())
def test_get_result_with_formula_in_where(
self, saved_dataset: Dataset, data_api_test_params: DataApiTestParams, data_api: SyncHttpDataApiV2
) -> None:
ds = saved_dataset
ds.result_schema["Summable Percentage"] = ds.field(formula=f"[{data_api_test_params.summable_field}] * 100")
result_resp = data_api.get_result(
dataset=ds,
fields=[
ds.find_field(title="Summable Percentage"),
],
filters=[
ds.find_field(title="Summable Percentage").filter(WhereClauseOperation.GT, [30]),
],
fail_ok=True,
)
assert result_resp.status_code == 200, result_resp.json
data_rows = get_data_rows(result_resp)
> assert data_rows
E AssertionError
/venv/lib/python3.10/site-packages/dl_api_lib_testing/connector/data_api_suites.py:299: AssertionError