From 787faff9c3cc53df2a01d424dfda4d1d85839dc8 Mon Sep 17 00:00:00 2001 From: Setu Shah Date: Fri, 2 Aug 2024 12:17:56 -0700 Subject: [PATCH 1/2] fix(stage): Typo `prioritzed_rulesets` => `prioritized_rulesets` --- src/galileo_protect/stage.py | 6 +++--- tests/test_stage.py | 20 ++++++++++++++++---- 2 files changed, 19 insertions(+), 7 deletions(-) diff --git a/src/galileo_protect/stage.py b/src/galileo_protect/stage.py index ba23b3e..e5920fb 100644 --- a/src/galileo_protect/stage.py +++ b/src/galileo_protect/stage.py @@ -18,7 +18,7 @@ def create_stage( description: Optional[str] = None, pause: bool = False, type: StageType = StageType.local, - prioritzed_rulesets: Optional[Sequence[Ruleset]] = None, + prioritized_rulesets: Optional[Sequence[Ruleset]] = None, ) -> StageResponse: """ Create a stage. @@ -50,7 +50,7 @@ def create_stage( """ config = Config.get() project_id = project_id or config.project_id - prioritzed_rulesets = prioritzed_rulesets or list() + prioritzed_rulesets = prioritized_rulesets or list() if project_id is None: raise ValueError("Project ID must be provided to create a stage.") name = name or ts_name("stage") @@ -65,7 +65,7 @@ def create_stage( description=description, paused=pause, type=type, - prioritzed_rulesets=prioritzed_rulesets, + prioritized_rulesets=prioritzed_rulesets, ) ).model_dump(mode="json"), ) diff --git a/tests/test_stage.py b/tests/test_stage.py index ffa18a4..f4a1a4f 100644 --- a/tests/test_stage.py +++ b/tests/test_stage.py @@ -1,3 +1,4 @@ +from json import loads from typing import Callable, List, Union from uuid import uuid4 @@ -108,6 +109,7 @@ def test_args_central( ) -> None: config = set_validated_config() project_id, stage_id = uuid4(), uuid4() + stage_type = StageType.central response = StageResponse( id=stage_id, name=A_STAGE_NAME, @@ -115,7 +117,7 @@ def test_args_central( description=description, paused=pause, version=0, - type=StageType.central, + type=stage_type, ) matcher = mock_request( RequestMethod.POST, @@ -123,9 +125,15 @@ def test_args_central( json=response.model_dump(mode="json"), ) stage = create_stage( - project_id=project_id, name=A_STAGE_NAME, description=description, pause=pause, prioritzed_rulesets=rulesets + project_id=project_id, + name=A_STAGE_NAME, + description=description, + pause=pause, + type=stage_type, + prioritized_rulesets=rulesets, ) assert matcher.called + assert loads(matcher.calls.last.request.content)["rulesets"] == [ruleset.model_dump() for ruleset in rulesets] # Verify the config. assert config.project_id == project_id assert config.stage_id is not None @@ -155,6 +163,7 @@ def test_config_central( rulesets: List[Ruleset], ) -> None: project_id, stage_id = uuid4(), uuid4() + stage_type = StageType.central config = set_validated_config(project_id=project_id) response = StageResponse( id=stage_id, @@ -163,15 +172,18 @@ def test_config_central( description=description, paused=pause, version=0, - type=StageType.central, + type=stage_type, ) matcher = mock_request( RequestMethod.POST, Routes.stages.format(project_id=project_id), json=response.model_dump(mode="json"), ) - stage = create_stage(name=A_STAGE_NAME, description=description, pause=pause, prioritzed_rulesets=rulesets) + stage = create_stage( + name=A_STAGE_NAME, description=description, pause=pause, prioritized_rulesets=rulesets, type=stage_type + ) assert matcher.called + assert loads(matcher.calls.last.request.content)["rulesets"] == [ruleset.model_dump() for ruleset in rulesets] # Verify the config. assert config.project_id == project_id assert config.stage_id is not None From d67e703f023e3b184447003ef8691ca2c0d30bb5 Mon Sep 17 00:00:00 2001 From: Setu Shah Date: Fri, 2 Aug 2024 12:26:26 -0700 Subject: [PATCH 2/2] fix: More fixes --- src/galileo_protect/stage.py | 14 +++++++------- tests/test_stage.py | 16 +++++++++++++--- 2 files changed, 20 insertions(+), 10 deletions(-) diff --git a/src/galileo_protect/stage.py b/src/galileo_protect/stage.py index e5920fb..2febceb 100644 --- a/src/galileo_protect/stage.py +++ b/src/galileo_protect/stage.py @@ -35,7 +35,7 @@ def create_stage( Pause the stage, by default False, i.e. the stage is not paused. type : StageType, optional Stage type, by default StageType.local. - prioritzed_rulesets : Optional[Sequence[Ruleset]], optional + prioritized_rulesets : Optional[Sequence[Ruleset]], optional Prioritized rulesets, by default None. Returns @@ -50,7 +50,7 @@ def create_stage( """ config = Config.get() project_id = project_id or config.project_id - prioritzed_rulesets = prioritized_rulesets or list() + prioritized_rulesets = prioritized_rulesets or list() if project_id is None: raise ValueError("Project ID must be provided to create a stage.") name = name or ts_name("stage") @@ -65,7 +65,7 @@ def create_stage( description=description, paused=pause, type=type, - prioritized_rulesets=prioritzed_rulesets, + prioritized_rulesets=prioritized_rulesets, ) ).model_dump(mode="json"), ) @@ -144,7 +144,7 @@ def update_stage( project_name: Optional[str] = None, stage_id: Optional[UUID4] = None, stage_name: Optional[str] = None, - prioritzed_rulesets: Optional[Sequence[Ruleset]] = None, + prioritized_rulesets: Optional[Sequence[Ruleset]] = None, ) -> StageResponse: """ Update a stage by ID or name to create a new version. @@ -163,7 +163,7 @@ def update_stage( Stage ID, by default we will try to get it from the config. stage_name : Optional[str], optional Stage name, by default we will try to get it from the config. - prioritzed_rulesets : Optional[Sequence[Ruleset]], optional + prioritized_rulesets : Optional[Sequence[Ruleset]], optional Prioritized rulesets, by default None. Returns @@ -188,12 +188,12 @@ def update_stage( ) project_id = got_stage.project_id stage_id = got_stage.id - prioritzed_rulesets = prioritzed_rulesets or list() + prioritized_rulesets = prioritized_rulesets or list() stage = StageResponse.model_validate( config.api_client.request( RequestMethod.POST, Routes.stage.format(project_id=project_id, stage_id=stage_id), - json=RulesetsMixin.model_validate(dict(prioritzed_rulesets=prioritzed_rulesets)).model_dump(mode="json"), + json=RulesetsMixin.model_validate(dict(prioritized_rulesets=prioritized_rulesets)).model_dump(mode="json"), ) ) config.project_id = project_id diff --git a/tests/test_stage.py b/tests/test_stage.py index f4a1a4f..e20f70d 100644 --- a/tests/test_stage.py +++ b/tests/test_stage.py @@ -133,7 +133,11 @@ def test_args_central( prioritized_rulesets=rulesets, ) assert matcher.called - assert loads(matcher.calls.last.request.content)["rulesets"] == [ruleset.model_dump() for ruleset in rulesets] + request_content = loads(matcher.calls.last.request.content) + assert request_content["name"] == A_STAGE_NAME + assert request_content["description"] == description + assert request_content["type"] == stage_type + assert request_content["rulesets"] == [ruleset.model_dump() for ruleset in rulesets] # Verify the config. assert config.project_id == project_id assert config.stage_id is not None @@ -183,7 +187,11 @@ def test_config_central( name=A_STAGE_NAME, description=description, pause=pause, prioritized_rulesets=rulesets, type=stage_type ) assert matcher.called - assert loads(matcher.calls.last.request.content)["rulesets"] == [ruleset.model_dump() for ruleset in rulesets] + request_content = loads(matcher.calls.last.request.content) + assert request_content["name"] == A_STAGE_NAME + assert request_content["description"] == description + assert request_content["type"] == stage_type + assert request_content["rulesets"] == [ruleset.model_dump() for ruleset in rulesets] # Verify the config. assert config.project_id == project_id assert config.stage_id is not None @@ -330,8 +338,10 @@ def test_simple(self, rulesets: List[Ruleset], set_validated_config: Callable, m Routes.stage.format(project_id=project_id, stage_id=stage_id), json=response.model_dump(mode="json"), ) - stage = update_stage(project_id=project_id, stage_id=stage_id, prioritzed_rulesets=rulesets) + stage = update_stage(project_id=project_id, stage_id=stage_id, prioritized_rulesets=rulesets) assert matcher.called + request_content = loads(matcher.calls.last.request.content) + assert request_content["rulesets"] == [ruleset.model_dump() for ruleset in rulesets] assert config.project_id == project_id assert config.stage_id == stage_id assert config.stage_name == A_STAGE_NAME