#!/usr/bin/env python3 """Standalone contract test for Blaze roster-host advertisement.""" import importlib import os import sys TOOLS = os.path.dirname(os.path.abspath(__file__)) if TOOLS not in sys.path: sys.path.insert(0, TOOLS) ADVERTISE = "192.0.2.10" DNS_HOST = "winter15.gosredirector.ea.com:8081" def assert_roster_config(blaze, host): config = dict(blaze.OSDK_ROSTER) assert blaze.ROSTER_HOST == host assert config["ROSTERUPDATE_URL"] == ( f"https://{host}/fifa17/fut/rosterupdate.xml" ) assert config["ROSTER_URL"] == f"https://{host}/fifa17/roster/" assert config["ROSTER_VER"] == "0" assert config["ROSTER_CSUM"] == "" def main(): old_advertise = os.environ.get("OPENFUT_ADVERTISE") old_roster_host = os.environ.get("OPENFUT_ROSTER_HOST") try: os.environ["OPENFUT_ADVERTISE"] = ADVERTISE os.environ.pop("OPENFUT_ROSTER_HOST", None) import blaze_responder_v3b as blaze blaze = importlib.reload(blaze) assert_roster_config(blaze, f"{ADVERTISE}:8081") os.environ["OPENFUT_ROSTER_HOST"] = DNS_HOST blaze = importlib.reload(blaze) assert_roster_config(blaze, DNS_HOST) os.environ["OPENFUT_ROSTER_HOST"] = "" blaze = importlib.reload(blaze) assert_roster_config(blaze, f"{ADVERTISE}:8081") finally: if old_advertise is None: os.environ.pop("OPENFUT_ADVERTISE", None) else: os.environ["OPENFUT_ADVERTISE"] = old_advertise if old_roster_host is None: os.environ.pop("OPENFUT_ROSTER_HOST", None) else: os.environ["OPENFUT_ROSTER_HOST"] = old_roster_host print("PASS: roster host defaults, override, and URLs") return 0 if __name__ == "__main__": raise SystemExit(main())