Beispiel #1
0
def test_positive_settings_by_value(pre, post):
    """Test all settings value are preserved post upgrade

    :id: upgrade-5b60d8cb-aced-49e8-b4f5-42ea30892fce

    :expectedresults: All settings values should be retained post upgrade
    """
    assert assert_varients(component, pre, post)
Beispiel #2
0
def test_positive_settings_by_description(pre, post):
    """Test all settings descriptions are existing post upgrade

    :id: upgrade-3b5ccd81-cb0e-4bdd-a10f-972ad29f7ac6

    :expectedresults: All settings descriptions should be retained post upgrade
    """
    assert assert_varients(component, pre, post)
Beispiel #3
0
def test_positive_filters_by_permissions(pre, post):
    """Test all filters all permissions are existing after upgrade

    :id: upgrade-dd4fab7e-bd8f-4645-8aab-42a14ffe3a0e

    :expectedresults: All filters all permissions should be retained post
        upgrade
    """
    assert assert_varients(component, pre, post)
def test_positive_subscriptions_by_quantity(pre, post):
    """Test all subscriptions quantities are retained after upgrade

    :id: upgrade-535d6529-27cb-4c6f-959e-6d0684e77aa6

    :expectedresults: All subscriptions quantities should be retained post
        upgrade
    """
    assert assert_varients(component, pre, post)
Beispiel #5
0
def existence(pre, post, component=None, template=None):
    """Returns test result according to pre and post value

    Result Types:
    ```
    1. Fails the test with reason if 'missing' keyword found in pre or post
    value
    2. If 'component' is provided then it alternates the result of assert if
    the value of entity attribute is 'expected' to change during upgrade.
    visit def `assert_variants` for more details
    3. If 'template' is provided then it calls helpers for foreman templates comparision,
    also the preupgrade and postupgrade templates needs to be available.
    This option is only for template.py template existence tests.
    3. Finally If nothing from above, then plain comparision and return results
    ```

    Note:
    ```
    If your are sure that the component attribute name varies between sat
    versions, then Its mandatory to pass component parameter to this function
    while calling.

     e.g:
     def test_anyentity(pre, post)
        assert existence(pre, post, component='entity_name')
    This internally calls assert_variants function.
    ```

    :param pre: Pre-upgrade value from test
    :param post: Post-upgrade Value from test
    :param component: The satellite component name for which the attribute name
     differs
    :param template: The foreman template type for template comparision
    :return: Returns pytest.fail or Boolean value according to pre-upgrade and
     post-upgrade value
    """
    if isinstance(pre, (str, int)):
        pre = str(pre)
        post = str(post)
    if ('missing' in pre) or ('missing' in post):
        pytest.fail(msg='{0}{1}'.format(pre, post))
    if component:
        return assert_varients(component, pre, post)
    if template and not post == 'true':
        return assert_templates(template, pre, post)

    if isinstance(pre and post, list):
        try:
            return sorted(list(pre)) == sorted(list(post))
        except TypeError as err:
            pprint(
                'Sorted module is not supported in python3 for dict to dict '
                'comparison and gets error like: {}'.format(err))
            return pre.sort(key=lambda item: item.get("id")) == \
                post.sort(key=lambda item: item.get("id"))
    return pre == post
Beispiel #6
0
def test_positive_filters_by_resource_type(pre, post):
    """Test all filters of all roles are existing after upgrade by resource
    types

    :id: upgrade-362f4b0c-49bb-424d-92e4-446ec59b8c5c

    :expectedresults: All filters of all roles should be retained post upgrade
        by resource types
    """
    assert assert_varients(component, pre, post)
Beispiel #7
0
def existence(pre, post, component=None):
    """Returns test result according to pre and post value

    Result Types:
    ```
    1. Fails the test with reason if 'missing' keyword found in pre or post
    value
    2. If 'component' is provided then it alternates the result of assert if
    the value of entity attribute is 'expected' to change during upgrade.
    visit def `assert_variants` for more details
    3. Finally If nothing from above, then plain comparision and return results
    ```

    Note:
    ```
    If your are sure that the component attribute name varies between sat
    versions, then Its mandatory to pass component parameter to this function
    while calling.

     e.g:
     def test_anyentity(pre, post)
        assert existence(pre, post, component='entity_name')
    This internally calls assert_variants function.
    ```

    :param pre: Pre-upgrade value from test
    :param post: Post-upgrade Value from test
    :param component: The satellite component name for which the attribute name
     differs
    :return: Returns pytest.fail or Boolean value according to pre-upgrade and
     post-upgrade value
    """
    if isinstance(pre, str) or isinstance(pre, int):
        pre = str(pre)
        post = str(post)
    if ('missing' in pre) or ('missing' in post):
        pytest.fail(msg='{0}{1}'.format(pre, post))
    elif component:
        return assert_varients(component, pre, post)
    else:
        if isinstance(pre, list) and isinstance(post, list):
            return sorted(list(pre)) == sorted(list(post))
        return pre == post
Beispiel #8
0
def test_64_to_65_no_diff():
    os.environ['FROM_VERSION'] = '6.4'
    os.environ['TO_VERSION'] = '6.5'
    assert assert_varients('filter', 'foo', 'foo')
Beispiel #9
0
def test_67_to_68():
    assert assert_varients('filter', 'lookupkey', 'lookupkey')
Beispiel #10
0
def test_67_to_68_no_component():
    assert assert_varients('non_exist_component', 'foo', 'foo')
Beispiel #11
0
def test_67_to_68_no_diff():
    assert assert_varients('filter', 'foo', 'foo')
Beispiel #12
0
def test_61_to_62():
    os.environ['FROM_VERSION'] = '6.1'
    os.environ['TO_VERSION'] = '6.2'
    assert assert_varients('filter', 'lookupkey', 'variablelookupkey')
Beispiel #13
0
def test_61_to_62_no_component():
    os.environ['FROM_VERSION'] = '6.1'
    os.environ['TO_VERSION'] = '6.2'
    assert assert_varients('non_exist_component', 'foo', 'foo')
Beispiel #14
0
def test_61_to_62_no_diff():
    os.environ['FROM_VERSION'] = '6.1'
    os.environ['TO_VERSION'] = '6.2'
    assert assert_varients('filter', 'foo', 'foo')
Beispiel #15
0
def test_64_to_65():
    os.environ['FROM_VERSION'] = '6.4'
    os.environ['TO_VERSION'] = '6.5'
    assert assert_varients('filter', 'lookupkey', 'lookupkey')
Beispiel #16
0
def test_64_to_65_no_component():
    os.environ['FROM_VERSION'] = '6.4'
    os.environ['TO_VERSION'] = '6.5'
    assert assert_varients('non_exist_component', 'foo', 'foo')
Beispiel #17
0
def test_67_to_68():
    os.environ['FROM_VERSION'] = '6.7'
    os.environ['TO_VERSION'] = '6.8'
    assert assert_varients('filter', 'lookupkey', 'lookupkey')
Beispiel #18
0
def test_67_to_68_no_component():
    os.environ['FROM_VERSION'] = '6.7'
    os.environ['TO_VERSION'] = '6.8'
    assert assert_varients('non_exist_component', 'foo', 'foo')
Beispiel #19
0
def test_67_to_68_no_diff():
    os.environ['FROM_VERSION'] = '6.7'
    os.environ['TO_VERSION'] = '6.8'
    assert assert_varients('filter', 'foo', 'foo')