def test_validate_parameters_missing_required_without_default(self): parameter_apis = [{ 'name': 'name1', 'type': 'string', 'minLength': 1, 'maxLength': 25, 'enum': ['test', 'test3'] }, { 'name': 'name2', 'type': 'integer', 'minimum': -3, 'maximum': 25 }, { 'name': 'name3', 'type': 'number', 'required': True, 'minimum': -10.5, 'maximum': 30.725 }] arguments = [ Argument('name1', value='test'), Argument('name2', value='5') ] with self.assertRaises(InvalidArgument): validate_parameters(parameter_apis, arguments, self.message)
def test_validate_parameters_invalid_no_defaults(self): parameter_apis = [{ 'name': 'name1', 'type': 'string', 'minLength': 1, 'maxLength': 25, 'enum': ['test', 'test3'] }, { 'name': 'name2', 'type': 'integer', 'minimum': -3, 'maximum': 25 }, { 'name': 'name3', 'type': 'number', 'minimum': -10.5, 'maximum': 30.725 }] arguments = { 'name1': Argument('name1', value='test'), 'name2': Argument('name2', value='5'), 'name3': Argument('name3', value='-11.2378') } with self.assertRaises(InvalidArgument): validate_parameters(parameter_apis, arguments, self.message)
def test_validate_parameters_skip_action_references_inputs_non_string( self): parameter_apis = [{ 'name': 'name1', 'type': 'string', 'minLength': 1, 'maxLength': 25, 'enum': ['test', 'test3'] }, { 'name': 'name2', 'type': 'integer', 'minimum': -3, 'maximum': 25 }, { 'name': 'name3', 'type': 'number', 'required': True, 'minimum': -10.5, 'maximum': 30.725 }] arguments = [ Argument('name1', value='test'), Argument('name2', value=5), Argument('name3', reference='action1') ] expected = {'name1': 'test', 'name2': 5} self.assertDictEqual( validate_parameters(parameter_apis, arguments, self.message), expected)
def test_validate_parameters_missing_without_default(self): parameter_apis = [{ 'name': 'name1', 'type': 'string', 'minLength': 1, 'maxLength': 25, 'enum': ['test', 'test3'] }, { 'name': 'name2', 'type': 'integer', 'minimum': -3, 'maximum': 25 }, { 'name': 'name3', 'type': 'number', 'minimum': -10.5, 'maximum': 30.725 }] arguments = [ Argument('name1', value='test'), Argument('name2', value='5') ] expected = {'name1': 'test', 'name2': 5, 'name3': None} self.assertAlmostEqual( validate_parameters(parameter_apis, arguments, self.message), expected)
def test_validate_parameters_all_valid_no_defaults(self): parameter_apis = [{ 'name': 'name1', 'type': 'string', 'minLength': 1, 'maxLength': 25, 'enum': ['test', 'test3'] }, { 'name': 'name2', 'type': 'integer', 'minimum': -3, 'maximum': 25 }, { 'name': 'name3', 'type': 'number', 'minimum': -10.5, 'maximum': 30.725 }] arguments = { 'name1': Argument('name1', value='test'), 'name2': Argument('name2', value='5'), 'name3': Argument('name3', value='10.2378') } expected = {'name1': 'test', 'name2': 5, 'name3': 10.2378} self.assertDictEqual( validate_parameters(parameter_apis, arguments, self.message), expected)
def test_validate_parameters_too_many_inputs(self): parameter_apis = [{ 'name': 'name1', 'type': 'string', 'minLength': 1, 'maxLength': 25, 'enum': ['test', 'test3'] }, { 'name': 'name2', 'type': 'integer', 'minimum': -3, 'maximum': 25 }] arguments = [ Argument('name1', value='test'), Argument('name2', value='5'), Argument('name3', value='-11.2378') ] with self.assertRaises(InvalidArgument): validate_parameters(parameter_apis, arguments, self.message)