def test_present_exists(input_params, existing_obj): """ Test to ensure that named value map is present and not changed """ name = "Server HP Health" ret = {"name": name, "result": False, "comment": "", "changes": {}} with patch.dict(zabbix_valuemap.__opts__, {"test": False}): with patch.dict( zabbix_valuemap.__salt__, { "zabbix.get_zabbix_id_mapper": MagicMock(return_value={"valuemap": "valuemapid"}), "zabbix.substitute_params": MagicMock(side_effect=[input_params, existing_obj]), "zabbix.run_query": MagicMock(return_value=["length of result is 1"]), "zabbix.compare_params": MagicMock(return_value={}), }, ): ret["result"] = True ret["comment"] = 'Zabbix Value map "{}" already exists and corresponds to a definition.'.format( name) assert zabbix_valuemap.present(name, {}) == ret
def test_present_update(self): """ Test to ensure that named value map is present but must be updated """ name = "Server HP Health" ret = {"name": name, "result": False, "comment": "", "changes": {}} def side_effect_run_query(*args): """ Differentiate between __salt__ exec module function calls with different parameters. """ if args[0] == "valuemap.get": return ["length of result is 1 = valuemap exists"] elif args[0] == "valuemap.update": return DIFF_PARAMS with patch.dict(zabbix_valuemap.__opts__, {"test": False}): with patch.dict( zabbix_valuemap.__salt__, { "zabbix.get_zabbix_id_mapper": MagicMock(return_value={"valuemap": "valuemapid"}), "zabbix.substitute_params": MagicMock(side_effect=[INPUT_PARAMS, EXISTING_OBJ_DIFF]), "zabbix.run_query": MagicMock(side_effect=side_effect_run_query), "zabbix.compare_params": MagicMock(return_value=DIFF_PARAMS), }, ): ret["result"] = True ret["comment"] = 'Zabbix Value map "{0}" updated.'.format(name) ret["changes"] = { name: { "old": 'Zabbix Value map "{0}" differed ' "in following parameters: {1}".format( name, DIFF_PARAMS), "new": 'Zabbix Value map "{0}" fixed.'.format(name), } } self.assertDictEqual(zabbix_valuemap.present(name, {}), ret)
def test_present_update(self): ''' Test to ensure that named value map is present but must be updated ''' name = 'Server HP Health' ret = {'name': name, 'result': False, 'comment': '', 'changes': {}} def side_effect_run_query(*args): ''' Differentiate between __salt__ exec module function calls with different parameters. ''' if args[0] == 'valuemap.get': return ['length of result is 1 = valuemap exists'] elif args[0] == 'valuemap.update': return DIFF_PARAMS with patch.dict(zabbix_valuemap.__opts__, {'test': False}): with patch.dict( zabbix_valuemap.__salt__, { 'zabbix.get_zabbix_id_mapper': MagicMock(return_value={'valuemap': 'valuemapid'}), 'zabbix.substitute_params': MagicMock(side_effect=[INPUT_PARAMS, EXISTING_OBJ_DIFF]), 'zabbix.run_query': MagicMock(side_effect=side_effect_run_query), 'zabbix.compare_params': MagicMock(return_value=DIFF_PARAMS) }): ret['result'] = True ret['comment'] = 'Zabbix Value map "{0}" updated.'.format(name) ret['changes'] = { name: { 'old': 'Zabbix Value map "{0}" differed ' 'in following parameters: {1}'.format( name, DIFF_PARAMS), 'new': 'Zabbix Value map "{0}" fixed.'.format(name) } } self.assertDictEqual(zabbix_valuemap.present(name, {}), ret)
def test_present_create(input_params): """ Test to ensure that named value map is created """ name = "Server HP Health" ret = {"name": name, "result": False, "comment": "", "changes": {}} def side_effect_run_query(*args): """ Differentiate between __salt__ exec module function calls with different parameters. """ if args[0] == "valuemap.get": return False elif args[0] == "valuemap.create": return True with patch.dict(zabbix_valuemap.__opts__, {"test": False}): with patch.dict( zabbix_valuemap.__salt__, { "zabbix.get_zabbix_id_mapper": MagicMock(return_value={"valuemap": "valuemapid"}), "zabbix.substitute_params": MagicMock(side_effect=[input_params, False]), "zabbix.run_query": MagicMock(side_effect=side_effect_run_query), "zabbix.compare_params": MagicMock(return_value={}), }, ): ret["result"] = True ret["comment"] = 'Zabbix Value map "{}" created.'.format(name) ret["changes"] = { name: { "old": 'Zabbix Value map "{}" did not exist.'.format(name), "new": 'Zabbix Value map "{}" created according definition.'. format(name), } } assert zabbix_valuemap.present(name, {}) == ret
def test_present_create(self): ''' Test to ensure that named value map is created ''' name = 'Server HP Health' ret = {'name': name, 'result': False, 'comment': '', 'changes': {}} def side_effect_run_query(*args): ''' Differentiate between __salt__ exec module function calls with different parameters. ''' if args[0] == 'valuemap.get': return False elif args[0] == 'valuemap.create': return True with patch.dict(zabbix_valuemap.__opts__, {'test': False}): with patch.dict( zabbix_valuemap.__salt__, { 'zabbix.get_zabbix_id_mapper': MagicMock(return_value={'valuemap': 'valuemapid'}), 'zabbix.substitute_params': MagicMock(side_effect=[INPUT_PARAMS, False]), 'zabbix.run_query': MagicMock(side_effect=side_effect_run_query), 'zabbix.compare_params': MagicMock(return_value={}) }): ret['result'] = True ret['comment'] = 'Zabbix Value map "{0}" created.'.format(name) ret['changes'] = { name: { 'old': 'Zabbix Value map "{0}" did not exist.'.format(name), 'new': 'Zabbix Value map "{0}" created according definition.'. format(name) } } self.assertDictEqual(zabbix_valuemap.present(name, {}), ret)
def test_present_exists(self): ''' Test to ensure that named value map is present and not changed ''' name = 'Server HP Health' ret = {'name': name, 'result': False, 'comment': '', 'changes': {}} with patch.dict(zabbix_valuemap.__opts__, {'test': False}): with patch.dict( zabbix_valuemap.__salt__, { 'zabbix.get_zabbix_id_mapper': MagicMock(return_value={'valuemap': 'valuemapid'}), 'zabbix.substitute_params': MagicMock(side_effect=[INPUT_PARAMS, EXISTING_OBJ]), 'zabbix.run_query': MagicMock(return_value=['length of result is 1']), 'zabbix.compare_params': MagicMock(return_value={}) }): ret['result'] = True ret['comment'] = 'Zabbix Value map "{0}" already exists and corresponds to a definition.'.format( name) self.assertDictEqual(zabbix_valuemap.present(name, {}), ret)