Skip to content

Commit b775298

Browse files
authored
Add erd_url to registry in metadata service (#43971)
1 parent 62483b0 commit b775298

File tree

12 files changed

+37
-5
lines changed

12 files changed

+37
-5
lines changed

airbyte-ci/connectors/metadata_service/lib/metadata_service/models/generated/ConnectorMetadataDefinitionV0.py

+1
Original file line numberDiff line numberDiff line change
@@ -296,6 +296,7 @@ class Config:
296296
)
297297
releaseDate: Optional[date] = Field(None, description="The date when this connector was first released, in yyyy-mm-dd format.")
298298
protocolVersion: Optional[str] = Field(None, description="the Airbyte Protocol version supported by the connector")
299+
erdUrl: Optional[str] = Field(None, description="The URL where you can visualize the ERD")
299300
connectorSubtype: Literal["api", "database", "datalake", "file", "custom", "message_queue", "unknown", "vectorstore"]
300301
releaseStage: ReleaseStage
301302
supportLevel: Optional[SupportLevel] = None

airbyte-ci/connectors/metadata_service/lib/metadata_service/models/generated/ConnectorRegistrySourceDefinition.py

+1
Original file line numberDiff line numberDiff line change
@@ -205,6 +205,7 @@ class Config:
205205
maxSecondsBetweenMessages: Optional[int] = Field(
206206
None, description="Number of seconds allowed between 2 airbyte protocol messages. The source will timeout if this delay is reach"
207207
)
208+
erdUrl: Optional[str] = Field(None, description="The URL where you can visualize the ERD")
208209
releases: Optional[ConnectorReleases] = None
209210
ab_internal: Optional[AirbyteInternal] = None
210211
generated: Optional[GeneratedFields] = None

airbyte-ci/connectors/metadata_service/lib/metadata_service/models/generated/ConnectorRegistryV0.py

+1
Original file line numberDiff line numberDiff line change
@@ -219,6 +219,7 @@ class Config:
219219
maxSecondsBetweenMessages: Optional[int] = Field(
220220
None, description="Number of seconds allowed between 2 airbyte protocol messages. The source will timeout if this delay is reach"
221221
)
222+
erdUrl: Optional[str] = Field(None, description="The URL where you can visualize the ERD")
222223
releases: Optional[ConnectorReleases] = None
223224
ab_internal: Optional[AirbyteInternal] = None
224225
generated: Optional[GeneratedFields] = None

airbyte-ci/connectors/metadata_service/lib/metadata_service/models/src/ConnectorMetadataDefinitionV0.yaml

+3
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,9 @@ properties:
7070
protocolVersion:
7171
type: string
7272
description: the Airbyte Protocol version supported by the connector
73+
erdUrl:
74+
type: string
75+
description: The URL where you can visualize the ERD
7376
connectorSubtype:
7477
type: string
7578
enum:

airbyte-ci/connectors/metadata_service/lib/metadata_service/models/src/ConnectorRegistrySourceDefinition.yaml

+3
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,9 @@ properties:
7070
maxSecondsBetweenMessages:
7171
description: Number of seconds allowed between 2 airbyte protocol messages. The source will timeout if this delay is reach
7272
type: integer
73+
erdUrl:
74+
type: string
75+
description: The URL where you can visualize the ERD
7376
releases:
7477
"$ref": ConnectorReleases.yaml
7578
ab_internal:

airbyte-ci/connectors/metadata_service/lib/pyproject.toml

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[tool.poetry]
22
name = "metadata-service"
3-
version = "0.10.0"
3+
version = "0.10.1"
44
description = ""
55
authors = ["Ben Church <[email protected]>"]
66
readme = "README.md"

airbyte-ci/connectors/metadata_service/lib/tests/test_validators/test_metadata_validators.py

+3-1
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,9 @@
1111

1212
@pytest.fixture
1313
def metadata_definition():
14-
metadata_file_url = "https://raw.githubusercontent.com/airbytehq/airbyte/8f0a6afe41cd1f9e70e954255749b7867592f863/airbyte-integrations/connectors/source-faker/metadata.yaml"
14+
metadata_file_url = (
15+
"https://raw.githubusercontent.com/airbytehq/airbyte/master/airbyte-integrations/connectors/source-faker/metadata.yaml"
16+
)
1517
response = requests.get(metadata_file_url)
1618
response.raise_for_status()
1719

airbyte-ci/connectors/metadata_service/orchestrator/orchestrator/assets/registry_entry.py

+1-2
Original file line numberDiff line numberDiff line change
@@ -207,8 +207,7 @@ def metadata_to_registry_entry(metadata_entry: LatestMetadataEntry, override_reg
207207
"""Convert the metadata definition to a registry entry.
208208
209209
Args:
210-
metadata_definition (dict): The metadata definition.
211-
connector_type (str): One of "source" or "destination".
210+
metadata_entry (LatestMetadataEntry): The metadata definition.
212211
override_registry_key (str): The key of the registry to override the metadata with.
213212
214213
Returns:

airbyte-ci/connectors/metadata_service/orchestrator/pyproject.toml

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[tool.poetry]
22
name = "orchestrator"
3-
version = "0.2.0"
3+
version = "0.2.1"
44
description = ""
55
authors = ["Ben Church <[email protected]>"]
66
readme = "README.md"

airbyte-ci/connectors/metadata_service/orchestrator/tests/fixtures/cloud_registry.json

+1
Original file line numberDiff line numberDiff line change
@@ -9109,6 +9109,7 @@
91099109
"custom": false,
91109110
"releaseStage": "generally_available",
91119111
"protocolVersion": "0.2.0",
9112+
"erdUrl": "https://dbdocs.io/maximec5e237b90b/source-facebook-marketing",
91129113
"allowedHosts": {
91139114
"hosts": ["graph.facebook.com"]
91149115
}

airbyte-ci/connectors/metadata_service/orchestrator/tests/fixtures/oss_registry.json

+1
Original file line numberDiff line numberDiff line change
@@ -13544,6 +13544,7 @@
1354413544
"public": true,
1354513545
"custom": false,
1354613546
"releaseStage": "generally_available",
13547+
"erdUrl": "https://dbdocs.io/maximec5e237b90b/source-facebook-marketing",
1354713548
"allowedHosts": {
1354813549
"hosts": ["graph.facebook.com"]
1354913550
}

airbyte-ci/connectors/metadata_service/orchestrator/tests/test_registry.py

+20
Original file line numberDiff line numberDiff line change
@@ -319,6 +319,26 @@ def test_source_type_extraction():
319319
assert result["sourceType"] == "database"
320320

321321

322+
def test_erd_url():
323+
"""
324+
Test that if when defined in the metadata, the erd_url will be populated in the registry
325+
"""
326+
mock_metadata_entry = mock.Mock()
327+
mock_metadata_entry.metadata_definition.dict.return_value = {
328+
"data": {
329+
"connectorType": "source",
330+
"definitionId": "test-id",
331+
"registryOverrides": {"oss": {"enabled": True}},
332+
"erdUrl": "https://an-erd.com",
333+
}
334+
}
335+
mock_metadata_entry.icon_url = "test-icon-url"
336+
mock_metadata_entry.dependency_file_url = "test-dependency-file-url"
337+
338+
result = metadata_to_registry_entry(mock_metadata_entry, "oss")
339+
assert result["erdUrl"] == "https://an-erd.com"
340+
341+
322342
def test_support_level_default():
323343
"""
324344
Test if supportLevel is defaulted to alpha in the registry entry.

0 commit comments

Comments
 (0)