Skip to content

Commit 72f49cf

Browse files
committed
update based on feedback and upstream changes
1 parent 58d4e17 commit 72f49cf

File tree

2 files changed

+11
-23
lines changed

2 files changed

+11
-23
lines changed

metadata-ingestion/src/datahub/ingestion/source/neo4j/neo4j_source.py

+10-20
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,6 @@
3232
from datahub.ingestion.source.common.subtypes import DatasetSubTypes
3333
from datahub.ingestion.source.state.stale_entity_removal_handler import (
3434
StaleEntityRemovalHandler,
35-
StaleEntityRemovalSourceReport,
3635
StatefulStaleMetadataRemovalConfig,
3736
)
3837
from datahub.ingestion.source.state.stateful_ingestion_base import (
@@ -75,7 +74,6 @@
7574
class Neo4jConfig(
7675
StatefulIngestionConfigBase, EnvConfigMixin, PlatformInstanceConfigMixin
7776
):
78-
platform: str = Field(default="neo4j", hidden_from_docs=True)
7977
username: str = Field(description="Neo4j Username")
8078
password: str = Field(description="Neo4j Password")
8179
uri: str = Field(description="The URI for the Neo4j server")
@@ -92,7 +90,9 @@ class Neo4jSourceReport(StatefulIngestionReport):
9290

9391
@platform_name("Neo4j", id="neo4j")
9492
@config_class(Neo4jConfig)
95-
@capability(SourceCapability.PLATFORM_INSTANCE, "Supported via the `platform_instance` config")
93+
@capability(
94+
SourceCapability.PLATFORM_INSTANCE, "Supported via the `platform_instance` config"
95+
)
9696
@support_status(SupportStatus.CERTIFIED)
9797
class Neo4jSource(StatefulIngestionSourceBase):
9898
NODE = "node"
@@ -104,24 +104,14 @@ def __init__(self, config: Neo4jConfig, ctx: PipelineContext):
104104
super().__init__(config, ctx)
105105
self.ctx = ctx
106106
self.config = config
107-
self.platform = self.config.platform
108-
self.platform_instance = self.config.platform_instance
109-
self.env = self.config.env
107+
self.platform = "neo4j"
110108
self.report: Neo4jSourceReport = Neo4jSourceReport()
111109

112110
@classmethod
113111
def create(cls, config_dict: Dict, ctx: PipelineContext) -> "Neo4jSource":
114112
config = Neo4jConfig.parse_obj(config_dict)
115113
return cls(config, ctx)
116114

117-
def get_workunit_processors(self) -> List[Optional[MetadataWorkUnitProcessor]]:
118-
return [
119-
*super().get_workunit_processors(),
120-
StaleEntityRemovalHandler.create(
121-
self, self.config, self.ctx
122-
).workunit_processor,
123-
]
124-
125115
def get_field_type(self, attribute_type: Union[type, str]) -> SchemaFieldDataType:
126116
type_class: type = _type_mapping.get(attribute_type, NullTypeClass)
127117
return SchemaFieldDataType(type=type_class())
@@ -159,8 +149,8 @@ def add_properties(
159149
entityUrn=make_dataset_urn_with_platform_instance(
160150
platform=self.platform,
161151
name=dataset,
162-
platform_instance=self.platform_instance,
163-
env=self.env,
152+
platform_instance=self.config.platform_instance,
153+
env=self.config.env,
164154
),
165155
aspect=dataset_properties,
166156
).as_workunit()
@@ -178,8 +168,8 @@ def generate_neo4j_object(
178168
entityUrn=make_dataset_urn_with_platform_instance(
179169
platform=self.platform,
180170
name=dataset,
181-
platform_instance=self.platform_instance,
182-
env=self.env,
171+
platform_instance=self.config.platform_instance,
172+
env=self.config.env,
183173
),
184174
aspect=SchemaMetadataClass(
185175
schemaName=dataset,
@@ -359,8 +349,8 @@ def get_workunits_internal(self) -> Iterable[MetadataWorkUnit]:
359349
entityUrn=make_dataset_urn_with_platform_instance(
360350
platform=self.platform,
361351
name=row["key"],
362-
platform_instance=self.platform_instance,
363-
env=self.env,
352+
platform_instance=self.config.platform_instance,
353+
env=self.config.env,
364354
),
365355
aspect=SubTypesClass(
366356
typeNames=[

metadata-ingestion/tests/unit/test_neo4j_source.py

+1-3
Original file line numberDiff line numberDiff line change
@@ -328,7 +328,7 @@ def test_get_relationships(source, mock_data):
328328
assert list(source.get_relationships(results[0]["value"]).keys()) == [
329329
"RELATIONSHIP_1"
330330
]
331-
assert source.get_relationships(results[2]["value"]) is None
331+
assert source.get_relationships(results[2]["value"]) == {}
332332

333333

334334
def test_get_field_type(source):
@@ -384,7 +384,6 @@ def test_type_mapping(source, test_input, expected):
384384

385385
def test_platform_instance_config(source_with_platform_instance):
386386
"""Test platform instance configuration"""
387-
assert source_with_platform_instance.platform_instance == "test-instance"
388387
assert source_with_platform_instance.config.platform_instance == "test-instance"
389388

390389

@@ -454,7 +453,6 @@ def test_default_values():
454453
config = Neo4jConfig(
455454
uri="neo4j://localhost:7687", username="neo4j", password="password", env="PROD"
456455
)
457-
assert config.platform == "neo4j"
458456
assert config.platform_instance is None
459457
assert config.stateful_ingestion is None
460458

0 commit comments

Comments
 (0)