feat: download - download dwnload limieten in settings
This commit is contained in:
@@ -49,6 +49,16 @@ class SettingsApiGoldenTest(unittest.TestCase):
|
||||
|
||||
return asyncio.run(_run())
|
||||
|
||||
@staticmethod
|
||||
def _default_zip_download_limits() -> dict:
|
||||
return {
|
||||
"max_items": 1000,
|
||||
"max_total_input_bytes": 2147483648,
|
||||
"max_individual_file_bytes": 524288000,
|
||||
"scan_timeout_seconds": 10.0,
|
||||
"symlink_policy": "not_allowed",
|
||||
}
|
||||
|
||||
def test_settings_default_response(self) -> None:
|
||||
response = self._request("GET", "/api/settings")
|
||||
|
||||
@@ -61,6 +71,7 @@ class SettingsApiGoldenTest(unittest.TestCase):
|
||||
"preferred_startup_path_right": None,
|
||||
"selected_theme": "default",
|
||||
"selected_color_mode": "dark",
|
||||
"zip_download_limits": self._default_zip_download_limits(),
|
||||
},
|
||||
)
|
||||
|
||||
@@ -79,6 +90,7 @@ class SettingsApiGoldenTest(unittest.TestCase):
|
||||
"preferred_startup_path_right": None,
|
||||
"selected_theme": "default",
|
||||
"selected_color_mode": "dark",
|
||||
"zip_download_limits": self._default_zip_download_limits(),
|
||||
},
|
||||
)
|
||||
|
||||
@@ -102,6 +114,7 @@ class SettingsApiGoldenTest(unittest.TestCase):
|
||||
"preferred_startup_path_right": "storage1/docs",
|
||||
"selected_theme": "default",
|
||||
"selected_color_mode": "dark",
|
||||
"zip_download_limits": self._default_zip_download_limits(),
|
||||
},
|
||||
)
|
||||
self.assertEqual(
|
||||
@@ -112,6 +125,7 @@ class SettingsApiGoldenTest(unittest.TestCase):
|
||||
"preferred_startup_path_right": "storage1/docs",
|
||||
"selected_theme": "default",
|
||||
"selected_color_mode": "dark",
|
||||
"zip_download_limits": self._default_zip_download_limits(),
|
||||
},
|
||||
)
|
||||
|
||||
@@ -123,6 +137,7 @@ class SettingsApiGoldenTest(unittest.TestCase):
|
||||
self.assertEqual(response.json()["preferred_startup_path_right"], None)
|
||||
self.assertEqual(response.json()["selected_theme"], "default")
|
||||
self.assertEqual(response.json()["selected_color_mode"], "dark")
|
||||
self.assertEqual(response.json()["zip_download_limits"], self._default_zip_download_limits())
|
||||
|
||||
def test_settings_preferred_startup_path_right_persistence(self) -> None:
|
||||
response = self._request("POST", "/api/settings", {"preferred_startup_path_right": "storage1/docs"})
|
||||
@@ -132,6 +147,7 @@ class SettingsApiGoldenTest(unittest.TestCase):
|
||||
self.assertEqual(response.json()["preferred_startup_path_right"], "storage1/docs")
|
||||
self.assertEqual(response.json()["selected_theme"], "default")
|
||||
self.assertEqual(response.json()["selected_color_mode"], "dark")
|
||||
self.assertEqual(response.json()["zip_download_limits"], self._default_zip_download_limits())
|
||||
|
||||
def test_settings_preferred_startup_path_empty_string_resets_only_left_to_null(self) -> None:
|
||||
self._request(
|
||||
@@ -149,6 +165,7 @@ class SettingsApiGoldenTest(unittest.TestCase):
|
||||
self.assertEqual(response.json()["preferred_startup_path_right"], "storage1/docs")
|
||||
self.assertEqual(response.json()["selected_theme"], "default")
|
||||
self.assertEqual(response.json()["selected_color_mode"], "dark")
|
||||
self.assertEqual(response.json()["zip_download_limits"], self._default_zip_download_limits())
|
||||
|
||||
def test_settings_selected_theme_persistence(self) -> None:
|
||||
response = self._request("POST", "/api/settings", {"selected_theme": "midnight"})
|
||||
@@ -156,6 +173,7 @@ class SettingsApiGoldenTest(unittest.TestCase):
|
||||
self.assertEqual(response.status_code, 200)
|
||||
self.assertEqual(response.json()["selected_theme"], "midnight")
|
||||
self.assertEqual(response.json()["selected_color_mode"], "dark")
|
||||
self.assertEqual(response.json()["zip_download_limits"], self._default_zip_download_limits())
|
||||
|
||||
def test_settings_selected_theme_accepts_new_built_in_family(self) -> None:
|
||||
response = self._request("POST", "/api/settings", {"selected_theme": "commander-electric"})
|
||||
@@ -163,6 +181,7 @@ class SettingsApiGoldenTest(unittest.TestCase):
|
||||
self.assertEqual(response.status_code, 200)
|
||||
self.assertEqual(response.json()["selected_theme"], "commander-electric")
|
||||
self.assertEqual(response.json()["selected_color_mode"], "dark")
|
||||
self.assertEqual(response.json()["zip_download_limits"], self._default_zip_download_limits())
|
||||
|
||||
def test_settings_selected_color_mode_persistence(self) -> None:
|
||||
response = self._request("POST", "/api/settings", {"selected_color_mode": "light"})
|
||||
@@ -170,6 +189,13 @@ class SettingsApiGoldenTest(unittest.TestCase):
|
||||
self.assertEqual(response.status_code, 200)
|
||||
self.assertEqual(response.json()["selected_theme"], "default")
|
||||
self.assertEqual(response.json()["selected_color_mode"], "light")
|
||||
self.assertEqual(response.json()["zip_download_limits"], self._default_zip_download_limits())
|
||||
|
||||
def test_settings_includes_read_only_zip_download_limits(self) -> None:
|
||||
response = self._request("GET", "/api/settings")
|
||||
|
||||
self.assertEqual(response.status_code, 200)
|
||||
self.assertEqual(response.json()["zip_download_limits"], self._default_zip_download_limits())
|
||||
|
||||
def test_settings_rejects_invalid_selected_theme(self) -> None:
|
||||
response = self._request("POST", "/api/settings", {"selected_theme": "unknown"})
|
||||
|
||||
Reference in New Issue
Block a user