45 lines
1.3 KiB
TypeScript
45 lines
1.3 KiB
TypeScript
import { describe, expect, it } from 'vitest';
|
|
|
|
import {
|
|
applyUpdatedTokensToEnvContent,
|
|
shouldStartTokenRefreshLoop,
|
|
} from './token-refresh.js';
|
|
|
|
describe('shouldStartTokenRefreshLoop', () => {
|
|
it('starts refresh for the Claude service', () => {
|
|
expect(shouldStartTokenRefreshLoop('claude-code')).toBe(true);
|
|
});
|
|
|
|
it('skips refresh for the Codex service', () => {
|
|
expect(shouldStartTokenRefreshLoop('codex')).toBe(false);
|
|
});
|
|
|
|
it('updates both multi-token and single-token env vars when present', () => {
|
|
const next = applyUpdatedTokensToEnvContent(
|
|
[
|
|
'CLAUDE_CODE_OAUTH_TOKEN=old-primary',
|
|
'CLAUDE_CODE_OAUTH_TOKENS=old-primary,old-secondary',
|
|
'OTHER=value',
|
|
].join('\n'),
|
|
['new-primary', 'new-secondary'],
|
|
);
|
|
|
|
expect(next).toContain('CLAUDE_CODE_OAUTH_TOKEN=new-primary');
|
|
expect(next).toContain(
|
|
'CLAUDE_CODE_OAUTH_TOKENS=new-primary,new-secondary',
|
|
);
|
|
});
|
|
|
|
it('adds the multi-token env var when it is missing', () => {
|
|
const next = applyUpdatedTokensToEnvContent(
|
|
['CLAUDE_CODE_OAUTH_TOKEN=old-primary', 'OTHER=value'].join('\n'),
|
|
['new-primary', 'new-secondary'],
|
|
);
|
|
|
|
expect(next).toContain('CLAUDE_CODE_OAUTH_TOKEN=new-primary');
|
|
expect(next).toContain(
|
|
'CLAUDE_CODE_OAUTH_TOKENS=new-primary,new-secondary',
|
|
);
|
|
});
|
|
});
|