41 lines
1.3 KiB
Python
41 lines
1.3 KiB
Python
# retoor <retoor@molodetz.nl>
|
|||
|
|
|
||
|
|
from devplacepy.services.openai_gateway import opencode_zen
|
||
|
|
|
||
|
|
|
||
|
|
def test_opencode_id_has_the_expected_shape():
|
||
|
|
value = opencode_zen._opencode_id()
|
||
|
|
assert len(value) == opencode_zen._OPCODE_ID_LENGTH
|
||
|
|
assert all(ch in opencode_zen._OPCODE_ID_ALPHABET for ch in value)
|
||
|
|
|
||
|
|
|
||
|
|
def test_opencode_ids_are_not_repeated():
|
||
|
|
ids = {opencode_zen._opencode_id() for _ in range(50)}
|
||
|
|
assert len(ids) == 50
|
||
|
|
|
||
|
|
|
||
|
|
def test_session_id_is_stable_across_calls():
|
||
|
|
first = opencode_zen.opencode_impersonation_headers()
|
||
|
|
second = opencode_zen.opencode_impersonation_headers()
|
||
|
|
assert first["x-opencode-session"] == second["x-opencode-session"]
|
||
|
|
assert first["x-opencode-session"].startswith("ses_")
|
||
|
|
|
||
|
|
|
||
|
|
def test_request_id_is_fresh_every_call():
|
||
|
|
first = opencode_zen.opencode_impersonation_headers()
|
||
|
|
second = opencode_zen.opencode_impersonation_headers()
|
||
|
|
assert first["x-opencode-request"] != second["x-opencode-request"]
|
||
|
|
assert first["x-opencode-request"].startswith("msg_")
|
||
|
|
|
||
|
|
|
||
|
|
def test_headers_include_the_expected_client_identity_fields():
|
||
|
|
headers = opencode_zen.opencode_impersonation_headers()
|
||
|
|
assert set(headers) == {
|
||
|
|
"User-Agent",
|
||
|
|
"x-opencode-client",
|
||
|
|
"x-opencode-project",
|
||
|
|
"x-opencode-session",
|
||
|
|
"x-opencode-request",
|
||
|
|
}
|
||
|
|
assert headers["x-opencode-project"] == "global"
|