def test_unsampled(stub_graph_set): shgraph = SnowShuGraph() _, vals = stub_graph_set full_catalog = [vals.iso_relation, vals.view_relation, vals.downstream_relation, vals.upstream_relation, vals.birelation_left, vals.birelation_right] config_dict = copy.deepcopy(CONFIGURATION) config_dict['source']['specified_relations'] = [dict(relation=vals.iso_relation.name, database=vals.iso_relation.database, schema=vals.iso_relation.schema, unsampled=True)] config = ConfigurationParser().from_file_or_path(StringIO(yaml.dump(config_dict))) assert vals.iso_relation.unsampled == False modified_graph = shgraph._apply_specifications( config, nx.DiGraph(), full_catalog) modified_graph=shgraph._apply_specifications(config,nx.DiGraph(),full_catalog) assert vals.iso_relation.unsampled==True
def test_graph_allows_upstream_wildcards(stub_graph_set): shgraph = SnowShuGraph() _, vals = stub_graph_set vals.upstream_relation.database = vals.downstream_relation.database vals.upstream_relation.schema = vals.downstream_relation.schema full_catalog = [vals.iso_relation, vals.view_relation, vals.downstream_relation, vals.upstream_relation, vals.birelation_left, vals.birelation_right] config_dict = copy.deepcopy(CONFIGURATION) config_dict['source']['specified_relations'] = [dict(relation=vals.downstream_relation.name, database=vals.downstream_relation.database, schema=vals.downstream_relation.schema, unsampled=False, relationships=dict(directional=[], bidirectional=[dict(relation=vals.upstream_relation.name, database='', schema='', local_attribute=vals.downstream_relation.attributes[ 0].name, remote_attribute=vals.upstream_relation.attributes[0].name)]))] config = ConfigurationParser().from_file_or_path(StringIO(yaml.dump(config_dict))) modified_graph = shgraph._apply_specifications( config, nx.DiGraph(), full_catalog) assert (vals.upstream_relation, vals.downstream_relation, ) in modified_graph.edges