config-debug-env / test_global_env_fallback.py
Deepika
FIX: Override /reset and /step to use global env when no session_id
7009c01
Raw
History Blame Contribute Delete
1.82 kB
"""
Test to verify global environment singleton fallback works.
Tests that repeated /reset and /step calls without session_id
reuse the same environment instance and progress through tasks.
"""
import requests
BASE_URL = "https://nandukondreddy-config-debug-env.hf.space"
print("=" * 70)
print("GLOBAL ENV SINGLETON TEST (no session_id)")
print("=" * 70)
print()
print("[TEST] Calling /reset without session_id...")
r = requests.post(f"{BASE_URL}/reset", json={})
print(f"Status: {r.status_code}")
if r.status_code != 200:
print(f"Error: {r.text}")
exit(1)
data = r.json()
print(f"Initial task: {data.get('observation', {}).get('task_id')}")
print()
print("[TEST] Stepping through 15 requests with /step (no session_id)...")
print()
for step_num in range(1, 16):
r = requests.post(
f"{BASE_URL}/step",
json={"fixed_config": "{}"}
)
if r.status_code != 200:
print(f"[FAIL] Step {step_num} returned {r.status_code}")
print(f"Error: {r.text}")
exit(1)
data = r.json()
obs = data.get("observation", {})
task_id = obs.get("task_id")
reward = data.get("reward")
done = data.get("done")
print(f"Step {step_num:2d}: task_id={task_id:20s} reward={reward:.2f} done={done}")
print()
print("=" * 70)
print("FINAL TEST")
print("=" * 70)
# One more call to verify progression
r = requests.post(
f"{BASE_URL}/step",
json={"fixed_config": "{}"}
)
data = r.json()
obs = data.get("observation", {})
final_task = obs.get("task_id")
print(f"After 16 steps: task_id={final_task}")
if final_task != "task1_json":
print()
print("[OK] SUCCESS: Task progressed beyond task1!")
print(f"Currently on: {final_task}")
else:
print()
print("[ERROR] STILL STUCK ON TASK1 - Fallback not working")
exit(1)