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
52 lines
1.4 KiB
Python
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
|