37 lines
1.4 KiB
Python
37 lines
1.4 KiB
Python
from __future__ import annotations
|
|
|
|
import unittest
|
|
|
|
from govoplan_files.backend.router import router
|
|
|
|
|
|
class FilesRouterContractTests(unittest.TestCase):
|
|
def test_connector_routes_keep_existing_api_paths(self) -> None:
|
|
routes = {(tuple(sorted(route.methods or ())), route.path) for route in router.routes}
|
|
|
|
expected = {
|
|
(("GET",), "/files/connectors/providers"),
|
|
(("GET",), "/files/connectors/settings/delta"),
|
|
(("GET",), "/files/connectors/profiles"),
|
|
(("POST",), "/files/connectors/profiles"),
|
|
(("GET",), "/files/connectors/profiles/{profile_id}/browse"),
|
|
(("POST",), "/files/connectors/profiles/{profile_id}/import"),
|
|
(("POST",), "/files/connectors/profiles/{profile_id}/sync"),
|
|
(("GET",), "/files/connectors/credentials"),
|
|
(("POST",), "/files/connectors/credentials"),
|
|
(("GET",), "/files/connector-spaces"),
|
|
(("POST",), "/files/connector-spaces"),
|
|
}
|
|
|
|
self.assertTrue(expected.issubset(routes))
|
|
|
|
def test_bulk_organize_routes_keep_existing_api_paths(self) -> None:
|
|
routes = {(tuple(sorted(route.methods or ())), route.path) for route in router.routes}
|
|
|
|
self.assertIn((("POST",), "/files/bulk-rename"), routes)
|
|
self.assertIn((("POST",), "/files/transfer"), routes)
|
|
|
|
|
|
if __name__ == "__main__":
|
|
unittest.main()
|