def test_if(fake_t: Template): template = {"Conditions": {"test": False}} fake_t.template = template with pytest.raises(TypeError) as e: result = functions.if_(fake_t, {}) assert "must be a List, not dict." in str(e.value) with pytest.raises(ValueError) as e: result = functions.if_(fake_t, [0]) assert "True value and a False value." in str(e.value) with pytest.raises(TypeError) as e: result = functions.if_(fake_t, [0, 0, 0]) assert "Condition should be a String, not int." in str(e.value) result = functions.if_(fake_t, ["test", "true_value", "false_value"]) assert result == "false_value", "Should return the false value." template["Conditions"]["test"] = True result = functions.if_(fake_t, ["test", "true_value", "false_value"]) assert result == "true_value", "Should return the true value." with pytest.raises(Exception): # First value should the name of the condition to lookup functions.if_(fake_t, [True, "True", "False"])
def test_set_params(): t = {} params = {"Foo": {"Bar"}} template = Template(t) template.set_parameters() assert template.template == {}, "Should do nothing if no parameters in template." with pytest.raises(ValueError) as e: template.set_parameters(params) assert "You supplied parameters for a template that doesn't have any." in str( e.value ), "Should throw correct exception." template.template = {"Parameters": {"Test": {}}} with pytest.raises(ValueError) as e: template.set_parameters() assert "Must provide values for parameters that don't have a default value." in str( e.value ), "Should throw correct exception." template.set_parameters({"Test": "value"}) assert {"Test": {"Value": "value"}} == template.template[ "Parameters" ], "Should set the value to what we pass in." with pytest.raises(ValueError) as e: template.set_parameters({"Bar": "Foo"}) assert "You passed a Parameter that was not in the Template." in str( e.value ), "Should throw correct exception." template.template = {"Parameters": {"Test": {"Default": "default"}}} template.set_parameters() assert {"Test": {"Default": "default", "Value": "default"}} == template.template[ "Parameters" ], "Should set default values."