2024-04-17 12:19:37 +02:00
|
|
|
import sys
|
|
|
|
|
|
|
|
import pytest
|
|
|
|
|
|
|
|
from metadata.generated.schema.entity.data.table import Constraint, Table
|
2024-07-17 08:11:34 +02:00
|
|
|
from metadata.workflow.metadata import MetadataWorkflow
|
2024-04-17 12:19:37 +02:00
|
|
|
|
|
|
|
if not sys.version_info >= (3, 9):
|
|
|
|
pytest.skip("requires python 3.9+", allow_module_level=True)
|
|
|
|
|
|
|
|
|
2024-07-17 08:11:34 +02:00
|
|
|
def test_ingest_metadata(
|
|
|
|
patch_passwords_for_db_services,
|
|
|
|
run_workflow,
|
|
|
|
ingestion_config,
|
|
|
|
db_service,
|
2024-04-17 12:19:37 +02:00
|
|
|
metadata,
|
2024-09-20 08:52:40 +02:00
|
|
|
db_name,
|
2024-04-17 12:19:37 +02:00
|
|
|
):
|
2024-07-17 08:11:34 +02:00
|
|
|
run_workflow(MetadataWorkflow, ingestion_config)
|
2024-06-17 08:56:28 +02:00
|
|
|
table: Table = metadata.get_by_name(
|
|
|
|
Table,
|
2024-09-20 08:52:40 +02:00
|
|
|
f"{db_service.fullyQualifiedName.root}.{db_name}.SalesLT.Customer",
|
2024-06-17 08:56:28 +02:00
|
|
|
)
|
2024-04-17 12:19:37 +02:00
|
|
|
assert table is not None
|
2024-09-20 08:52:40 +02:00
|
|
|
assert [c.name.root for c in table.columns] == [
|
|
|
|
"CustomerID",
|
|
|
|
"NameStyle",
|
|
|
|
"Title",
|
|
|
|
"FirstName",
|
|
|
|
"MiddleName",
|
|
|
|
"LastName",
|
|
|
|
"Suffix",
|
|
|
|
"CompanyName",
|
|
|
|
"SalesPerson",
|
|
|
|
"EmailAddress",
|
|
|
|
"Phone",
|
|
|
|
"PasswordHash",
|
|
|
|
"PasswordSalt",
|
|
|
|
"rowguid",
|
|
|
|
"ModifiedDate",
|
|
|
|
]
|
2024-04-17 12:19:37 +02:00
|
|
|
assert table.columns[0].constraint == Constraint.PRIMARY_KEY
|