fix: improve error message when OAuth succeeds but project ID is required (#21070)

This commit is contained in:
nityam
2026-03-05 00:58:34 +05:30
committed by GitHub
parent ac4e65d669
commit 8f36051f32
5 changed files with 61 additions and 1 deletions
+19
View File
@@ -9,6 +9,7 @@ import { performInitialAuth } from './auth.js';
import {
type Config,
ValidationRequiredError,
ProjectIdRequiredError,
AuthType,
} from '@google/gemini-cli-core';
@@ -116,4 +117,22 @@ describe('auth', () => {
AuthType.LOGIN_WITH_GOOGLE,
);
});
it('should return ProjectIdRequiredError message without "Failed to login" prefix', async () => {
const projectIdError = new ProjectIdRequiredError();
vi.mocked(mockConfig.refreshAuth).mockRejectedValue(projectIdError);
const result = await performInitialAuth(
mockConfig,
AuthType.LOGIN_WITH_GOOGLE,
);
expect(result).toEqual({
authError:
'This account requires setting the GOOGLE_CLOUD_PROJECT or GOOGLE_CLOUD_PROJECT_ID env var. See https://goo.gle/gemini-cli-auth-docs#workspace-gca',
accountSuspensionInfo: null,
});
expect(result.authError).not.toContain('Failed to login');
expect(mockConfig.refreshAuth).toHaveBeenCalledWith(
AuthType.LOGIN_WITH_GOOGLE,
);
});
});