コード例 #1
0
def test_positive():
    input = """
    document: modulemd-packager
    version: 3
    data:
    # Many spaces
        configurations :
            # Comment A
        - context: 'A'
             # Inter comment
          platform: f34
           # Trailing comment
        - context: 'B'
          platform: f35
    """
    expected = """
    document: modulemd-packager
    version: 3
    data:
    # Many spaces
        configurations :
            # Comment A
        - context: 'A'
             # Inter comment
          platform: f34
           # Trailing comment
        - context: 'B'
          platform: f35
        - context: 'f36'
          platform: f36
    """

    error, output = process_string(logger, input, False, 'f35', 'f36')
    assert (error == 0)
    assert (output == expected)
コード例 #2
0
def test_no_quotes():
    """Original uses no quotes, output has them too.
    """

    input = """
    document: modulemd-packager
    version: 3
    data:
        configurations:
        - context: A
          platform: A
    """
    expected = """
    document: modulemd-packager
    version: 3
    data:
        configurations:
        - context: A
          platform: A
        - context: B
          platform: B
    """

    error, output = process_string(logger, input, False, 'A', 'B')
    assert(error == 0)
    assert(output == expected)
コード例 #3
0
def test_positive_nested_fields_inside_a_context():
    input = """
    document: modulemd-packager
    version: 3
    data:
        configurations:
            - context: 'A'
              platform: A
              buildrequires:
                  foo: [bar]
    """
    expected = """
    document: modulemd-packager
    version: 3
    data:
        configurations:
            - context: 'A'
              platform: A
              buildrequires:
                  foo: [bar]
            - context: 'B'
              platform: B
              buildrequires:
                  foo: [bar]
    """

    error, output = process_string(logger, input, False, 'A', 'B')
    assert (error == 0)
    assert (output == expected)
コード例 #4
0
def test_positive_multiple_contexts():
    input = """
    document: modulemd-packager
    version: 3
    data:
        configurations:
        - context: 'A'
          platform: A
        - context: 'B'
          platform: A
    """
    expected = """
    document: modulemd-packager
    version: 3
    data:
        configurations:
        - context: 'A'
          platform: A
        - context: '0'
          platform: B
        - context: 'B'
          platform: A
        - context: '1'
          platform: B
    """

    error, output = process_string(logger, input, False, 'A', 'B')
    assert (error == 0)
    assert (output == expected)
コード例 #5
0
def test_double_quotes():
    """Original uses double quotes, platform is properly dequoted,
    output used double quotes too.
    """

    input = """
    document: modulemd-packager
    version: 3
    data:
        configurations:
        - context: "A"
          platform: "\x41"
    """
    expected = """
    document: modulemd-packager
    version: 3
    data:
        configurations:
        - context: "A"
          platform: "\x41"
        - context: "B"
          platform: "B"
    """

    error, output = process_string(logger, input, False, 'A', 'B')
    assert(error == 0)
    assert(output == expected)
コード例 #6
0
def test_invalid_input_document():
    input = """
    document: gibberish
    version: 3
    data:
    """
    error, output = process_string(logger, input, False, 'f35', 'f36')
    assert (error == 1)
コード例 #7
0
def test_no_old_platform():
    input = """
    document: modulemd-packager
    version: 3
    data:
        configurations:
        - context: 'A'
          platform: 'A'
    """
    error, output = process_string(logger, input, False, 'f35', 'f36')
    assert (error == 2)
コード例 #8
0
def test_new_platform_exists():
    input = """
    document: modulemd-packager
    version: 3
    data:
        configurations:
        - context: 'A'
          platform: 'A'
        - context: 'B'
          platform: 'B'
    """
    error, output = process_string(logger, input, False, 'B', 'B')
    assert (error == -1)
コード例 #9
0
def test_positive_new_platform_is_invalid_context():
    input = """
    document: modulemd-packager
    version: 3
    data:
        configurations:
        - context: 'A'
          platform: A
    """
    expected = """
    document: modulemd-packager
    version: 3
    data:
        configurations:
        - context: 'A'
          platform: A
        - context: '0'
          platform: 1.2
    """

    error, output = process_string(logger, input, False, 'A', '1.2')
    assert (error == 0)
    assert (output == expected)
コード例 #10
0
def test_positive_with_comments():
    input = """
    document: modulemd-packager
    version: 3
    data:
    # Many spaces
        configurations :
            # Comment A
        - context: 'A' # Context suffix comment
             # Inter comment
          platform: A  # Platform suffix comment
           # Trailing comment
        - context: 'B'
          platform: B
    """
    expected = """
    document: modulemd-packager
    version: 3
    data:
    # Many spaces
        configurations :
            # Comment A
        - context: 'A' # Context suffix comment
             # Inter comment
          platform: A  # Platform suffix comment
           # Trailing comment
        - context: 'X' # Context suffix comment
             # Inter comment
          platform: X  # Platform suffix comment
           # Trailing comment
        - context: 'B'
          platform: B
    """

    error, output = process_string(logger, input, False, 'A', 'X')
    assert (error == 0)
    assert (output == expected)
コード例 #11
0
def test_no_skip_without_old_platform():
    error, output = process_string(logger, missing_old_platform, False, 'B', 'B')
    assert(error == 2)
コード例 #12
0
def test_no_skip_modulemd_v2():
    error, output = process_string(logger, modulemd_v2, False, 'f35', 'f36')
    assert(error == 1)
コード例 #13
0
def test_skip_modulemd_v2():
    error, output = process_string(logger, modulemd_v2, True, 'f35', 'f36')
    assert(error == -1)