Commit 570a38ac authored by Jacob's avatar Jacob
Browse files

Modified env.py and added more tests

parent b70940bf
Loading
Loading
Loading
Loading
+8 −29
Original line number Diff line number Diff line
@@ -9,9 +9,9 @@ def boolify(var):

    :param var: the variable to check to see if it can be converted to bool
    """
    if var in [0, "0", "FALSE", "False", "false", False]:
    if var in [0, "0", "FALSE", "False", "false",'f','F', False]:
        return False
    if var in [1, "1", "TRUE", "True", "true", True]:
    if var in [1, "1", "TRUE", "True", "true",'t', 'T', True]:
        return True
    raise TypeError("unable to evaluate expected boolean")

@@ -31,32 +31,11 @@ def check_environment(env_var, default=None):
            return boolify(os.environ[env_var])
        if isinstance(default, int):
            return int(os.environ[env_var])
        return os.environ[env_var]
    # assume if in python environment, it is already a bool or int
    if env_var in globals():
        os.environ[env_var] = str(globals()[env_var])
        return globals()[env_var]
    if env_var in locals():
        os.environ[env_var] = str(locals()[env_var])
        return locals()[env_var]
        if isinstance(default, float):
            return float(os.environ[env_var])
        if isinstance(default, str):
            return str(os.environ[env_var])
        
    if default is not None:
        os.environ[env_var] = str(default)
    return default
 No newline at end of file


def check_multi_environment(env_var_multi, multi_value, env_var, default=None):
    """Check if the mod environment variable exists,
    if so, return that. If not, check if the vanilla variable
    has been specified and return that value instead.

    :param env_var_multi: the modified environment variable to look for
    :param multi_value: the value of the modified environmental
    :param env_var: the vanilla environment variable to look for
    :param default: the vanilla environment variable default value
    """
    # check for existence of new var, if it exists, set environment
    # return multi value
    if str(env_var_multi) in os.environ:
        return check_environment(env_var_multi, multi_value)
    # set environment for vanilla and return vanilla
    return check_environment(env_var, default)
+10 −4
Original line number Diff line number Diff line
@@ -4,14 +4,14 @@ from common.env import boolify, check_environment


def test_boolify_true():
    true_val = [1, "1", "TRUE", "True", "true", True]
    true_val = [1, "1", "TRUE", "True", "true", 't', 'T', True]

    for val in true_val:
        assert boolify(val) is True, f"Expected true {val} but did not get it."


def test_boolify_false():
    false_val = [0, "0", "FALSE", "False", "false", False]
    false_val = [0, "0", "FALSE", "False", "false",'f','F', False]
    for val in false_val:
        assert boolify(val) is False, f"Expected False {val} but did not get it."

@@ -45,9 +45,15 @@ def test_check_environment_type_conversion_to_bool():
        check_environment("BOOL_VAR", default=False) is True
    ), "Failed to boolify and check_environment"


# TODO - checks for conversion to int, etc

def check_environment_type_conversion_to_int():
    os.environ["INT_VAR"] = "0"
    assert (
        check_environment("INT_VAR", default=1) == 0
    ), "Failed to cast to int and check_environment"


def teardown_function(function):
    for var in ["TEST_VAR", "BOOL_VAR"]:
        if var in os.environ: