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