Files
workbuddy_skills/draw-ui/tests/test_profile_business.py
T

26 lines
1.3 KiB
Python
Raw Normal View History

import importlib.util
import importlib.machinery
import os
from pathlib import Path
import sys
import tempfile
import unittest
from unittest.mock import patch
from types import SimpleNamespace
ROOT = Path(__file__).resolve().parents[1]
SCRIPT = ROOT / 'scripts/generate_image.py'
sys.path.insert(0, str(SCRIPT.parent))
loader=importlib.machinery.SourceFileLoader('business_credentials_test',str(SCRIPT))
spec=importlib.util.spec_from_loader(loader.name,loader)
module=importlib.util.module_from_spec(spec)
sys.modules[spec.name]=module
with tempfile.TemporaryDirectory() as directory:
config=Path(directory)/'config.json'; config.write_text('{}')
with patch.dict(os.environ, {'OIL_COVER_CONFIG':str(config),'OIL_COVER_SKILL_DIR':str(ROOT)}):
loader.exec_module(module)
class BusinessCredentialTests(unittest.TestCase):
def test_profile_environment_reaches_business_reader(self):
with patch.dict(os.environ, {'ZENMUX_API_KEY': 'TEST_KEY', 'OPENAI_API_KEY': 'TEST_OPENAI'}, clear=True), patch.object(Path,'read_text',side_effect=AssertionError('不应读取旧凭据文件')):
self.assertEqual(module.resolve_api_key(), 'TEST_KEY')
self.assertEqual(module.resolve_codex_api_key(), 'TEST_OPENAI')
if __name__ == '__main__': unittest.main()