|
|
@@ -6,18 +6,20 @@ import { logger } from '@/server/utils/logger';
|
|
|
// Mock dependencies
|
|
|
vi.mock('minio');
|
|
|
vi.mock('@/server/utils/logger');
|
|
|
-vi.mock('node:process', () => ({
|
|
|
- default: {
|
|
|
- env: {
|
|
|
- MINIO_HOST: 'localhost',
|
|
|
- MINIO_PORT: '9000',
|
|
|
- MINIO_USE_SSL: 'false',
|
|
|
- MINIO_ACCESS_KEY: 'minioadmin',
|
|
|
- MINIO_SECRET_KEY: 'minioadmin',
|
|
|
- MINIO_BUCKET_NAME: 'test-bucket'
|
|
|
- }
|
|
|
- }
|
|
|
-}));
|
|
|
+
|
|
|
+// Mock process.env using vi.stubEnv for proper isolation
|
|
|
+beforeEach(() => {
|
|
|
+ vi.stubEnv('MINIO_HOST', 'localhost');
|
|
|
+ vi.stubEnv('MINIO_PORT', '9000');
|
|
|
+ vi.stubEnv('MINIO_USE_SSL', 'false');
|
|
|
+ vi.stubEnv('MINIO_ACCESS_KEY', 'minioadmin');
|
|
|
+ vi.stubEnv('MINIO_SECRET_KEY', 'minioadmin');
|
|
|
+ vi.stubEnv('MINIO_BUCKET_NAME', 'test-bucket');
|
|
|
+});
|
|
|
+
|
|
|
+afterEach(() => {
|
|
|
+ vi.unstubAllEnvs();
|
|
|
+});
|
|
|
|
|
|
describe('MinioService', () => {
|
|
|
let minioService: MinioService;
|
|
|
@@ -170,9 +172,9 @@ describe('MinioService', () => {
|
|
|
});
|
|
|
|
|
|
it('should generate correct file URL with SSL', async () => {
|
|
|
- // Create new instance with SSL
|
|
|
- vi.mocked(process.env).MINIO_USE_SSL = 'true';
|
|
|
- vi.mocked(process.env).MINIO_PORT = '443';
|
|
|
+ // Create new instance with SSL by temporarily overriding env vars
|
|
|
+ vi.stubEnv('MINIO_USE_SSL', 'true');
|
|
|
+ vi.stubEnv('MINIO_PORT', '443');
|
|
|
|
|
|
const sslService = new MinioService();
|
|
|
const url = sslService.getFileUrl('test-bucket', 'file.txt');
|