Пример #1
0
def test_enrich_columns_with_tagging(tagger: tg.Tagger):
    columns = [
        ds.DataSourceColumn(name="col_foo", dataType="", remoteType="", nullable=False),
        ds.DataSourceColumn(name="col_bar", dataType="", remoteType="", nullable=False),
        ds.DataSourceColumn(name="bad_col", dataType="", remoteType="", nullable=False),
    ]
    enriched_cols = tagger.enrich_columns_with_tagging(columns)
    assert len(enriched_cols) == len(columns)
    for col in enriched_cols:
        assert len(col.tags) == len(TAG_MAP.get(col.name, []))
Пример #2
0
        with pytest.raises(ValidationError):
            ds.make_handler_metadata(table="foo", schema="bar", config=config, **kwargs)
        config[k] = v

    handler = ds.make_handler_metadata(
        table="foo", schema="bar", config=config, **kwargs
    )
    assert isinstance(handler, ds.Handler)
    assert isinstance(handler.metadata, expected_type)
    for k, v in {**base_config, **db_keys, **kwargs}.items():
        assert handler.metadata.dict()[k] == v


COLUMNS = [
    ds.DataSourceColumn(
        name="foo", dataType="Integer", remoteType="Integer", nullable=True
    ),
    ds.DataSourceColumn(
        name="bar", dataType="Integer", remoteType="Integer", nullable=False
    ),
    ds.DataSourceColumn(
        name="bat", dataType="Integer", remoteType="Integer", nullable=True
    ),
]

ObjectTestKeys = namedtuple(
    "ObjectTestKeys", ["db_keys", "handler_type", "expected_type", "columns"]
)
OBJECT_TESTS = [
    ObjectTestKeys(
        db_keys={"hostname": "qux"},