datahub/metadata-ingestion/tests/unit/test_preset_source.py

47 lines
1.5 KiB
Python

from datahub.configuration.common import AllowDenyPattern
from datahub.ingestion.source.preset import PresetConfig
def test_default_values():
config = PresetConfig.parse_obj({})
assert config.connect_uri == ""
assert config.manager_uri == "https://api.app.preset.io"
assert config.display_uri == ""
assert config.env == "PROD"
assert config.api_key is None
assert config.api_secret is None
assert config.dataset_pattern == AllowDenyPattern.allow_all()
assert config.chart_pattern == AllowDenyPattern.allow_all()
assert config.dashboard_pattern == AllowDenyPattern.allow_all()
def test_set_display_uri():
display_uri = "some_host:1234"
config = PresetConfig.parse_obj({"display_uri": display_uri})
assert config.connect_uri == ""
assert config.manager_uri == "https://api.app.preset.io"
assert config.display_uri == display_uri
def test_preset_config_parsing():
preset_config = {
"connect_uri": "https://preset.io",
"api_key": "dummy_api_key",
"api_secret": "dummy_api_secret",
"manager_uri": "https://api.app.preset.io",
}
# Tests if SupersetConfig fields are parsed extra fields correctly
config = PresetConfig.parse_obj(preset_config)
# Test Preset-specific fields
assert config.api_key == "dummy_api_key"
assert config.api_secret == "dummy_api_secret"
assert config.manager_uri == "https://api.app.preset.io"
# Test that regular Superset fields are still parsed
assert config.connect_uri == "https://preset.io"