mirror of
				https://github.com/datahub-project/datahub.git
				synced 2025-10-31 10:49:00 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			58 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			58 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| import datahub.emitter.mce_builder as builder
 | |
| from datahub.metadata.schema_classes import (
 | |
|     DataFlowInfoClass,
 | |
|     DatasetPropertiesClass,
 | |
|     DatasetSnapshotClass,
 | |
|     MetadataChangeEventClass,
 | |
|     OwnershipClass,
 | |
| )
 | |
| 
 | |
| 
 | |
| def test_can_add_aspect():
 | |
|     dataset_mce: MetadataChangeEventClass = builder.make_lineage_mce(
 | |
|         [
 | |
|             builder.make_dataset_urn("bigquery", "upstream1"),
 | |
|             builder.make_dataset_urn("bigquery", "upstream2"),
 | |
|         ],
 | |
|         builder.make_dataset_urn("bigquery", "downstream"),
 | |
|     )
 | |
|     assert isinstance(dataset_mce.proposedSnapshot, DatasetSnapshotClass)
 | |
| 
 | |
|     assert builder.can_add_aspect(dataset_mce, DatasetPropertiesClass)
 | |
|     assert builder.can_add_aspect(dataset_mce, OwnershipClass)
 | |
|     assert not builder.can_add_aspect(dataset_mce, DataFlowInfoClass)
 | |
| 
 | |
| 
 | |
| def test_create_dataset_urn_with_reserved_chars() -> None:
 | |
|     assert (
 | |
|         builder.make_dataset_urn_with_platform_instance(
 | |
|             "platform)",
 | |
|             "table_(name)",
 | |
|             "platform,instance",
 | |
|             builder.DEFAULT_ENV,
 | |
|         )
 | |
|         == "urn:li:dataset:(urn:li:dataPlatform:platform%29,platform%2Cinstance.table_%28name%29,PROD)"
 | |
|     )
 | |
| 
 | |
| 
 | |
| def test_make_user_urn() -> None:
 | |
|     assert builder.make_user_urn("someUser") == "urn:li:corpuser:someUser"
 | |
|     assert (
 | |
|         builder.make_user_urn("urn:li:corpuser:someUser") == "urn:li:corpuser:someUser"
 | |
|     )
 | |
|     assert (
 | |
|         builder.make_user_urn("urn:li:corpGroup:someGroup")
 | |
|         == "urn:li:corpGroup:someGroup"
 | |
|     )
 | |
| 
 | |
| 
 | |
| def test_make_group_urn() -> None:
 | |
|     assert builder.make_group_urn("someGroup") == "urn:li:corpGroup:someGroup"
 | |
|     assert (
 | |
|         builder.make_group_urn("urn:li:corpGroup:someGroup")
 | |
|         == "urn:li:corpGroup:someGroup"
 | |
|     )
 | |
|     assert (
 | |
|         builder.make_group_urn("urn:li:corpuser:someUser") == "urn:li:corpuser:someUser"
 | |
|     )
 | 
