def test_check_dict_parameters(self): template = {'name': {'required': True, 'default': None, 'type': str}, 'addPoolUnitParameters': {'required': True, 'default': None, 'type': str}, 'description': {'required': False, 'default': None, 'type': str} } params = {'name': 's123', 'addPoolUnitParameters': 's123', 'description': 'asdasd' } self.assertTrue(validator.check_parameters(params, template)['result'])
def test_check_dict_parameters_without_two_required(self): template = {'name': {'required': True, 'default': None, 'type': str}, 'addPoolUnitParameters': {'required': True, 'default': None, 'type': str}, 'description': {'required': False, 'default': None, 'type': str} } params = { 'description': 'asdasd' } reply = validator.check_parameters(params, template) self.assertEqual('Required parameters: name, addPoolUnitParameters was not found.', reply['message'])
def test_check_dict_parameters_without_required_but_with_default(self): template = {'name': {'required': True, 'default': 'pool_1', 'type': str}, 'addPoolUnitParameters': {'required': True, 'default': None, 'type': str}, 'description': {} } params = { 'addPoolUnitParameters': 's123', } res = validator.check_parameters(params, template) self.assertTrue(res['result'])
def test_check_dict_object_type(self): template = {'name': {'required': True, 'default': 'pool_1', 'type': None}, 'addPoolUnitParameters': {'required': True, 'default': None, 'type': object}, 'description': {} } params = { 'addPoolUnitParameters': {1:2}, } res = validator.check_parameters(params, template) self.assertTrue(res['result'])
def test_check_dict_parameters_wrong_type(self): template = {'name': {'required': True, 'default': None, 'type': str}, 'addPoolUnitParameters': {'required': True, 'default': None, 'type': str}, 'description': {'required': False, 'default': None, 'type': str} } params = { 'name': 1, 'addPoolUnitParameters': 's123', 'description': 'asdasd' } reply = validator.check_parameters(params, template) self.assertEqual('name must be str, not int.', reply['message'])
def test_check_with_two_unsupported_params(self): template = {'name': {'required': True, 'default': None, 'type': str}, 'addPoolUnitParameters': {'required': True, 'default': None, 'type': str}, 'description': {'required': False, 'default': None, 'type': str} } params = {'name': 's123', 'addPoolUnitParameters': 's123', 'description': 'asdasd', 'vadim': 1, 'sychev': 2 } res = validator.check_parameters(params, template) self.assertFalse(res['result'])
def do_update_request(unity, params, params_types, rest_object, action): """ Send POST and DELETE requests using common algorithm :param unity: an instance of class Unity :param params: params from *.yml file this params will be put into unity.update(...) :param params_types: types of parameters, used by validator.check_parameters(...) :param rest_object: REST object, will be put into unity.update(...) :param action: name of action, it should be same as in URL, will be put into unity.update(...) :return: reply from Unity system """ check_result = validator.check_parameters(params, params_types) if not check_result[constants.VALIDATOR_RESULT]: supportive_functions.raise_exception_about_parameters( check_result[constants.VALIDATOR_MESSAGE]) reply = unity.update(action, rest_object, params) return reply
def test_value_in_enum(self): params_type = {'name': {'required': True, 'default': 'pool_1', 'type': str}, 'addPoolUnitParameters': {'required': True, 'default': None, 'type': str}, 'description': {}, 'type': {'required': False, 'default': None, 'type': rest_supported_enums.HostTypeEnum} } params = { 'name': 'kek', 'addPoolUnitParameters': 's123', 'description': 'asdasd', 'type': 1 } result = validator.check_parameters(params, params_type) self.assertTrue(result['result'])
def test_enum_check(self): params_type = {'name': {'required': True, 'default': 'pool_1', 'type': str}, 'addPoolUnitParameters': {'required': True, 'default': None, 'type': str}, 'description': {}, 'type': {'required': False, 'default': None, 'type': rest_supported_enums.HostTypeEnum} } params = { 'name': 'kek', 'addPoolUnitParameters': 's123', 'description': 'test description', 'type': 'RPa' } result = validator.check_parameters(params, params_type) self.assertEqual(params['type'], 4)
def test_check_parameters_normal(self): params = {'test1': '1', 'test2': '2', 'test3': '3'} params_type = {'required': {'test1', 'test2'}, 'optional': {'test3', 'test5'}} result = validator.check_parameters(params, params_type) self.assertTrue(result[constants.VALIDATOR_RESULT])
def test_check_parameters_only_required(self): params = {'id': '1', 'test2': '2'} params_type = {'required': {'id', 'test2'}} result = validator.check_parameters(params, params_type) self.assertTrue(result['result'])
def test_err_not_supported_param(self): params = {'test1': '1', 'test2': '2', 'test3': '3', 'vadim': 3} params_type = {'required': {'test1', 'test2'}, 'optional': {'test3', 'test5'}} result = validator.check_parameters(params, params_type) self.assertEqual('Parameters: vadim are not supported.', result['message'])
def test_params_not_supported_param(self): params = {'test1': '1', 'test2': '2', 'test3': '3', 'vadim': 3} params_type = {'required': {'test1', 'test2'}, 'optional': {'test3', 'test5'}} result = validator.check_parameters(params, params_type) self.assertFalse(result['result'])
def test_params_without_required(self): params = {'test2': '2', 'test3': '3'} params_type = {'required': {'test1', 'test2'}, 'optional': {'test3', 'test5'}} result = validator.check_parameters(params, params_type) self.assertFalse(result['result'])