예제 #1
0
def test_value_exists_no_value(temporary_file):
    expected_file = Path(temporary_file.name)
    expected_file.write_text('stack = "scala"')

    rule = TomlValueExists(
        name="Ensure service descriptor has dependencies",
        path=expected_file,
        key="stack",
    )

    rule.pre_task_hook()
    rule.task()

    assert expected_file.read_text() == ""
    expected_file.unlink()
예제 #2
0
def test_value_nested_already_exists(temporary_file):
    expected_file = Path(temporary_file.name)
    expected_file.write_text("[development]\nsupported = true\n")

    rule = TomlValueExists(
        name="Ensure local development is supported",
        path=expected_file,
        key="development.supported",
        value=True,
    )

    rule.pre_task_hook()
    rule.task()

    assert expected_file.read_text() == "[development]\nsupported = true\n"
    expected_file.unlink()
예제 #3
0
def test_value_exists_list_already_exists_single_item(temporary_file):
    expected_file = Path(temporary_file.name)
    expected_file.write_text('stack = "python"\ndependencies = ["service2"]')

    rule = TomlValueExists(
        name="Ensure service descriptor has dependencies",
        path=expected_file,
        key="dependencies",
        value="service1",
    )

    rule.pre_task_hook()
    rule.task()

    assert (expected_file.read_text() ==
            'stack = "python"\ndependencies = [ "service2", "service1",]\n')
    expected_file.unlink()
예제 #4
0
def test_value_exists_nested_list_single_item(temporary_file):
    expected_file = Path(temporary_file.name)
    expected_file.write_text('stack = "python"\n[nested]\ndependencies = []')

    rule = TomlValueExists(
        name="Ensure service descriptor has dependencies",
        path=expected_file,
        key="nested.dependencies",
        value="service1",
    )

    rule.pre_task_hook()
    rule.task()

    # Because of the default flow style False, the result will be block-styled
    assert (expected_file.read_text() ==
            'stack = "python"\n\n[nested]\ndependencies = [ "service1",]\n')
    expected_file.unlink()
예제 #5
0
def test_value_exists_dict_already_exists(temporary_file):
    expected_file = Path(temporary_file.name)
    expected_file.write_text(
        'stack = "python"\n\n[dependencies]\nservice3 = true')

    rule = TomlValueExists(
        name="Ensure service descriptor has dependencies",
        path=expected_file,
        key="dependencies",
        value={"service1": True},
    )

    rule.pre_task_hook()
    rule.task()

    assert (
        expected_file.read_text() ==
        'stack = "python"\n\n[dependencies]\nservice3 = true\nservice1 = true\n'
    )
    expected_file.unlink()