コード例 #1
0
    def test_positive_create_and_remove_matcher(self, module_puppet,
                                                module_sc_params):
        """Create and remove matcher for attribute in parameter.

        :id: 37fe299b-1e81-4faf-b1c3-2edfc3d53dc1

        :steps:

            1.  Override the parameter.
            2.  Set some default Value.
            3.  Create a matcher with all valid values.
            4.  Create matcher with valid attribute type, name and puppet
                default value.
            5.  Submit the change.
            6.  Remove the matcher created in step 1

        :expectedresults: The matcher has been created successfully.

        :CaseImportance: Medium
        """
        sc_param_id = module_sc_params['ids'].pop()
        value = gen_string('alpha')
        SmartClassParameter.update({
            'id': sc_param_id,
            'override': 1,
            'override-value-order': 'is_virtual'
        })
        SmartClassParameter.add_matcher({
            'smart-class-parameter-id': sc_param_id,
            'match': 'is_virtual=true',
            'value': value
        })
        sc_param = SmartClassParameter.info({
            'puppet-class':
            module_puppet['class']['name'],
            'id':
            sc_param_id
        })
        assert sc_param['override-values']['values']['1'][
            'match'] == 'is_virtual=true'
        assert sc_param['override-values']['values']['1']['value'] == value

        SmartClassParameter.remove_matcher({
            'smart-class-parameter-id':
            sc_param_id,
            'id':
            sc_param['override-values']['values']['1']['id'],
        })
        sc_param = SmartClassParameter.info({
            'puppet-class':
            module_puppet['class']['name'],
            'id':
            sc_param_id
        })
        assert len(sc_param['override-values']['values']) == 0