class TestRequestBodyWithSchema(TestCase): def setUp(self): valid_body = dict(schema=('arg1', 'arg2'), required=('arg1', )) self.b = Body({}, **valid_body) def test_with_body_empty_and_schema_permissive(self): self.b.schema = ('arg1', 'arg2', '...') self.b.required = () self.assertEqual(self.b.dumps(), {}) def test_with_required(self): self.b.content = dict(arg1='arg1') self.assertEqual(self.b.dumps(), dict(arg1='arg1')) def test_without_required(self): self.b.content = dict(arg2='arg2') self.assertRaises(ValidationError, self.b.dumps) def test_with_invalid(self): self.b.content = 'invalid' self.assertRaises(ValidationError, self.b.dumps) def test_with_body_as_None(self): self.b.content = None self.assertRaises(ValidationError, self.b.dumps) def test_only_valid_keys(self): self.b.content = dict(arg1='arg1', arg2='arg2', fake='test') self.assertEqual(self.b.dumps(), dict(arg1='arg1', arg2='arg2'))
def setUp(self): valid_body = dict(schema=('arg1', 'arg2'), required=('arg1', )) self.b = Body({}, **valid_body)