mirror of
https://github.com/Such-Software/adaptive-multi-protocol-browser.git
synced 2026-10-17 22:41:25 +02:00
61 lines
1.9 KiB
Python
61 lines
1.9 KiB
Python
from __future__ import annotations
|
|
|
|
import unittest
|
|
|
|
from ampbrowser.routing import route_url
|
|
|
|
|
|
class RouteUrlTest(unittest.TestCase):
|
|
def test_defaults_plain_host_to_https_clearnet(self) -> None:
|
|
route = route_url("wownero.org")
|
|
|
|
self.assertEqual("https://wownero.org", route.normalized)
|
|
self.assertEqual("clearnet", route.transport)
|
|
self.assertEqual("clearnet", route.profile)
|
|
|
|
def test_routes_onion_hosts_to_tor(self) -> None:
|
|
route = route_url("http://example.onion/")
|
|
|
|
self.assertEqual("tor", route.transport)
|
|
self.assertEqual("tor", route.profile)
|
|
|
|
def test_routes_i2p_hosts_to_i2p(self) -> None:
|
|
route = route_url("http://example.b32.i2p/")
|
|
|
|
self.assertEqual("i2p", route.transport)
|
|
self.assertEqual("i2p", route.profile)
|
|
|
|
def test_routes_gemini_scheme(self) -> None:
|
|
route = route_url("gemini://wownero.org/")
|
|
|
|
self.assertEqual("gemini", route.transport)
|
|
self.assertEqual("gemini", route.profile)
|
|
|
|
def test_routes_ipfs_scheme(self) -> None:
|
|
route = route_url("ipfs://bafyexample")
|
|
|
|
self.assertEqual("ipfs", route.transport)
|
|
self.assertEqual("ipfs", route.profile)
|
|
|
|
def test_routes_ipns_scheme(self) -> None:
|
|
route = route_url("ipns://wownero.example")
|
|
|
|
self.assertEqual("ipfs", route.transport)
|
|
self.assertEqual("ipfs", route.profile)
|
|
|
|
def test_routes_ipfs_gateway_path(self) -> None:
|
|
route = route_url("/ipfs/bafyexample")
|
|
|
|
self.assertEqual("ipfs://bafyexample", route.normalized)
|
|
self.assertEqual("ipfs", route.transport)
|
|
|
|
def test_routes_reticulum_family_scheme(self) -> None:
|
|
route = route_url("rns://wownero")
|
|
|
|
self.assertEqual("reticulum", route.transport)
|
|
self.assertEqual("reticulum", route.profile)
|
|
|
|
|
|
if __name__ == "__main__":
|
|
unittest.main()
|