import datahub.emitter.mcp_builder as builder import datahub.metadata.schema_classes as models from datahub.emitter.mce_builder import datahub_guid from datahub.emitter.mcp import MetadataChangeProposalWrapper def test_guid_generator(): key = builder.SchemaKey( database="test", schema="Test", platform="mysql", instance="TestInstance" ) guid = key.guid() assert guid == "f096b3799fc86a3e5d5d0c083eb1f2a4" def test_guid_generator_with_empty_instance(): key = builder.SchemaKey( database="test", schema="Test", platform="mysql", instance=None, ) guid = key.guid() assert guid == "693ed953c7192bcf46f8b9db36d71c2b" def test_guid_generator_with_instance(): key = builder.SchemaKey( database="test", schema="Test", platform="mysql", instance="TestInstance", ) guid = key.guid() assert guid == "f096b3799fc86a3e5d5d0c083eb1f2a4" def test_guid_generator_with_backcompat_instance(): key = builder.SchemaKey( database="test", schema="Test", platform="mysql", instance=None, backcompat_instance_for_guid="TestInstance", ) guid = key.guid() assert guid == "f096b3799fc86a3e5d5d0c083eb1f2a4" def test_guid_generators(): key = builder.SchemaKey( database="test", schema="Test", platform="mysql", instance="TestInstance" ) guid_datahub = datahub_guid(key.dict(by_alias=True)) guid = key.guid() assert guid == guid_datahub def test_mcpw_inference(): mcpw = MetadataChangeProposalWrapper( entityUrn="urn:li:dataset:(urn:li:dataPlatform:bigquery,harshal-playground-306419.test_schema.excess_deaths_derived,PROD)", aspect=models.DomainsClass(domains=["urn:li:domain:health"]), ) assert mcpw.entityType == "dataset" assert mcpw.aspectName == "domains"