Skip to content

Commit 37e8dfe

Browse files
authored
fix(pipeline-generator): clear env on load YAML (#628)
1 parent caa3779 commit 37e8dfe

3 files changed

Lines changed: 14 additions & 0 deletions

File tree

kpops/pipeline/__init__.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -246,6 +246,7 @@ def load_yaml(self, path: Path, environment: str | None) -> Pipeline:
246246
:raises TypeError: The env-specific pipeline definition should contain a list of components
247247
:returns: Initialized pipeline object
248248
"""
249+
ENV.clear()
249250
PipelineGenerator.set_pipeline_name_env_vars(
250251
self.config.pipeline_base_dir, path
251252
)

tests/pipeline/test_generate.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
from kpops.components.streams_bootstrap.streams.streams_app import StreamsApp
2121
from kpops.const.file_type import PIPELINE_YAML, KpopsFileType
2222
from kpops.core.exception import ParsingException, ValidationError
23+
from kpops.utils.environment import ENV
2324

2425
runner = CliRunner()
2526

@@ -85,6 +86,12 @@ def test_load_pipeline(self, snapshot: Snapshot):
8586

8687
snapshot.assert_match(result.stdout, PIPELINE_YAML)
8788

89+
def test_load_yaml_clear_env(self) -> None:
90+
kpops.generate(RESOURCE_PATH / "pipeline-folders/pipeline-1/pipeline.yaml")
91+
assert ENV["pipeline.name_2"] == "pipeline-1"
92+
kpops.generate(RESOURCE_PATH / "first-pipeline" / PIPELINE_YAML)
93+
assert "pipeline.name_2" not in ENV
94+
8895
def test_load_pipeline_with_folder_path(self, snapshot: Snapshot):
8996
result = runner.invoke(
9097
app,

tests/utils/test_environment.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,3 +79,9 @@ def test_dict_unpacking(environment: Environment):
7979
"ENVIRONMENT": "here",
8080
"PYTEST_CURRENT_TEST": ANY,
8181
}
82+
83+
84+
def test_clear(environment: Environment):
85+
environment["TEST"] = "test"
86+
environment.clear()
87+
assert not environment

0 commit comments

Comments
 (0)