mirror of
https://github.com/AutoMaker-Org/automaker.git
synced 2026-01-30 06:12:03 +00:00
chore: update CI configuration and enhance test stability
- Added deterministic API key and environment variables in e2e-tests.yml to ensure consistent test behavior. - Refactored CodexProvider tests to improve type safety and mock handling, ensuring reliable test execution. - Updated provider-factory tests to mock installation detection for CodexProvider, enhancing test isolation. - Adjusted Playwright configuration to conditionally use external backend, improving flexibility in test environments. - Enhanced kill-test-servers script to handle external server scenarios, ensuring proper cleanup of test processes. These changes improve the reliability and maintainability of the testing framework, leading to a more stable development experience.
This commit is contained in:
@@ -23,6 +23,7 @@ import {
|
||||
// Pattern definitions for Codex/OpenAI models
|
||||
const CODEX_MODEL_PREFIXES = ['gpt-'];
|
||||
const OPENAI_O_SERIES_PATTERN = /^o\d/;
|
||||
const OPENAI_O_SERIES_ALLOWED_MODELS = new Set<string>();
|
||||
|
||||
/**
|
||||
* Resolve a model key/alias to a full model string
|
||||
@@ -78,7 +79,7 @@ export function resolveModelString(
|
||||
// (Cursor supports gpt models, but bare "gpt-*" should route to Codex)
|
||||
if (
|
||||
CODEX_MODEL_PREFIXES.some((prefix) => modelKey.startsWith(prefix)) ||
|
||||
OPENAI_O_SERIES_PATTERN.test(modelKey)
|
||||
(OPENAI_O_SERIES_PATTERN.test(modelKey) && OPENAI_O_SERIES_ALLOWED_MODELS.has(modelKey))
|
||||
) {
|
||||
console.log(`[ModelResolver] Using OpenAI/Codex model: ${modelKey}`);
|
||||
return modelKey;
|
||||
|
||||
@@ -284,11 +284,15 @@ describe('subprocess.ts', () => {
|
||||
const generator = spawnJSONLProcess(options);
|
||||
await collectAsyncGenerator(generator);
|
||||
|
||||
expect(cp.spawn).toHaveBeenCalledWith('my-command', ['--flag', 'value'], {
|
||||
cwd: '/work/dir',
|
||||
env: expect.objectContaining({ CUSTOM_VAR: 'test' }),
|
||||
stdio: ['ignore', 'pipe', 'pipe'],
|
||||
});
|
||||
expect(cp.spawn).toHaveBeenCalledWith(
|
||||
'my-command',
|
||||
['--flag', 'value'],
|
||||
expect.objectContaining({
|
||||
cwd: '/work/dir',
|
||||
env: expect.objectContaining({ CUSTOM_VAR: 'test' }),
|
||||
stdio: ['ignore', 'pipe', 'pipe'],
|
||||
})
|
||||
);
|
||||
});
|
||||
|
||||
it('should merge env with process.env', async () => {
|
||||
@@ -473,11 +477,15 @@ describe('subprocess.ts', () => {
|
||||
|
||||
await spawnProcess(options);
|
||||
|
||||
expect(cp.spawn).toHaveBeenCalledWith('my-cmd', ['--verbose'], {
|
||||
cwd: '/my/dir',
|
||||
env: expect.objectContaining({ MY_VAR: 'value' }),
|
||||
stdio: ['ignore', 'pipe', 'pipe'],
|
||||
});
|
||||
expect(cp.spawn).toHaveBeenCalledWith(
|
||||
'my-cmd',
|
||||
['--verbose'],
|
||||
expect.objectContaining({
|
||||
cwd: '/my/dir',
|
||||
env: expect.objectContaining({ MY_VAR: 'value' }),
|
||||
stdio: ['ignore', 'pipe', 'pipe'],
|
||||
})
|
||||
);
|
||||
});
|
||||
|
||||
it('should handle empty stdout and stderr', async () => {
|
||||
|
||||
Reference in New Issue
Block a user