def test_validate_parameter_object_array_invalid(self): parameter_api = { 'name': 'name1', 'schema': { 'type': 'array', 'items': { 'type': 'object', 'properties': { 'A': { 'type': 'string' }, 'B': { 'type': 'integer' } } } } } value = [{ 'A': 'string in', 'B': '33' }, { 'A': 'string2', 'B': 'invalid' }] with self.assertRaises(InvalidArgument): validate_parameter(value, parameter_api, self.message)
def test_validate_parameter_primitive_no_formats_required_string(self): parameter_api = {'name': 'name1', 'type': 'string', 'required': True} value = 'test string' self.assertEqual( validate_parameter(value, parameter_api, self.message), value) value = '' self.assertEqual( validate_parameter(value, parameter_api, self.message), value)
def test_validate_parameter_primitive_string_format_invalid(self): parameter_api = { 'name': 'name1', 'type': 'string', 'minLength': 1, 'maxLength': 3 } value = 'test string' with self.assertRaises(InvalidArgument): validate_parameter(value, parameter_api, self.message)
def test_validate_parameter_invalid_data_type(self): parameter_api = { 'name': 'name1', 'type': 'invalid', 'minLength': 1, 'maxLength': 25, 'enum': ['test', 'test3'] } value = 'test2' with self.assertRaises(InvalidArgument): validate_parameter(value, parameter_api, self.message)
def test_validate_parameter_primitive_no_formats_not_required_valid_bool( self): parameter_api = {'name': 'name1', 'type': 'boolean'} true_values = ['true', 'True', 'TRUE', 'TrUe'] false_values = ['false', 'False', 'FALSE', 'FaLSe'] for true_value in true_values: self.assertEqual( validate_parameter(true_value, parameter_api, self.message), True) for false_value in false_values: self.assertEqual( validate_parameter(false_value, parameter_api, self.message), False)
def test_validate_parameter_primitive_string_format_valid(self): parameter_api = { 'name': 'name1', 'type': 'string', 'minLength': 1, 'maxLength': 25 } value = 'test string' self.assertEqual( validate_parameter(value, parameter_api, self.message), value)
def test_validate_parameter_object_array(self): parameter_api = { 'name': 'name1', 'schema': { 'type': 'array', 'items': { 'type': 'object', 'properties': { 'A': { 'type': 'string' }, 'B': { 'type': 'integer' } } } } } value = [{'A': 'string in', 'B': '33'}, {'A': 'string2', 'B': '7'}] validate_parameter(value, parameter_api, self.message)
def test_validate_parameter_object_from_string(self): parameter_api = { 'name': 'name1', 'schema': { 'type': 'object', 'required': ['a', 'b'], 'properties': { 'a': { 'type': 'number' }, 'b': { 'type': 'string' }, 'c': { 'type': 'boolean' } } } } value = json.dumps({'a': 435.6, 'b': 'aaaa', 'c': True}) validate_parameter(value, parameter_api, self.message)
def test_validate_parameter_primitive_no_formats_required_none(self): parameter_apis = [{ 'name': 'name1', 'type': 'string', 'required': True }, { 'name': 'name1', 'type': 'number', 'required': True }, { 'name': 'name1', 'type': 'integer', 'required': True }, { 'name': 'name1', 'type': 'boolean', 'required': True }] for parameter_api in parameter_apis: with self.assertRaises(InvalidArgument): validate_parameter(None, parameter_api, self.message)
def test_validate_parameter_object_invalid(self): parameter_api = { 'name': 'name1', 'schema': { 'type': 'object', 'required': ['a', 'b'], 'properties': { 'a': { 'type': 'number' }, 'b': { 'type': 'string' }, 'c': { 'type': 'boolean' } } } } value = {'a': 435.6, 'invalid': 'aaaa', 'c': True} with self.assertRaises(InvalidArgument): validate_parameter(value, parameter_api, self.message)
def test_validate_parameter_primitive_not_required_none(self): parameter_apis = [{ 'name': 'name1', 'type': 'string', 'required': False }, { 'name': 'name1', 'type': 'number', 'required': False }, { 'name': 'name1', 'type': 'integer' }, { 'name': 'name1', 'type': 'boolean' }] for parameter_api in parameter_apis: self.assertIsNone( validate_parameter(None, parameter_api, self.message))
def test_validate_parameter_primitive_no_formats_invalid_integer_cause_float_string( self): parameter_api = {'name': 'name1', 'type': 'integer'} value = '3.27' with self.assertRaises(InvalidArgument): validate_parameter(value, parameter_api, self.message)
def test_validate_parameter_primitive_no_formats_invalid_boolean(self): parameter_api = {'name': 'name1', 'type': 'boolean'} value = 'abc' with self.assertRaises(InvalidArgument): validate_parameter(value, parameter_api, self.message)
def test_validate_parameter_primitive_role(self): parameter_api = {'name': 'name1', 'type': 'role'} value = '42' self.assertEqual( validate_parameter(value, parameter_api, self.message), 42)
def test_validate_parameter_primitive_user(self): parameter_api = {'name': 'name1', 'type': 'user'} value = '3' self.assertEqual( validate_parameter(value, parameter_api, self.message), 3)
def test_validate_parameter_primitive_no_formats_not_required_valid_negative_int( self): parameter_api = {'name': 'name1', 'type': 'integer'} value = '-3' self.assertEqual( validate_parameter(value, parameter_api, self.message), -3)
def test_validate_parameter_primitive_no_formats_not_required_valid_int_from_float( self): parameter_api = {'name': 'name1', 'type': 'integer'} value = 3.27 self.assertEqual( validate_parameter(value, parameter_api, self.message), 3)
def test_validate_parameter_primitive_no_formats_not_required_valid_number( self): parameter_api = {'name': 'name1', 'type': 'number'} value = '3.27' self.assertEqual( validate_parameter(value, parameter_api, self.message), 3.27)
def test_validate_parameter_primitive_no_formats_invalid_role_cause_0( self): parameter_api = {'name': 'name1', 'type': 'role'} value = '0' with self.assertRaises(InvalidArgument): validate_parameter(value, parameter_api, self.message)