解决登录和oss问题
This commit is contained in:
1 parent
30c2e44dc0
commit
cd007e2f6a
15 files changed
+154
-12
No files matched your search
@@ -40,6 +40,7 @@ def test_resolve_media_url_only_signs_the_configured_oss_host(monkeypatch):
|
||||
oss_access_key_id="test-access-key",
|
||||
oss_access_key_secret="test-access-secret",
|
||||
oss_endpoint="oss-cn-guangzhou.aliyuncs.com",
|
||||
oss_public_base_url="https://one-feel-ota-data.oss-cn-guangzhou.aliyuncs.com",
|
||||
oss_bucket_name="one-feel-ota-data",
|
||||
),
|
||||
)
|
||||
@@ -55,6 +56,29 @@ def test_resolve_media_url_only_signs_the_configured_oss_host(monkeypatch):
|
||||
assert media_urls.resolve_media_url(external_url) == external_url
|
||||
|
||||
|
||||
def test_resolve_media_url_rewrites_legacy_internal_oss_host_before_signing(monkeypatch):
|
||||
monkeypatch.setattr(
|
||||
media_urls,
|
||||
"get_settings",
|
||||
lambda: SimpleNamespace(
|
||||
oss_access_key_id="test-access-key",
|
||||
oss_access_key_secret="test-access-secret",
|
||||
oss_endpoint="oss-cn-guangzhou-internal.aliyuncs.com",
|
||||
oss_public_base_url="https://one-feel-ota-data.oss-cn-guangzhou.aliyuncs.com",
|
||||
oss_bucket_name="one-feel-ota-data",
|
||||
),
|
||||
)
|
||||
monkeypatch.setattr(media_urls, "time", lambda: 1_800_000_000)
|
||||
legacy_url = "https://one-feel-ota-data.oss-cn-guangzhou-internal.aliyuncs.com/admin/image.webp"
|
||||
|
||||
signed = media_urls.resolve_media_url(legacy_url)
|
||||
parsed = urlsplit(signed)
|
||||
|
||||
assert parsed.netloc == "one-feel-ota-data.oss-cn-guangzhou.aliyuncs.com"
|
||||
assert parsed.path == "/admin/image.webp"
|
||||
assert parse_qs(parsed.query)["OSSAccessKeyId"] == ["test-access-key"]
|
||||
|
||||
|
||||
def test_resolve_media_fields_signs_common_image_fields(monkeypatch):
|
||||
monkeypatch.setattr(
|
||||
"app.serializers.resolve_media_url",
|
||||
|
||||
Reference in new issue
Block a user