| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- # -*- coding: utf-8 -*-
- import pytest
- from app.visa_free_config_fetchers import get_fetcher
- from app.services.visa_free_config_service import fetch_visa_free_config
- def test_vfs_fetcher_free_config():
- fetcher = get_fetcher("vfs")
- cfg = fetcher.fetch_free_config(origin="ie", target="nl", visa_type="tourist", vac_code="dub")
- assert cfg["mission_code"] == "nld"
- assert "apt_configs" in cfg
- routing_key = "slot.dub.nl.tourist"
- assert routing_key in cfg["apt_configs"]
- assert cfg["apt_configs"][routing_key]["vac_code"] == "NTDB"
- def test_bls_fetcher_free_config():
- fetcher = get_fetcher("bls")
- cfg = fetcher.fetch_free_config(origin="ie", target="es", visa_type="tourist", vac_code="dub")
- assert cfg["domain"] == "ireland.blsspainglobal.com"
- def test_tls_fetcher_free_config():
- fetcher = get_fetcher("tls")
- cfg = fetcher.fetch_free_config(origin="gb", target="fr", visa_type="tourist", vac_code="lon")
- assert cfg["location"] == "London"
- assert cfg["site_id"] == "gbLON2fr"
- def test_tls_fetcher_auto_generate():
- fetcher = get_fetcher("tls")
- cfg = fetcher.fetch_free_config(origin="cn", target="fr", visa_type="tourist", vac_code="can")
- assert cfg["tls_url"] == "https://visas-fr.tlscontact.com/en-us/country/cn/vac/cnCAN2fr"
- assert cfg["site_id"] == "cnCAN2fr"
- assert cfg["location"] == "Guangzhou"
- def test_pol_fetcher_auto_generate():
- cfg = fetch_visa_free_config(provider="pol", origin="cn", target="pl", visa_type="tourist", vac="bjs")
- assert cfg["service_type"] == "Wiza Schengen"
- assert cfg["location"] == "Beijing"
- def test_de_fetcher_auto_generate():
- cfg = fetch_visa_free_config(provider="de", origin="cn", target="de", visa_type="tourist", vac="bjs")
- assert cfg["base_url"] == "https://cn-appointment.visametric.com"
- assert cfg["consularid"] == 1
- def test_usa_fetcher_free_config():
- cfg = fetch_visa_free_config(provider="usa", origin="cn", target="us", visa_type="tourist", vac="bjs")
- assert cfg["usa_url"] == "https://www.usvisascheduling.com"
- assert cfg["location"] == "BEIJING"
- from fastapi.testclient import TestClient
- from app.main import app
- from app.core.auth import get_current_user
- class DummyUser:
- id = 1
- role = "user"
- app.dependency_overrides[get_current_user] = lambda: DummyUser()
- client = TestClient(app)
- def test_visa_free_config_http_post():
- response = client.post("/api/visa/free-config/fetch", json={
- "provider": "tls",
- "origin": "cn",
- "target": "fr",
- "visa_type": "tourist",
- "vac": "can"
- })
- assert response.status_code == 200
- body = response.json()
- assert body["code"] == 0
- assert body["data"]["tls_url"] == "https://visas-fr.tlscontact.com/en-us/country/cn/vac/cnCAN2fr"
- def test_visa_free_config_http_get():
- response = client.get("/api/visa/free-config/fetch?provider=usa&origin=cn&target=us&visa_type=tourist&vac=bjs")
- assert response.status_code == 200
- body = response.json()
- assert body["code"] == 0
- assert body["data"]["usa_url"] == "https://www.usvisascheduling.com"
|