Files
wehub-resource-sync 3a28426bf4
Lint and Format Check / lint-and-format (push) Failing after 0s
Check Migrations / Check for duplicate migration numbers (push) Failing after 1s
CI Pre-merge Check / CI Pre-merge Check (push) Failing after 2m17s
chore: import upstream snapshot with attribution
2026-07-13 12:23:40 +08:00

63 lines
1.7 KiB
TypeScript

import {
isCloudEnvironment,
isOAuthSharedKeysAvailable,
isDevelopment,
isProduction,
} from '../../src/utils/environment';
import { describe, it, expect, beforeEach, afterAll } from 'vitest';
describe('Environment utils', () => {
const OLD_ENV = process.env;
beforeEach(() => {
process.env = { ...OLD_ENV };
});
afterAll(() => {
process.env = OLD_ENV;
});
it('isCloudEnvironment returns true if AWS_INSTANCE_PROFILE_NAME is set', () => {
process.env.AWS_INSTANCE_PROFILE_NAME = 'my-profile';
expect(isCloudEnvironment()).toBe(true);
});
it('isCloudEnvironment returns false if AWS_INSTANCE_PROFILE_NAME is missing', () => {
delete process.env.AWS_INSTANCE_PROFILE_NAME;
expect(isCloudEnvironment()).toBe(false);
});
it('isOAuthSharedKeysAvailable returns same as isCloudEnvironment', () => {
process.env.AWS_INSTANCE_PROFILE_NAME = 'profile';
expect(isOAuthSharedKeysAvailable()).toBe(true);
delete process.env.AWS_INSTANCE_PROFILE_NAME;
expect(isOAuthSharedKeysAvailable()).toBe(false);
});
it('isDevelopment works correctly', () => {
process.env.NODE_ENV = 'development';
expect(isDevelopment()).toBe(true);
process.env.NODE_ENV = 'production';
expect(isDevelopment()).toBe(false);
process.env.NODE_ENV = 'test';
expect(isDevelopment()).toBe(false);
delete process.env.NODE_ENV;
expect(isDevelopment()).toBe(false);
});
it('isProduction works correctly', () => {
process.env.NODE_ENV = 'production';
expect(isProduction()).toBe(true);
process.env.NODE_ENV = 'development';
expect(isProduction()).toBe(false);
delete process.env.NODE_ENV;
expect(isProduction()).toBe(false);
});
});