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, []))
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"},