def test_unassigned_variables(): """Test that unassigned variables are left untouched.""" set_dotenv("") tamplate_with_unassigned = get_tempfile("UNASSIGNED") dotenver.parse_files([tamplate_with_unassigned.name]) expected = "UNASSIGNED\n" assert DOTENV_FILE.read() == expected
def test_existing_unassigned_variables_are_respected(): """Test that existing values for unassigned variables are respected.""" set_dotenv("UNASSIGNED_EXTSTING=assigned") tamplate = get_tempfile("UNASSIGNED_EXTSTING") dotenver.parse_files([tamplate.name]) expected = "UNASSIGNED_EXTSTING=assigned\n" assert DOTENV_FILE.read() == expected
def test_dotenver_triumphs_value(): """Test that dotenver is prefferred over value in template.""" set_dotenv("") tamplate_with_name = get_tempfile( "VARIABLE=False ## dotenver:boolean(chance_of_getting_true=100)") dotenver.parse_files([tamplate_with_name.name]) expected = "VARIABLE=True\n" assert DOTENV_FILE.read() == expected
def test_parse(): """Test that a .env file is created correctly.""" set_dotenv("") dotenver.parse_files([TEMPLATE_FILE.name]) expected = """ STATIC_VARIABLE=static export FALSE_VARIABLE=False TRUE_VARIABLE=True """ DOTENV_FILE.seek(0) assert DOTENV_FILE.read() == expected
def test_empty_values_are_values(): """Test that variables set to empty are respected.""" set_dotenv("TRUE_VARIABLE=") dotenver.parse_files([TEMPLATE_FILE.name]) expected = """ STATIC_VARIABLE=static export FALSE_VARIABLE=False TRUE_VARIABLE= """ assert DOTENV_FILE.read() == expected
def test_declared_unassigned_variables_are_respected(): """Test that declared that are set as unassigned are left untouched.""" set_dotenv("TRUE_VARIABLE") dotenver.parse_files([TEMPLATE_FILE.name]) expected = """ STATIC_VARIABLE=static export FALSE_VARIABLE=False TRUE_VARIABLE """ assert DOTENV_FILE.read() == expected
def test_named_values_are_equal(): """Test that named variables have the same value.""" set_dotenv("") tamplate_with_name = get_tempfile( "NAMED_VARIABLE= ## dotenver:boolean:named(chance_of_getting_true=0)") dotenver.parse_files([TEMPLATE_FILE.name, tamplate_with_name.name], override=True) expected = "NAMED_VARIABLE=True\n" assert DOTENV_FILE.read() == expected
def test_unknowns_are_discarded(): """Test that existing unknown values are discarded.""" set_dotenv(""" EXISTING_VARIABLE=existing """) dotenver.parse_files([TEMPLATE_FILE.name], override=True) expected = """ STATIC_VARIABLE=static export FALSE_VARIABLE=False TRUE_VARIABLE=True """ assert DOTENV_FILE.read() == expected
def test_existing_named_values_are_used(): """Test that existing named variables get captured and reused.""" set_dotenv("EXISTING_NAMED=value") tamplate_with_name = get_tempfile(""" NON_EXISTING_NAMED= ## dotenver:boolean:existing(chance_of_getting_true=0) EXISTING_NAMED= ## dotenver:boolean:existing(chance_of_getting_true=100) """) dotenver.parse_files([tamplate_with_name.name]) expected = """ NON_EXISTING_NAMED=value EXISTING_NAMED=value """ assert DOTENV_FILE.read() == expected
def test_existing_are_respected(): """Test that existing known values are respected.""" set_dotenv(""" STATIC_VARIABLE=dynamic export FALSE_VARIABLE=True TRUE_VARIABLE=False """) dotenver.parse_files([TEMPLATE_FILE.name]) expected = """ STATIC_VARIABLE=dynamic export FALSE_VARIABLE=True TRUE_VARIABLE=False """ assert DOTENV_FILE.read() == expected
def test_existing_are_overridden(): """Test that existing known values are overridden.""" set_dotenv(""" STATIC_VARIABLE=dynamic export FALSE_VARIABLE=True TRUE_VARIABLE=False """) dotenver.parse_files([TEMPLATE_FILE.name], override=True) expected = """ STATIC_VARIABLE=static export FALSE_VARIABLE=False TRUE_VARIABLE=True """ DOTENV_FILE.seek(0) assert DOTENV_FILE.read() == expected
def test_can_handle_duplicate_existing_variable(): """Test that dotenver does not break on duplicate existing variables.""" set_dotenv(""" DUPLICATE_VARIABLE=duplicate """) tamplate_with_duplicate = get_tempfile(""" DUPLICATE_VARIABLE= ## dotenver:boolean(chance_of_getting_true=100) DUPLICATE_VARIABLE= ## dotenver:boolean(chance_of_getting_true=0) """) dotenver.parse_files([tamplate_with_duplicate.name]) expected = """ DUPLICATE_VARIABLE=duplicate DUPLICATE_VARIABLE=duplicate """ assert DOTENV_FILE.read() == expected
def test_unknowns_are_kept(): """Test that existing unknown variables are kept.""" set_dotenv(""" UNKNOWN_VARIABLE=existing """) dotenver.parse_files([TEMPLATE_FILE.name], override=False) expected = """ STATIC_VARIABLE=static export FALSE_VARIABLE=False TRUE_VARIABLE=True ###################################### # Variables not in Dotenver template # ###################################### UNKNOWN_VARIABLE=existing """ assert DOTENV_FILE.read() == expected