From ecc4ffe2bbf47f3a2cd196d2ffa9a0e22aa4c94d Mon Sep 17 00:00:00 2001 From: hasezoey Date: Sat, 8 Jun 2024 13:34:10 +0200 Subject: [PATCH] fix(MongoBinaryDownloadUrl): change default elementary version to 7 --- docs/guides/supported-systems.md | 2 +- .../src/util/MongoBinaryDownloadUrl.ts | 4 ++-- .../__tests__/MongoBinaryDownloadUrl.test.ts | 19 +++++++++++++++++++ 3 files changed, 22 insertions(+), 3 deletions(-) diff --git a/docs/guides/supported-systems.md b/docs/guides/supported-systems.md index 16588622..a7bb0e04 100644 --- a/docs/guides/supported-systems.md +++ b/docs/guides/supported-systems.md @@ -118,7 +118,7 @@ Default version is `1` (uses mongodb's `ubuntu` release)
Lowest supported Distribution version is `3` (or `0.3`)
Highest version is `7`
-Default version is `6` +Default version is `7` ### Linux Mint diff --git a/packages/mongodb-memory-server-core/src/util/MongoBinaryDownloadUrl.ts b/packages/mongodb-memory-server-core/src/util/MongoBinaryDownloadUrl.ts index fa11900d..2e9eb1e4 100644 --- a/packages/mongodb-memory-server-core/src/util/MongoBinaryDownloadUrl.ts +++ b/packages/mongodb-memory-server-core/src/util/MongoBinaryDownloadUrl.ts @@ -502,13 +502,13 @@ export class MongoBinaryDownloadUrl implements MongoBinaryDownloadUrlOpts { // untangle elemenatary versioning from hell https://en.wikipedia.org/wiki/Elementary_OS#Development const [elementaryMajor, elementaryMinor] = os.release.split('.').map((el) => parseInt(el)); + // versions below 5.0 were named 0.X, and so use the minor version if major is 0 const realMajor = elementaryMajor || elementaryMinor; ubuntuOS = { os: 'linux', dist: 'ubuntu', - // TODO: next-minor: change default elemenatry release to 7 - release: elementaryToUbuntuRelease[realMajor] || elementaryToUbuntuRelease[6], + release: elementaryToUbuntuRelease[realMajor] || elementaryToUbuntuRelease[7], }; } } diff --git a/packages/mongodb-memory-server-core/src/util/__tests__/MongoBinaryDownloadUrl.test.ts b/packages/mongodb-memory-server-core/src/util/__tests__/MongoBinaryDownloadUrl.test.ts index 0ea75ed4..612b1e3d 100644 --- a/packages/mongodb-memory-server-core/src/util/__tests__/MongoBinaryDownloadUrl.test.ts +++ b/packages/mongodb-memory-server-core/src/util/__tests__/MongoBinaryDownloadUrl.test.ts @@ -892,6 +892,25 @@ describe('MongoBinaryDownloadUrl', () => { }); describe('for elementary', () => { + it('should default to Elementary 7, if version cannot be found in lookup table', async () => { + const du = new MongoBinaryDownloadUrl({ + platform: 'linux', + arch: 'x64', + version: '6.0.4', + os: { + os: 'linux', + dist: 'elementary', + codename: 'horus', + release: '0', + id_like: ['ubuntu'], + }, + }); + + expect(await du.getDownloadUrl()).toBe( + 'https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-ubuntu2204-6.0.4.tgz' + ); + }); + it('should return a archive name for elementary 0.3', async () => { const du = new MongoBinaryDownloadUrl({ platform: 'linux',