示例#1
0
 def setupScenario(self):
     """Import some parametrized puppet classes. This is required to make
     sure that we have smart class variable available.
     Read all available smart class parameters for imported puppet class to
     be able to work with unique entity for each specific test.
     """
     self.puppet_modules = [{
         'author': 'robottelo',
         'name': 'api_test_classparameters'
     }]
     self.org = entities.Organization().create()
     cv = publish_puppet_module(self.puppet_modules, CUSTOM_PUPPET_REPO,
                                self.org)
     self.env = (entities.Environment().search(
         query={'search': 'content_view="{0}"'.format(cv.name)})[0].read())
     self.puppet_class = entities.PuppetClass().search(
         query={
             'search':
             'name = "{0}" and environment = "{1}"'.format(
                 self.puppet_modules[0]['name'], self.env.name)
         })[0]
     self.sc_params_list = entities.SmartClassParameters().search(
         query={
             'search': 'puppetclass="{0}"'.format(self.puppet_class.name),
             'per_page': 1000
         })
     scenario_ents = {
         self.__class__.__name__: {
             'puppet_class': self.puppet_class.name
         }
     }
     create_dict(scenario_ents)
示例#2
0
    def setUpClass(cls):
        """Import some parametrized puppet classes. This is required to make
        sure that we have smart class parameter available.
        Read all available smart class parameters for imported puppet class to
        be able to work with unique entity for each specific test.
        """
        super(SmartClassParametersTestCase, cls).setUpClass()
        cls.pm_name = 'ui_test_classparameters'
        cls.puppet_modules = [
            {'author': 'robottelo', 'name': cls.pm_name},
        ]
        cv = publish_puppet_module(
            cls.puppet_modules, CUSTOM_PUPPET_REPO, cls.session_org)
        cls.env = entities.Environment().search(
            query={'search': u'content_view="{0}"'.format(cv.name)}
        )[0].read()
        cls.puppet_class = entities.PuppetClass().search(query={
            'search': u'name = "{0}" and environment = "{1}"'.format(
                cls.puppet_modules[0]['name'], cls.env.name)
        })[0]
        cls.sc_params_list = entities.SmartClassParameters().search(
            query={
                'search': 'puppetclass="{0}"'.format(cls.puppet_class.name),
                'per_page': 1000
            })

        cls.host = entities.Host(organization=cls.session_org).create()
        cls.host.environment = cls.env
        cls.host.update(['environment'])
        cls.host.add_puppetclass(data={'puppetclass_id': cls.puppet_class.id})
        cls.domain_name = entities.Domain(id=cls.host.domain.id).read().name
示例#3
0
    def test_pre_puppet_class_parameter_data_and_type(self):
        """Puppet Class parameters with different data type are created

        :steps:

            1. In Preupgrade Satellite, Import a puppet module having
            parameters
            2. Update existing class parameters with different value and type

        :expectedresults: The parameters are updated with different data types
        """
        self.setupScenario()
        for count in range(1, 10):
            with self.subTest(count):
                data = _valid_sc_parameters_data()[count - 1]
                sc_param = entities.SmartClassParameters().search(
                    query={
                        'search':
                        'parameter="api_classparameters_scp_00{}"'.format(
                            count)
                    })[0]
                sc_param.override = True
                sc_param.parameter_type = data['sc_type']
                sc_param.default_value = data['value']
                sc_param.update(
                    ['override', 'parameter_type', 'default_value'])
                sc_param = sc_param.read()
                self.assertEqual(sc_param.parameter_type, data['sc_type'])
                self._validate_value(data, sc_param)
示例#4
0
    def test_pre_puppet_class_parameter_data_and_type(self, count,
                                                      _setup_scenario):
        """Puppet Class parameters with different data type are created

        :id: preupgrade-08012f39-240b-40df-b893-2ee767129737

        :parametrized: yes

        :steps:

            1. In Preupgrade Satellite, Import a puppet module having
            parameters
            2. Update existing class parameters with different value and type

        :expectedresults: The parameters are updated with different data types
        """
        data = _valid_sc_parameters_data()[count - 1]
        sc_param = entities.SmartClassParameters().search(
            query={'search': f'parameter="api_classparameters_scp_00{count}"'
                   })[0]
        sc_param.override = True
        sc_param.parameter_type = data['sc_type']
        sc_param.default_value = data['value']
        sc_param.update(['override', 'parameter_type', 'default_value'])
        sc_param = sc_param.read()
        assert sc_param.parameter_type == data['sc_type']
        self._validate_value(data, sc_param)
