Files
wehub-resource-sync bf2343b7e4
Integration Tests - MySQL + Elasticsearch / Detect Changes (push) Has been cancelled
Integration Tests - MySQL + Elasticsearch / integration-tests-mysql-elasticsearch (push) Has been cancelled
Integration Tests - PostgreSQL + Elasticsearch + Redis / Detect Changes (push) Has been cancelled
Integration Tests - PostgreSQL + Elasticsearch + Redis / integration-tests-postgres-elasticsearch-redis (push) Has been cancelled
Integration Tests - PostgreSQL + OpenSearch / Detect Changes (push) Has been cancelled
Integration Tests - PostgreSQL + OpenSearch / integration-tests-postgres-opensearch (push) Has been cancelled
Java Checkstyle / java-checkstyle (push) Has been cancelled
Maven Collate Tests / maven-collate-ci (push) Has been cancelled
OpenMetadata Service Unit Tests / openmetadata-service-unit-tests-status (push) Has been cancelled
Publish Package to Maven Central Repository / publish-maven-packages (push) Has been cancelled
OpenMetadata Service Unit Tests / Detect Changes (push) Has been cancelled
OpenMetadata Service Unit Tests / openmetadata-service-unit-tests (push) Has been cancelled
OpenMetadata Service Unit Tests / k8s_operator-unit-tests (push) Has been cancelled
chore: import upstream snapshot with attribution
2026-07-13 13:35:45 +08:00

52 lines
1.4 KiB
Python

import pytest
from _openmetadata_testutils.helpers.markers import xfail_param
from metadata.generated.schema.entity.data.table import TableData
@pytest.mark.parametrize(
"parameter",
[
TableData(
columns=[],
rows=[],
),
TableData(
columns=[],
rows=[[1]],
),
TableData(
columns=[],
rows=[["a"]],
),
TableData(
columns=[],
rows=[[b"\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"]],
),
],
)
def test_table_data_serialization(parameter):
for row in parameter.rows:
for i, cell in enumerate(row):
if isinstance(cell, bytes):
# bytes are written as strings and deserialize as strings
row[i] = cell.decode("utf-8")
assert TableData.model_validate_json(parameter.model_dump_json()) == parameter
@pytest.mark.parametrize(
"parameter",
[
xfail_param(
TableData(
columns=[],
rows=[[b"\xe6\x10\x00\x00\x01\x0c\xae\x8b\xfc(\xbc\xe4G@g\xa8\x91\x89\x89\x8a^\xc0"]],
),
reason="TODO: change TableData.rows to List[List[str]]",
),
],
)
def test_unserializble(parameter):
parameter = TableData.model_validate(parameter.model_dump())
assert TableData.model_validate_json(parameter.model_dump_json()) != parameter