Skip to content

Commit 7c4df07

Browse files
committed
Default simulation gateway URL in staged deploys
1 parent b12c549 commit 7c4df07

4 files changed

Lines changed: 23 additions & 6 deletions

File tree

.github/scripts/validate_app_engine_deploy_env.sh

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
set -euo pipefail
44

55
required=(
6-
SIMULATION_API_URL
76
GATEWAY_AUTH_ISSUER
87
GATEWAY_AUTH_AUDIENCE
98
GATEWAY_AUTH_CLIENT_ID

gcp/export.py

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,10 @@
11
import os
22
from pathlib import Path
33

4+
DEFAULT_SIMULATION_API_URL = (
5+
"https://policyengine--policyengine-simulation-gateway-web-app.modal.run"
6+
)
7+
48
GAE = os.environ["GOOGLE_APPLICATION_CREDENTIALS"]
59
# If it's a filepath, read the file. Otherwise, it'll be JSON
610
try:
@@ -14,7 +18,9 @@
1418
ANTHROPIC_API_KEY = os.environ["ANTHROPIC_API_KEY"]
1519
OPENAI_API_KEY = os.environ["OPENAI_API_KEY"]
1620
HUGGING_FACE_TOKEN = os.environ["HUGGING_FACE_TOKEN"]
17-
SIMULATION_API_URL = os.environ["SIMULATION_API_URL"]
21+
SIMULATION_API_URL = (
22+
os.environ.get("SIMULATION_API_URL") or DEFAULT_SIMULATION_API_URL
23+
)
1824
GATEWAY_AUTH_ISSUER = os.environ["GATEWAY_AUTH_ISSUER"]
1925
GATEWAY_AUTH_AUDIENCE = os.environ["GATEWAY_AUTH_AUDIENCE"]
2026
GATEWAY_AUTH_CLIENT_ID = os.environ["GATEWAY_AUTH_CLIENT_ID"]

policyengine_api/libs/simulation_api_modal.py

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,11 @@
2222
)
2323

2424

25+
DEFAULT_SIMULATION_API_URL = (
26+
"https://policyengine--policyengine-simulation-gateway-web-app.modal.run"
27+
)
28+
29+
2530
@dataclass
2631
class ModalSimulationExecution:
2732
"""
@@ -51,10 +56,7 @@ class SimulationAPIModal:
5156
"""
5257

5358
def __init__(self):
54-
self.base_url = os.environ.get(
55-
"SIMULATION_API_URL",
56-
"https://policyengine--policyengine-simulation-gateway-web-app.modal.run",
57-
)
59+
self.base_url = os.environ.get("SIMULATION_API_URL") or DEFAULT_SIMULATION_API_URL
5860
self._token_provider = GatewayAuthTokenProvider()
5961
_require_all_or_none_gateway_auth_env()
6062
auth = (

tests/unit/libs/test_simulation_api_modal.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -131,6 +131,16 @@ def test__given_env_var_not_set__then_uses_default_url(self, mock_httpx_client):
131131
assert "policyengine-simulation-gateway" in api.base_url
132132
assert "modal.run" in api.base_url
133133

134+
def test__given_env_var_blank__then_uses_default_url(self, mock_httpx_client):
135+
# Given
136+
with patch.dict("os.environ", {"SIMULATION_API_URL": ""}, clear=False):
137+
# When
138+
api = SimulationAPIModal()
139+
140+
# Then
141+
assert "policyengine-simulation-gateway" in api.base_url
142+
assert "modal.run" in api.base_url
143+
134144
def test__given_gateway_auth_env_vars__then_attaches_bearer_auth(
135145
self, mock_httpx_client, monkeypatch
136146
):

0 commit comments

Comments
 (0)