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

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

    rule.pre_task_hook()
    rule.task()

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

    rule = YamlValueExists(
        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:\n  supported: true\n"
    expected_file.unlink()
예제 #3
0
def test_value_exists_dict_already_exists(temporary_file):
    expected_file = Path(temporary_file.name)
    expected_file.write_text("stack: python\ndependencies: {service3: true}")

    rule = YamlValueExists(
        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\ndependencies: {service3: true, service1: true}\n")
    expected_file.unlink()
예제 #4
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 = YamlValueExists(
        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()
예제 #5
0
def test_value_exists_nested_list_single_item(temporary_file):
    expected_file = Path(temporary_file.name)
    expected_file.write_text("stack: python\nnested:\n  dependencies: []")

    rule = YamlValueExists(
        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\nnested:\n  dependencies:\n  - service1\n")
    expected_file.unlink()