def test_validate_list_max(self): report = validate_shape(self.model.get_shape('TestShape'), [ {"foo": ""}, {"foo": ""}, ]) self.assertEqual(len(report), 1) self.assertEqual(report[0].code, "invalid_range")
def test_validate_max(self): report = validate_shape(self.model.get_shape('TestShape'), { "a": "b", "c": "d", }) self.assertEqual(len(report), 1) self.assertEqual(report[0].code, "invalid_range")
def test_validate_child_child_type_check(self): report = validate_shape( self.model.get_shape('TestShape'), [{"foo": 1}] ) self.assertEqual(len(report), 1) self.assertEqual(report[0].code, "invalid_type") self.assertEqual(report[0].field, "[0].foo")
def test_validate_structure_unknown_param(self): report = validate_shape( self.model.get_shape('TestShape'), {"foo": "a", "bar": "a"} ) self.assertEqual(len(report), 1) self.assertEqual(report[0].code, "unexpected_field") self.assertEqual(report[0].field, "bar")
def test_validate_string_no(self): model = Model({ 'shapes': { 'TestShape': { 'type': 'string', } } }) report = validate_shape(model.get_shape('TestShape'), "test") self.assertEqual(len(report), 0)
def test_validate_string_type_check(self): model = Model({ 'shapes': { 'TestShape': { 'type': 'string', } } }) report = validate_shape(model.get_shape('TestShape'), 55) self.assertEqual(len(report), 1) self.assertEqual(report[0].code, "invalid_type")
def test_validate_string_regex_check(self): model = Model({ 'shapes': { 'TestShape': { 'type': 'string', 'regex': '^$', } } }) report = validate_shape(model.get_shape('TestShape'), "foo") self.assertEqual(len(report), 1) self.assertEqual(report[0].code, "value_fails_regex")
def test_validate_string_max_fail(self): model = Model({ 'shapes': { 'TestShape': { 'type': 'string', 'max': 1, } } }) report = validate_shape(model.get_shape('TestShape'), "test") self.assertEqual(len(report), 1) self.assertEqual(report[0].code, "invalid_range")
def test_validate_integer_0(self): report = validate_shape(self.model.get_shape('TestShape'), 0) self.assertEqual(len(report), 0)
def test_validate_integer_type_check(self): report = validate_shape(self.model.get_shape('TestShape'), "55") self.assertEqual(len(report), 1) self.assertEqual(report[0].code, "invalid_type")
def test_validate_integer_max(self): report = validate_shape(self.model.get_shape('TestShape'), -1) self.assertEqual(len(report), 1) self.assertEqual(report[0].code, "invalid_range")
def test_validate_bool_false(self): report = validate_shape(self.model.get_shape('TestShape'), False) self.assertEqual(len(report), 0)
def test_validate_map_value(self): report = validate_shape(self.model.get_shape('TestShape'), {"foo": 1}) self.assertEqual(len(report), 1) self.assertEqual(report[0].code, "invalid_type")
def test_validate_structure_missing_required(self): report = validate_shape(self.model.get_shape('TestShape'), {}) self.assertEqual(len(report), 1) self.assertEqual(report[0].code, "required_field_missing") self.assertEqual(report[0].field, "foo")
def test_validate_structure_type_check(self): report = validate_shape(self.model.get_shape('TestShape'), 55) self.assertEqual(len(report), 1) self.assertEqual(report[0].code, "invalid_type")