forked from erp-dev/erp
fix: appversions
This commit is contained in:
@@ -40,6 +40,8 @@ Env.read_env(str(BASE_DIR / '.env'))
|
||||
# 允许一次请求携带更多表单字段,避免 admin 批量操作时报 TooManyFieldsSent
|
||||
# Django 默认 DATA_UPLOAD_MAX_NUMBER_FIELDS=1000,当一次 POST/GET 的字段(含重复 key)过多会直接抛异常。
|
||||
DATA_UPLOAD_MAX_NUMBER_FIELDS = env.int('DATA_UPLOAD_MAX_NUMBER_FIELDS', default=20000)
|
||||
DATA_UPLOAD_MAX_MEMORY_SIZE = env.int('DATA_UPLOAD_MAX_MEMORY_SIZE', default=200 * 1024 * 1024)
|
||||
FILE_UPLOAD_MAX_MEMORY_SIZE = env.int('FILE_UPLOAD_MAX_MEMORY_SIZE', default=10 * 1024 * 1024)
|
||||
|
||||
# Quick-start development settings - unsuitable for production
|
||||
# See https://docs.djangoproject.com/en/5.2/howto/deployment/checklist/
|
||||
|
||||
@@ -119,6 +119,39 @@ class AppVersionAPITest(TestCase):
|
||||
self.assertFalse(first.is_current)
|
||||
self.assertTrue(second.is_current)
|
||||
|
||||
def test_package_file_does_not_override_download_url(self):
|
||||
app_version = AppVersion.objects.create(
|
||||
major=3,
|
||||
minor=0,
|
||||
build=300,
|
||||
package_file="app_versions/broken-upload.apk",
|
||||
download_url="https://example.com/manual-url.apk",
|
||||
is_current=True,
|
||||
)
|
||||
|
||||
response = self.client.get("/api/app-version/")
|
||||
|
||||
app_version.refresh_from_db()
|
||||
self.assertEqual(app_version.download_url, "https://example.com/manual-url.apk")
|
||||
self.assertEqual(response.status_code, 200)
|
||||
self.assertEqual(response.data["download_url"], "https://example.com/manual-url.apk")
|
||||
|
||||
def test_package_file_sets_download_url_when_url_is_empty(self):
|
||||
app_version = AppVersion.objects.create(
|
||||
major=3,
|
||||
minor=1,
|
||||
build=310,
|
||||
package_file="app_versions/uploaded.apk",
|
||||
is_current=True,
|
||||
)
|
||||
|
||||
response = self.client.get("/api/app-version/")
|
||||
|
||||
app_version.refresh_from_db()
|
||||
self.assertTrue(app_version.download_url.endswith("/app_versions/uploaded.apk"))
|
||||
self.assertEqual(response.status_code, 200)
|
||||
self.assertEqual(response.data["download_url"], app_version.download_url)
|
||||
|
||||
def test_set_app_version_command_updates_cached_api_payload_with_defaults(self):
|
||||
output = StringIO()
|
||||
call_command(
|
||||
|
||||
Reference in New Issue
Block a user