|
1 | 1 | import { LinuxOS } from '../getos'; |
2 | 2 | import MongoBinaryDownloadUrl from '../MongoBinaryDownloadUrl'; |
3 | | -import { defaultValues, ResolveConfigVariables, setDefaultValue } from '../resolveConfig'; |
| 3 | +import { envName, ResolveConfigVariables } from '../resolveConfig'; |
4 | 4 |
|
5 | 5 | afterEach(() => { |
6 | 6 | jest.restoreAllMocks(); |
@@ -360,16 +360,32 @@ describe('MongoBinaryDownloadUrl', () => { |
360 | 360 | }); |
361 | 361 | }); |
362 | 362 |
|
363 | | - it('should allow overwrite with "ARCHIVE_NAME"', async () => { |
| 363 | + it('should allow archive overwrite with "ARCHIVE_NAME"', async () => { |
364 | 364 | const archiveName = 'mongodb-linux-x86_64-4.0.0.tgz'; |
365 | | - setDefaultValue(ResolveConfigVariables.ARCHIVE_NAME, archiveName); |
| 365 | + process.env[envName(ResolveConfigVariables.ARCHIVE_NAME)] = archiveName; |
| 366 | + |
366 | 367 | const du = new MongoBinaryDownloadUrl({ |
367 | 368 | platform: 'linux', |
368 | 369 | arch: 'x64', |
369 | 370 | version: '3.6.3', |
370 | 371 | }); |
371 | 372 | expect(await du.getDownloadUrl()).toBe(`https://fastdl.mongodb.org/linux/${archiveName}`); |
372 | | - defaultValues.delete(ResolveConfigVariables.ARCHIVE_NAME); |
| 373 | + delete process.env[envName(ResolveConfigVariables.ARCHIVE_NAME)]; |
| 374 | + }); |
| 375 | + |
| 376 | + it('should allow full url overwrite with "DOWNLOAD_URL"', async () => { |
| 377 | + const downloadUrl = 'https://custom.org/customarchive.tgz'; |
| 378 | + process.env[envName(ResolveConfigVariables.DOWNLOAD_URL)] = downloadUrl; |
| 379 | + |
| 380 | + const du = new MongoBinaryDownloadUrl({ |
| 381 | + platform: 'linux', |
| 382 | + arch: 'x64', |
| 383 | + version: '3.6.3', |
| 384 | + }); |
| 385 | + jest.spyOn(du, 'getArchiveName'); |
| 386 | + expect(await du.getDownloadUrl()).toBe(downloadUrl); |
| 387 | + expect(du.getArchiveName).not.toHaveBeenCalled(); |
| 388 | + delete process.env[envName(ResolveConfigVariables.DOWNLOAD_URL)]; |
373 | 389 | }); |
374 | 390 |
|
375 | 391 | it('should throw an error if platform is unknown (getArchiveName)', async () => { |
|
0 commit comments