diff options
Diffstat (limited to 'packages/core/src/utils/user_id.test.ts')
| -rw-r--r-- | packages/core/src/utils/user_id.test.ts | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/packages/core/src/utils/user_id.test.ts b/packages/core/src/utils/user_id.test.ts new file mode 100644 index 00000000..81b99ef4 --- /dev/null +++ b/packages/core/src/utils/user_id.test.ts @@ -0,0 +1,48 @@ +/** + * @license + * Copyright 2025 Google LLC + * SPDX-License-Identifier: Apache-2.0 + */ + +import { describe, it, expect } from 'vitest'; +import { getInstallationId, getObfuscatedGoogleAccountId } from './user_id.js'; + +describe('user_id', () => { + describe('getInstallationId', () => { + it('should return a valid UUID format string', () => { + const installationId = getInstallationId(); + + expect(installationId).toBeDefined(); + expect(typeof installationId).toBe('string'); + expect(installationId.length).toBeGreaterThan(0); + + // Should return the same ID on subsequent calls (consistent) + const secondCall = getInstallationId(); + expect(secondCall).toBe(installationId); + }); + }); + + describe('getObfuscatedGoogleAccountId', () => { + it('should return a non-empty string', () => { + const result = getObfuscatedGoogleAccountId(); + + expect(result).toBeDefined(); + expect(typeof result).toBe('string'); + expect(result.length).toBeGreaterThan(0); + + // Should be consistent on subsequent calls + const secondCall = getObfuscatedGoogleAccountId(); + expect(secondCall).toBe(result); + }); + + it('should return the same as installation ID when no Google Account ID is cached', () => { + // In a clean test environment, there should be no cached Google Account ID + // so getObfuscatedGoogleAccountId should fall back to installation ID + const googleAccountIdResult = getObfuscatedGoogleAccountId(); + const installationIdResult = getInstallationId(); + + // They should be the same when no Google Account ID is cached + expect(googleAccountIdResult).toBe(installationIdResult); + }); + }); +}); |
