Exemple #1
0
 def test_child_modules(self) -> None:
     """Test child_modules."""
     data = {"parallel": [{"name": "test", "path": "./"}]}
     result = RunwayModuleDefinition.parse_obj(data).child_modules
     assert isinstance(result, list)
     assert len(result) == 1
     assert isinstance(result[0], RunwayModuleDefinition)
     assert result[0].name == data["parallel"][0]["name"]
     assert RunwayModuleDefinition.parse_obj({"path": "./"}).child_modules == []
Exemple #2
0
 def test_child_modules_setter(self) -> None:
     """Test child_modules.setter."""
     obj = RunwayModuleDefinition.parse_obj({"parallel": [{"path": "./"}]})
     new_modules = [
         RunwayModuleDefinitionModel(path="./", name="test-01"),
         RunwayModuleDefinition.parse_obj({"name": "test-02", "path": "./"}),
     ]
     obj.child_modules = new_modules
     assert obj._data.parallel[0] == new_modules[0]
     assert obj._data.parallel[1] == new_modules[1].data  # type: ignore
 def test_modules_setter(self) -> None:
     """Test modules.setter."""
     obj = RunwayDeploymentDefinition.parse_obj({"regions": ["us-east-1"]})
     new_modules = [
         RunwayModuleDefinition.parse_obj({"path": "./", "name": "test-01"}),
         RunwayModuleDefinition.parse_obj({"name": "test-02", "path": "./"}),
     ]
     obj.modules = new_modules
     assert obj._data.modules[0] == new_modules[0].data
     assert obj._data.modules[1] == new_modules[1].data
Exemple #4
0
 def test_reverse(self) -> None:
     """Test reverse."""
     data: RunwayModuleDefinitionModel = RunwayModuleDefinitionModel.parse_obj(
         {
             "name": "parallel_parent",
             "parallel": [
                 {"name": "test-01", "path": "./"},
                 {"name": "test-02", "path": "./"},
             ],
         }
     )
     obj = RunwayModuleDefinition(data)
     assert not obj.reverse()
     assert obj._data.parallel != data.parallel
     assert obj._data.parallel == [data.parallel[1], data.parallel[0]]
Exemple #5
0
 def test_child_modules_setter_invalid_list_item(self) -> None:
     """Test child_modules.setter when list item is now supported."""
     with pytest.raises(TypeError):
         obj = RunwayModuleDefinition.parse_obj({"path": "./"})
         obj.child_modules = [  # type: ignore
             RunwayModuleDefinitionModel(path="./"),
             "invalid",
         ]
Exemple #6
0
 def test_child_modules_setter_not_list(self) -> None:
     """Test child_modules.setter not a list."""
     obj = RunwayModuleDefinition.parse_obj({"path": "./"})
     with pytest.raises(TypeError):
         obj.child_modules = "invalid"  # type: ignore
     with pytest.raises(TypeError):
         obj.child_modules = {"key": "val"}  # type: ignore
     with pytest.raises(TypeError):
         obj.child_modules = None  # type: ignore
 def test_parse_obj_runway_config(self,
                                  deploy_environment: DeployEnvironment,
                                  tmp_path: Path) -> None:
     """Test parse_obj Runway config objects."""
     model = RunwayModuleDefinitionModel(path=tmp_path)
     obj0 = ModulePath.parse_obj(model,
                                 deploy_environment=deploy_environment)
     assert obj0.definition == model.path
     assert obj0.env == deploy_environment
     module = RunwayModuleDefinition(model)
     obj1 = ModulePath.parse_obj(module,
                                 deploy_environment=deploy_environment)
     assert obj1.definition == model.path
     assert obj1.env == deploy_environment
Exemple #8
0
 def test_is_parent(self, data: Dict[str, Any], expected: bool) -> None:
     """Test is_parent."""
     assert RunwayModuleDefinition.parse_obj(data).is_parent is expected
Exemple #9
0
 def test_register_variable(self) -> None:
     """Test _register_variable."""
     obj = RunwayModuleDefinition.parse_obj({"name": "test", "path": "./"})
     assert obj._vars["path"].name == "test.path"
Exemple #10
0
 def test_parse_obj(self) -> None:
     """Test parse_obj."""
     data = {"name": Path.cwd().name, "path": "./"}
     obj = RunwayModuleDefinition.parse_obj(data)
     assert obj._data.dict(exclude_unset=True) == data
Exemple #11
0
 def test_menu_entry(self, data: Dict[str, Any], expected: str) -> None:
     """Test menu entry."""
     assert RunwayModuleDefinition.parse_obj(data).menu_entry == expected