Browse Source

fix: Use expected tags format (#11646)

Alex Hofsteede 6 years ago
parent
commit
73d08c40a2

+ 7 - 2
src/sentry/api/serializers/models/event.py

@@ -318,8 +318,13 @@ class SnubaEventSerializer(Serializer):
         keys = getattr(obj, 'tags.key', None)
         values = getattr(obj, 'tags.value', None)
         if keys and values and len(keys) == len(values):
-            return dict(zip(keys, values))
-        return None
+            return sorted([
+                {
+                    'key': k.split('sentry:', 1)[-1],
+                    'value': v,
+                } for (k, v) in zip(keys, values)
+            ], key=lambda x: x['key'])
+        return []
 
     def serialize(self, obj, attrs, user):
         result = {

+ 2 - 2
tests/snuba/api/endpoints/test_group_events.py

@@ -265,7 +265,7 @@ class GroupEventsTest(APITestCase, SnubaTestCase):
             group=group,
             message="foo",
             tags={
-                'logger': 'python',
+                'logger': 'python'
             }
         )
 
@@ -273,7 +273,7 @@ class GroupEventsTest(APITestCase, SnubaTestCase):
 
         assert response.status_code == 200, response.content
         assert len(response.data) == 1
-        assert response.data[0]['tags']['logger'] == 'python'
+        assert response.data[0]['tags'][0] == {'key': 'logger', 'value': 'python'}
 
     @freeze_time()
     def test_date_filters(self):