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()