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'])
Beispiel #7
0
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'])