test_api_basic.py 1.3 KB

123456789101112131415161718192021222324252627282930313233
  1. import os
  2. from conftest import DeSECAPIV1Client, DeSECAPIV2Client
  3. def test_homepage(api_anon: DeSECAPIV1Client):
  4. assert api_anon.get("/").json() == {
  5. "register": f"{api_anon.base_url}/auth/",
  6. "login": f"{api_anon.base_url}/auth/login/",
  7. "reset-password": f"{api_anon.base_url}/auth/account/reset-password/",
  8. }
  9. def test_homepage_CORS(api_anon: DeSECAPIV1Client):
  10. api_anon.headers['Origin'] = 'http://foo.example'
  11. assert api_anon.get("/").headers['access-control-allow-origin'] == '*'
  12. api_anon.headers['Access-Control-Request-Headers'] = 'Authorization'
  13. api_anon.headers['Access-Control-Request-Method'] = 'POST'
  14. assert 'authorization' in api_anon.options("/").headers['access-control-allow-headers'].split(', ')
  15. def test_homepage_v2(api_anon_v2: DeSECAPIV2Client):
  16. assert api_anon_v2.get("/").json() == {
  17. "register": f"{api_anon_v2.base_url}/auth/",
  18. "login": f"{api_anon_v2.base_url}/auth/login/",
  19. "reset-password": f"{api_anon_v2.base_url}/auth/account/reset-password/",
  20. }
  21. def test_get_desec_io(api_anon: DeSECAPIV1Client):
  22. response = api_anon.get("https://get.desec." + os.environ['DESECSTACK_DOMAIN'], allow_redirects=False)
  23. assert 300 < response.status_code < 400
  24. assert response.headers['Location'] == f"https://desec.{os.environ['DESECSTACK_DOMAIN']}/"