Browse Source

feat(SessionSerializer): Deprecate transitional serializer (#33291)

Richard Ma 2 years ago
parent
commit
0a033516f4

+ 0 - 2
src/sentry/conf/server.py

@@ -453,8 +453,6 @@ SESSION_COOKIE_NAME = "sentrysid"
 # See here: https://docs.djangoproject.com/en/2.1/ref/settings/#session-cookie-samesite
 SESSION_COOKIE_SAMESITE = None
 
-SESSION_SERIALIZER = "sentry.utils.transitional_serializer.TransitionalSerializer"
-
 BITBUCKET_CONSUMER_KEY = ""
 BITBUCKET_CONSUMER_SECRET = ""
 

+ 0 - 25
src/sentry/utils/transitional_serializer.py

@@ -1,25 +0,0 @@
-from json.decoder import JSONDecodeError
-from typing import Any, Dict
-
-from django.contrib.sessions.serializers import PickleSerializer
-from django.core.signing import JSONSerializer
-
-from sentry.utils import metrics
-
-
-class TransitionalSerializer:
-    def __init__(self) -> None:
-        self.pickle_serializer = PickleSerializer()
-        self.json_serializer = JSONSerializer()
-
-    def dumps(self, obj: Dict[str, Any]) -> bytes:
-        metrics.incr("transitional_serializer.json_write")
-        return self.json_serializer.dumps(obj)
-
-    def loads(self, data: bytes) -> Dict[str, Any]:
-        try:
-            metrics.incr("transitional_serializer.json_read")
-            return self.json_serializer.loads(data)
-        except JSONDecodeError:
-            metrics.incr("transitional_serializer.pickle_read")
-            return self.pickle_serializer.loads(data)

+ 0 - 24
tests/sentry/utils/test_transitional_serializer.py

@@ -1,24 +0,0 @@
-from django.contrib.sessions.serializers import PickleSerializer
-from django.core.signing import JSONSerializer
-from django.test.testcases import TestCase
-
-from sentry.utils.transitional_serializer import TransitionalSerializer
-
-
-class TransitionalSerializerTest(TestCase):
-    obj = {"id": 1, "user": "user", "email": "email"}
-    p_serializer = PickleSerializer()
-    j_serializer = JSONSerializer()
-    pickle_obj = p_serializer.dumps(obj)
-    json_obj = j_serializer.dumps(obj)
-
-    transitional_serializer = TransitionalSerializer()
-
-    def test_read_json(self):
-        assert self.transitional_serializer.loads(self.json_obj) == self.obj
-
-    def test_read_pickle(self):
-        assert self.transitional_serializer.loads(self.pickle_obj) == self.obj
-
-    def test_write(self):
-        assert self.transitional_serializer.dumps(self.obj) == self.json_obj