Exemplo n.º 1
0
def test_excludes():
    """Loading of the "excludes" option."""
    assert (
        load_config(
            """
    jobs:
      foo:
        target: foo-$date
        exclude: foo
    """
        )[0]["foo"].excludes
        == ["foo"]
    )
    assert (
        load_config(
            """
    jobs:
      foo:
        target: foo-$date
        excludes:
          - foo
    """
        )[0]["foo"].excludes
        == ["foo"]
    )
Exemplo n.º 2
0
def test_aliases():
    """Loading of the "alias" option."""
    assert (
        load_config(
            """
    jobs:
      foo:
        target: foo-$date
        alias: foo
    """
        )[0]["foo"].aliases
        == ["foo"]
    )
    assert (
        load_config(
            """
    jobs:
      foo:
        target: foo-$date
        aliases:
          - foo
    """
        )[0]["foo"].aliases
        == ["foo"]
    )
Exemplo n.º 3
0
def test_no_sources():
    # It's ok to load a backup job file without sources
    load_config("""
    jobs:
      foo:
        deltas: 1d 2d 3d
        target:  $date
    """)
Exemplo n.º 4
0
def test_no_deltas():
    # It's ok to load a job without deltas
    load_config("""
    jobs:
      foo:
        sources: /etc
        target:  $date
    """)
Exemplo n.º 5
0
def test_no_deltas():
    # It's ok to load a job without deltas
    load_config("""
    jobs:
      foo:
        sources: /etc
        target:  $date
    """)
Exemplo n.º 6
0
def test_no_sources():
    # It's ok to load a backup job file without sources
    load_config("""
    jobs:
      foo:
        deltas: 1d 2d 3d
        target:  $date
    """)
Exemplo n.º 7
0
def test_aliases():
    """Loading of the "alias" option."""
    assert load_config("""
    jobs:
      foo:
        target: foo-$date
        alias: foo
    """)[0]['foo'].aliases == ['foo']
    assert load_config("""
    jobs:
      foo:
        target: foo-$date
        aliases:
          - foo
    """)[0]['foo'].aliases == ['foo']
Exemplo n.º 8
0
def test_excludes():
    """Loading of the "excludes" option."""
    assert load_config("""
    jobs:
      foo:
        target: foo-$date
        exclude: foo
    """)[0]['foo'].excludes == ['foo']
    assert load_config("""
    jobs:
      foo:
        target: foo-$date
        excludes:
          - foo
    """)[0]['foo'].excludes == ['foo']
Exemplo n.º 9
0
def test_excludes():
    """Loading of the "excludes" option."""
    assert load_config("""
    jobs:
      foo:
        target: foo-$date
        exclude: foo
    """)['foo'].excludes == ['foo']
    assert load_config("""
    jobs:
      foo:
        target: foo-$date
        excludes:
          - foo
    """)['foo'].excludes == ['foo']
Exemplo n.º 10
0
def test_aliases():
    """Loading of the "alias" option."""
    assert load_config("""
    jobs:
      foo:
        target: foo-$date
        alias: foo
    """)['foo'].aliases == ['foo']
    assert load_config("""
    jobs:
      foo:
        target: foo-$date
        aliases:
          - foo
    """)['foo'].aliases == ['foo']
Exemplo n.º 11
0
def test_empty_job():
    """An empty job may be valid in some cases."""
    assert load_config("""
    target: $name-$date
    jobs:
      foo:
    """)[0]['foo']
Exemplo n.º 12
0
def test_empty_job():
    """An empty job may be valid in some cases."""
    assert load_config("""
    target: $name-$date
    jobs:
      foo:
    """)[0]['foo']
Exemplo n.º 13
0
def test_global_deltas():
    assert len(load_config("""
    deltas: 1d 2d 3d
    jobs:
      foo:
        sources: /etc
        target: $date
    """)[0]['foo'].deltas) == 3
Exemplo n.º 14
0
def test_global_target():
    assert load_config("""
    target: $name-$date
    jobs:
      foo:
        deltas: 1d 2d 3d
        sources: sdf
    """)[0]['foo'].target == '$name-$date'
Exemplo n.º 15
0
def test_global_target():
    assert load_config("""
    target: $name-$date
    jobs:
      foo:
        deltas: 1d 2d 3d
        sources: sdf
    """)[0]['foo'].target == '$name-$date'
Exemplo n.º 16
0
def test_single_source():
    assert load_config("""
    target: $name-$date
    deltas: 1d 2d
    jobs:
      foo:
        source: /etc
    """)[0]['foo'].sources == ['/etc']
Exemplo n.º 17
0
def test_target_has_name():
    assert_raises(ConfigError, load_config, """
    target: $date
    jobs:
      foo:
        sources: /etc
        deltas: 1d 2d
    """)

    # A job-specific target does not need a name placeholder
    load_config("""
    jobs:
      foo:
        sources: /etc
        deltas: 1d 2d
        target: $date
    """)
Exemplo n.º 18
0
def test_single_source():
    assert load_config("""
    target: $name-$date
    deltas: 1d 2d
    jobs:
      foo:
        source: /etc
    """)[0]['foo'].sources == ['/etc']
Exemplo n.º 19
0
def test_global_target():
    assert (
        load_config(
            """
    target: $name-$date
    jobs:
      foo:
        deltas: 1d 2d 3d
        sources: sdf
    """
        )[0]["foo"].target
        == "$name-$date"
    )
Exemplo n.º 20
0
def test_single_source():
    assert (
        load_config(
            """
    target: $name-$date
    deltas: 1d 2d
    jobs:
      foo:
        source: /etc
    """
        )[0]["foo"].sources
        == ["/etc"]
    )
Exemplo n.º 21
0
def test_dateformat_inheritance():
    r, _ = load_config("""
    dateformat: ABC
    target: $name-$date
    deltas: 1d 2d
    jobs:
      foo:
        sources: /etc
      bar:
        sources: /usr
        dateformat: "123"
    """)
    assert r['foo'].dateformat == 'ABC'
    assert r['bar'].dateformat == '123'
Exemplo n.º 22
0
def test_dateformat_inheritance():
    r, _ = load_config("""
    dateformat: ABC
    target: $name-$date
    deltas: 1d 2d
    jobs:
      foo:
        sources: /etc
      bar:
        sources: /usr
        dateformat: "123"
    """)
    assert r['foo'].dateformat == 'ABC'
    assert r['bar'].dateformat == '123'
Exemplo n.º 23
0
def test_dateformat_inheritance():
    r, _ = load_config(
        """
    dateformat: ABC
    target: $name-$date
    deltas: 1d 2d
    jobs:
      foo:
        sources: /etc
      bar:
        sources: /usr
        dateformat: "123"
    """
    )
    assert r["foo"].dateformat == "ABC"
    assert r["bar"].dateformat == "123"
Exemplo n.º 24
0
def test_named_delta():
    c = load_config("""
    target: $name-$date
    deltas: 1d 10d
    delta-names:
      myDelta: 1d 7d 30d
      otherDelta: 1d 7d 30d 90d
    jobs:
      foo:
        source: /foo/
        delta: myDelta
      bar:
        source: /foo/
        delta: otherDelta
      baz:
        source: /foo/
    """)
    assert len(c[0]['baz'].deltas) == 2
    assert len(c[0]['foo'].deltas) == 3
    assert len(c[0]['bar'].deltas) == 4
Exemplo n.º 25
0
def load_config_from_file(filename):
    f = open(filename, 'rb')
    try:
        return load_config(f.read())
    finally:
        f.close()