Files
service-finder/backend/test_check_response.py
2026-03-31 06:20:43 +00:00

71 lines
2.3 KiB
Python

#!/usr/bin/env python3
"""
Check the full response from organization switch.
"""
import json
import urllib.request
import urllib.parse
API_BASE = "http://sf_api:8000/api/v1"
EMAIL = "tester_pro@profibot.hu"
PASSWORD = "Password123!"
# Login
print("Logging in...")
data = urllib.parse.urlencode({
'username': EMAIL,
'password': PASSWORD
}).encode('utf-8')
req = urllib.request.Request(f"{API_BASE}/auth/login", data=data, method='POST')
req.add_header('Content-Type', 'application/x-www-form-urlencoded')
try:
with urllib.request.urlopen(req) as response:
response_data = json.loads(response.read().decode('utf-8'))
token = response_data.get('access_token')
print(f"Token: {token[:30]}...")
# Try switch with org_id
payload = {"org_id": 21}
print(f"\nTrying switch with payload: {payload}")
data = json.dumps(payload).encode('utf-8')
req = urllib.request.Request(
f"{API_BASE}/users/me/active-organization",
data=data,
method='PATCH',
headers={
'Authorization': f'Bearer {token}',
'Content-Type': 'application/json'
}
)
try:
with urllib.request.urlopen(req) as resp:
print(f"Success! Status: {resp.status}")
full_response = resp.read().decode('utf-8')
print(f"Full response ({len(full_response)} chars):")
print(full_response)
# Parse and check structure
parsed = json.loads(full_response)
print(f"\nResponse keys: {list(parsed.keys())}")
if 'access_token' in parsed:
print(f"✅ access_token found: {parsed['access_token'][:30]}...")
else:
print("❌ No access_token in response")
if 'user' in parsed:
print(f"✅ user found in response")
else:
print("❌ No user in response")
except urllib.error.HTTPError as e:
print(f"HTTP Error {e.code}: {e.reason}")
print(f"Response: {e.read().decode('utf-8')}")
except Exception as e:
print(f"Error: {e}")
except Exception as e:
print(f"Login error: {e}")