MCPcopy Create free account
hub / github.com/TextGeneratorio/text-generator.io / AuthFlowTest

Class AuthFlowTest

monitoring/e2e_auth_flow.py:42–261  ·  view source on GitHub ↗

E2E authentication flow test.

Source from the content-addressed store, hash-verified

40
41
42class AuthFlowTest:
43 """E2E authentication flow test."""
44
45 def __init__(self, base_url: str = BASE_URL):
46 self.base_url = base_url.rstrip("/")
47 self.session = requests.Session()
48 self.test_email = f"{TEST_EMAIL_PREFIX}{uuid.uuid4().hex[:8]}{TEST_EMAIL_DOMAIN}"
49 self.results = []
50
51 def log_result(self, step: str, success: bool, details: str = ""):
52 """Log test result."""
53 status = "PASS" if success else "FAIL"
54 msg = f"[{status}] {step}"
55 if details:
56 msg += f" - {details}"
57 logger.info(msg)
58 self.results.append({"step": step, "success": success, "details": details, "timestamp": datetime.now().isoformat()})
59
60 def step_signup(self) -> bool:
61 """Step 1: Signup with test user."""
62 try:
63 response = self.session.post(
64 f"{self.base_url}/api/signup",
65 data={"email": self.test_email, "password": TEST_PASSWORD},
66 allow_redirects=False,
67 )
68
69 # Signup should return 200 (JSON) or 303 (redirect)
70 if response.status_code in [200, 303]:
71 self.log_result("Signup", True, f"Created user {self.test_email}")
72 return True
73 else:
74 self.log_result("Signup", False, f"Status {response.status_code}: {response.text[:200]}")
75 return False
76 except Exception as e:
77 self.log_result("Signup", False, str(e))
78 return False
79
80 def step_verify_logged_in(self) -> bool:
81 """Verify user is logged in via current-user endpoint."""
82 try:
83 response = self.session.get(f"{self.base_url}/api/current-user")
84 if response.status_code == 200:
85 data = response.json()
86 if data.get("email") == self.test_email:
87 self.log_result("Verify Login", True, f"Logged in as {self.test_email}")
88 return True
89 else:
90 self.log_result("Verify Login", False, f"Wrong email: {data.get('email')}")
91 return False
92 else:
93 self.log_result("Verify Login", False, f"Status {response.status_code}")
94 return False
95 except Exception as e:
96 self.log_result("Verify Login", False, str(e))
97 return False
98
99 def step_logout(self) -> bool:

Callers 1

mainFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected