mirror of
https://github.com/openai/codex.git
synced 2026-11-13 14:46:14 +00:00
Support self-serve Business ProLite accounts (#35785)
## What changed - Recognize `self_serve_business_prolite` across authentication, account and rate-limit APIs, generated schemas, workspace classification, status display, cloud configuration gating, and usage-limit messaging. - Keep the Python SDK's `PlanType` enum compatible with non-empty string values introduced by newer Codex runtimes while preserving its known constants. ## Testing - Cover token parsing, account reads and notifications, backend rate-limit mapping, workspace behavior, error formatting, and Python SDK response coercion for the new plan value. GitOrigin-RevId: 70bc17a7c4ba4028cb10e4333cc1f2ac64da361f
This commit is contained in:
1 parent
bb1af235ea
commit
cf7e9cfe6a
25 files changed
+258
-29
No files matched your search
@@ -122,6 +122,27 @@ fn id_token_info_parses_usage_based_business_plans() {
|
||||
assert_eq!(enterprise_cbp.is_workspace_account(), true);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn id_token_info_parses_self_serve_business_prolite_plan() {
|
||||
let jwt = fake_jwt(serde_json::json!({
|
||||
"email": "user@example.com",
|
||||
"https://api.openai.com/auth": {
|
||||
"chatgpt_plan_type": "self_serve_business_prolite"
|
||||
}
|
||||
}));
|
||||
|
||||
let info = parse_chatgpt_jwt_claims(&jwt).expect("should parse");
|
||||
assert_eq!(
|
||||
info.get_chatgpt_plan_type().as_deref(),
|
||||
Some("Self Serve Business ProLite")
|
||||
);
|
||||
assert_eq!(
|
||||
info.get_chatgpt_plan_type_raw().as_deref(),
|
||||
Some("self_serve_business_prolite")
|
||||
);
|
||||
assert_eq!(info.is_workspace_account(), true);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn id_token_info_handles_missing_fields() {
|
||||
let fake_jwt = fake_jwt(serde_json::json!({ "sub": "123" }));
|
||||
|
||||
Reference in new issue
Block a user