From 23c1c5bf3c2221023b56a6e2df47ab50dcd44a0a Mon Sep 17 00:00:00 2001 From: Ryan P Kilby Date: Mon, 7 Aug 2017 10:53:28 -0400 Subject: [PATCH] Add regression test for #2505. Thanks @pySilver! --- tests/test_serializer.py | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/tests/test_serializer.py b/tests/test_serializer.py index f76cec9c3..91430a193 100644 --- a/tests/test_serializer.py +++ b/tests/test_serializer.py @@ -469,6 +469,22 @@ class TestSerializerValidationWithCompiledRegexField: assert serializer.errors == {} +class Test2505Regression: + def test_serializer_context(self): + class NestedSerializer(serializers.Serializer): + def __init__(self, *args, **kwargs): + super(NestedSerializer, self).__init__(*args, **kwargs) + # .context should not cache + self.context + + class ParentSerializer(serializers.Serializer): + nested = NestedSerializer() + + serializer = ParentSerializer(data={}, context={'foo': 'bar'}) + assert serializer.context == {'foo': 'bar'} + assert serializer.fields['nested'].context == {'foo': 'bar'} + + class Test4606Regression: def setup(self): class ExampleSerializer(serializers.Serializer):