|
@@ -3,12 +3,14 @@ from __future__ import annotations
|
|
|
from base64 import b64encode
|
|
|
from typing import Any
|
|
|
|
|
|
+from django.test import override_settings
|
|
|
from rest_framework import status
|
|
|
|
|
|
from sentry import options as options_store
|
|
|
from sentry.api.serializers.base import serialize
|
|
|
+from sentry.silo.base import SiloMode
|
|
|
from sentry.testutils.cases import APITestCase
|
|
|
-from sentry.testutils.silo import control_silo_test
|
|
|
+from sentry.testutils.silo import assume_test_silo_mode, control_silo_test
|
|
|
|
|
|
|
|
|
class DocIntegrationAvatarTest(APITestCase):
|
|
@@ -58,7 +60,7 @@ class GetDocIntegrationAvatarTest(DocIntegrationAvatarTest):
|
|
|
assert serialize(doc.avatar.get()) == response.data["avatar"]
|
|
|
|
|
|
|
|
|
-@control_silo_test() # stable=True blocked on avatar File implementation
|
|
|
+@control_silo_test(stable=True)
|
|
|
class PutDocIntegrationAvatarTest(DocIntegrationAvatarTest):
|
|
|
method = "PUT"
|
|
|
|
|
@@ -81,15 +83,19 @@ class PutDocIntegrationAvatarTest(DocIntegrationAvatarTest):
|
|
|
}
|
|
|
):
|
|
|
self.login_as(user=self.superuser, superuser=True)
|
|
|
- for doc in [self.published_doc, self.draft_doc]:
|
|
|
- prev_avatar = doc.avatar.get()
|
|
|
- response = self.get_success_response(
|
|
|
- doc.slug, status_code=status.HTTP_200_OK, **self.avatar_payload
|
|
|
- )
|
|
|
- assert serialize(doc) == response.data
|
|
|
- assert serialize(doc.avatar.get()) == response.data["avatar"]
|
|
|
- assert serialize(prev_avatar) != response.data["avatar"]
|
|
|
- assert prev_avatar.control_file_id != doc.avatar.get().control_file_id
|
|
|
+
|
|
|
+ with assume_test_silo_mode(SiloMode.CONTROL), override_settings(
|
|
|
+ SILO_MODE=SiloMode.CONTROL
|
|
|
+ ):
|
|
|
+ for doc in [self.published_doc, self.draft_doc]:
|
|
|
+ prev_avatar = doc.avatar.get()
|
|
|
+ response = self.get_success_response(
|
|
|
+ doc.slug, status_code=status.HTTP_200_OK, **self.avatar_payload
|
|
|
+ )
|
|
|
+ assert serialize(doc) == response.data
|
|
|
+ assert serialize(doc.avatar.get()) == response.data["avatar"]
|
|
|
+ assert serialize(prev_avatar) != response.data["avatar"]
|
|
|
+ assert prev_avatar.control_file_id != doc.avatar.get().control_file_id
|
|
|
|
|
|
def test_upload_avatar_payload_structure(self):
|
|
|
"""
|