fix(codex): provision dummy user auth state
This commit is contained in:
@@ -9,7 +9,11 @@ import unittest
|
||||
from datetime import datetime, timezone
|
||||
from pathlib import Path
|
||||
|
||||
from bot_bottle.codex_auth import codex_auth_path, codex_host_access_token
|
||||
from bot_bottle.codex_auth import (
|
||||
codex_auth_path,
|
||||
codex_dummy_auth_json,
|
||||
codex_host_access_token,
|
||||
)
|
||||
from bot_bottle.log import Die
|
||||
|
||||
|
||||
@@ -59,6 +63,15 @@ class TestCodexHostAccessToken(unittest.TestCase):
|
||||
with self.assertRaises(Die):
|
||||
codex_host_access_token({"CODEX_HOME": str(self.home)})
|
||||
|
||||
def test_user_auth_mode_is_allowed(self):
|
||||
token = _jwt(2000000000)
|
||||
self._write({"auth_mode": "user", "tokens": {"access_token": token}})
|
||||
out = codex_host_access_token(
|
||||
{"CODEX_HOME": str(self.home)},
|
||||
now=datetime(2026, 1, 1, tzinfo=timezone.utc),
|
||||
)
|
||||
self.assertEqual(token, out)
|
||||
|
||||
def test_expired_token_dies(self):
|
||||
self._write({
|
||||
"auth_mode": "chatgpt",
|
||||
@@ -78,6 +91,37 @@ class TestCodexHostAccessToken(unittest.TestCase):
|
||||
with self.assertRaises(Die):
|
||||
codex_host_access_token({"CODEX_HOME": str(self.home)})
|
||||
|
||||
def test_dummy_auth_preserves_mode_and_redacts_tokens(self):
|
||||
access = _jwt(2000000000)
|
||||
refresh = "host-refresh-token"
|
||||
self._write({
|
||||
"auth_mode": "chatgpt",
|
||||
"OPENAI_API_KEY": None,
|
||||
"tokens": {
|
||||
"access_token": access,
|
||||
"id_token": _jwt(2000000000),
|
||||
"refresh_token": refresh,
|
||||
"account_id": "acct-host",
|
||||
},
|
||||
"last_refresh": "2026-05-29T00:00:00.000Z",
|
||||
})
|
||||
dummy = json.loads(codex_dummy_auth_json(
|
||||
{"CODEX_HOME": str(self.home)},
|
||||
now=datetime(2026, 1, 1, tzinfo=timezone.utc),
|
||||
))
|
||||
self.assertEqual("chatgpt", dummy["auth_mode"])
|
||||
self.assertIsNone(dummy["OPENAI_API_KEY"])
|
||||
self.assertNotEqual(access, dummy["tokens"]["access_token"])
|
||||
self.assertNotEqual(refresh, dummy["tokens"]["refresh_token"])
|
||||
self.assertEqual("bot-bottle-placeholder", dummy["tokens"]["refresh_token"])
|
||||
self.assertEqual("bot-bottle-placeholder", dummy["tokens"]["account_id"])
|
||||
self.assertIsNotNone(
|
||||
codex_host_access_token(
|
||||
{"CODEX_HOME": str(self.home)},
|
||||
now=datetime(2026, 1, 1, tzinfo=timezone.utc),
|
||||
)
|
||||
)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
unittest.main()
|
||||
|
||||
Reference in New Issue
Block a user