diff --git a/plesna/dataplatform.py b/plesna/dataplatform.py index 00eb193..b39d271 100644 --- a/plesna/dataplatform.py +++ b/plesna/dataplatform.py @@ -1,7 +1,8 @@ from plesna.compute.consume_flux import consume_flux from plesna.graph.graph import Graph, Node -from plesna.graph.graph_set import GraphSet +from plesna.graph.graph_set import EdgeOnSet, GraphSet from plesna.models.flux import Flux, FluxMetaData +from plesna.models.libs.flux_graph import flux_to_edgeonset from plesna.storage.repository.repository import Repository @@ -50,12 +51,13 @@ class DataPlateform: raise DataPlateformError("The flux {name} already exists") self._fluxes[name] = flux + self.flux_graphset_feed(name) return name def flux_graphset_feed(self, flux_name: str): - for schema in self._repositories[repository_name].schemas(): - for table in self._repositories[repository_name].tables(schema): - self._graph.add_node(Node(name=table)) + flux = self.flux(flux_name) + edge = flux_to_edgeonset(flux) + self._graphset.append(edge) @property def fluxes(self) -> list[str]: diff --git a/tests/dataplatform/test_dataplateform.py b/tests/dataplatform/test_dataplateform.py index 05af77f..ea9416d 100644 --- a/tests/dataplatform/test_dataplateform.py +++ b/tests/dataplatform/test_dataplateform.py @@ -135,8 +135,27 @@ def test_content_from_graph(dataplatform: DataPlateform): } assert dataplatform.graphset.node_sets == { - Node(name="test-raw-username", infos={}), - Node(name="test-bronze-username", infos={}), + frozenset( + { + Node(name="test-bronze-username"), + } + ), + frozenset( + { + Node(name="test-bronze-foo"), + } + ), + frozenset( + { + Node(name="test-raw-username"), + } + ), + frozenset( + { + Node(name="test-raw-username"), + Node(name="test-raw-recovery"), + } + ), }