示例#5
0
 def setUpClass(cls):
     """Import some parametrized puppet classes. This is required to make
     sure that we have smart class variable available.
     Read all available smart class parameters for imported puppet class to
     be able to work with unique entity for each specific test.
     """
     super(SmartClassParametersTestCase, cls).setUpClass()
     cls.puppet_modules = [
         {'author': 'robottelo', 'name': 'api_test_classparameters'},
     ]
     cls.org = entities.Organization().create()
     cv = publish_puppet_module(
         cls.puppet_modules, CUSTOM_PUPPET_REPO, cls.org)
     cls.env = entities.Environment().search(
         query={'search': u'content_view="{0}"'.format(cv.name)}
     )[0].read()
     cls.puppet_class = entities.PuppetClass().search(query={
         'search': u'name = "{0}" and environment = "{1}"'.format(
             cls.puppet_modules[0]['name'], cls.env.name)
     })[0]
     cls.sc_params_list = entities.SmartClassParameters().search(
         query={
             'search': 'puppetclass="{0}"'.format(cls.puppet_class.name),
             'per_page': 1000
         })
def module_puppet():
    puppet_modules = [{'author': 'robottelo', 'name': 'api_test_classparameters'}]
    org = entities.Organization().create()
    cv = publish_puppet_module(puppet_modules, CUSTOM_PUPPET_REPO, org)
    env = entities.Environment().search(query={'search': f'content_view="{cv.name}"'})[0].read()
    puppet_class = entities.PuppetClass().search(
        query={'search': f'name = "{puppet_modules[0]["name"]}" and environment = "{env.name}"'}
    )[0]
    sc_params_list = entities.SmartClassParameters().search(
        query={'search': f'puppetclass="{puppet_class.name}"', 'per_page': '1000'}
    )
    yield {'env': env, 'class': puppet_class, 'sc_params': sc_params_list}
    delete_puppet_class(puppet_class.name)
示例#7
0
def module_puppet(default_sat):
    puppet_class = 'api_test_classparameters'
    env_name = default_sat.create_custom_environment(repo=puppet_class)
    puppet_class = entities.PuppetClass().search(
        query={
            'search': f'name = "{puppet_class}" and environment = "{env_name}"'
        })[0]
    sc_params_list = entities.SmartClassParameters().search(query={
        'search': f'puppetclass="{puppet_class.name}"',
        'per_page': '1000'
    })
    env = entities.Environment().search(
        query={'search': f'name="{env_name}"'})[0].read()
    yield {'env': env, 'class': puppet_class, 'sc_params': sc_params_list}
    delete_puppet_class(puppet_class.name)
示例#8
0
    def test_post_puppet_class_parameter_data_and_type(self):
        """Puppet Class Parameters value and type is intact post upgrade

        :steps: Postupgrade, Verify the value and type of updated parameters

        :expectedresults: The puppet class parameters data and type should be
            intact post upgrade
        """
        for count in range(1, 10):
            with self.subTest(count):
                data = _valid_sc_parameters_data()[count-1]
                sc_param = entities.SmartClassParameters().search(query={
                   'search': 'parameter="api_classparameters_scp_00{}"'.format(
                        count)})[0]
                self.assertEqual(sc_param.parameter_type, data['sc_type'])
                self._validate_value(data, sc_param)
        puppet_class = get_entity_data(self.__class__.__name__)['puppet_class']
        delete_puppet_class(puppet_class)
示例#9
0
    def test_post_puppet_class_parameter_data_and_type(self, count,
                                                       _clean_scenario):
        """Puppet Class Parameters value and type is intact post upgrade

        :parametrized: yes

        :steps: Postupgrade, Verify the value and type of updated parameters

        :expectedresults: The puppet class parameters data and type should be
            intact post upgrade
        """

        data = _valid_sc_parameters_data()[count - 1]
        sc_param = entities.SmartClassParameters().search(
            query={'search': f'parameter="api_classparameters_scp_00{count}"'
                   })[0]
        assert sc_param.parameter_type == data['sc_type']
        self._validate_value(data, sc_param)
示例#10
0
 def _setup_scenario(self, default_sat):
     """Import some parametrized puppet classes. This is required to make
     sure that we have smart class variable available.
     Read all available smart class parameters for imported puppet class to
     be able to work with unique entity for each specific test.
     """
     self.org = entities.Organization().create()
     repo = 'api_test_classparameters'
     env_name = default_sat.create_custom_environment(repo=repo)
     self.puppet_class = entities.PuppetClass().search(
         query={
             'search': f'name = "{repo}" and environment = "{env_name}"'
         })[0]
     self.sc_params_list = entities.SmartClassParameters().search(
         query={
             'search': f'puppetclass="{self.puppet_class.name}"',
             'per_page': 1000
         })
     scenario_ents = {
         self.__class__.__name__: {
             'puppet_class': self.puppet_class.name
         }
     }
     create_dict(scenario_ents)
示例#11
0
def sc_params_list(puppet_class):
    return entities.SmartClassParameters().search(
        query={
            'search': 'puppetclass="{0}"'.format(puppet_class.name),
            'per_page': 1000
        })
def sc_params_list(puppet_class):
    return entities.SmartClassParameters().search(
        query={'search': f'puppetclass="{puppet_class.name}"', 'per_page': '1000'}
    )