From 20dab94e2427771f0d84d58237ba7af083b11d19 Mon Sep 17 00:00:00 2001 From: Tim Seckinger Date: Mon, 3 Apr 2023 10:57:08 +0200 Subject: [PATCH] fix(MongoBinaryDownloadUrl): update mapping for arch to "ubuntu2204" --- .../src/util/MongoBinaryDownloadUrl.ts | 4 ++-- .../__tests__/MongoBinaryDownloadUrl.test.ts | 22 +++++++++++++++++-- 2 files changed, 22 insertions(+), 4 deletions(-) diff --git a/packages/mongodb-memory-server-core/src/util/MongoBinaryDownloadUrl.ts b/packages/mongodb-memory-server-core/src/util/MongoBinaryDownloadUrl.ts index bf6c8325f..3394cd1d2 100644 --- a/packages/mongodb-memory-server-core/src/util/MongoBinaryDownloadUrl.ts +++ b/packages/mongodb-memory-server-core/src/util/MongoBinaryDownloadUrl.ts @@ -203,13 +203,13 @@ export class MongoBinaryDownloadUrl implements MongoBinaryDownloadUrlOpts { // Match "arch", "archlinux", "manjaro", "manjarolinux", "arco", "arcolinux" } else if (regexHelper(/(arch|manjaro|arco)(?:linux)?$/i, os)) { console.warn( - `There is no official build of MongoDB for ArchLinux (${os.dist}). Falling back to Ubuntu 20.04 release.` + `There is no official build of MongoDB for ArchLinux (${os.dist}). Falling back to Ubuntu 22.04 release.` ); return this.getUbuntuVersionString({ os: 'linux', dist: 'Ubuntu Linux', - release: '20.04', + release: '22.04', }); } else if (regexHelper(/gentoo/i, os)) { // it seems like debian binaries work for gentoo too (at least most), see https://github.com/nodkz/mongodb-memory-server/issues/639 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 bbf651028..46641e01e 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 @@ -1684,7 +1684,7 @@ describe('MongoBinaryDownloadUrl', () => { }); describe('getLinuxOSVersionString()', () => { - it('should give an warning about "alpine"', () => { + it('should give a warning about "alpine"', () => { jest.spyOn(console, 'warn').mockImplementation(() => void 0); const du = new MongoBinaryDownloadUrl({ platform: 'linux', @@ -1704,7 +1704,7 @@ describe('MongoBinaryDownloadUrl', () => { expect(ret).toBe(''); }); - it('should give an warning about "unknown"', () => { + it('should give a warning about "unknown"', () => { jest.spyOn(console, 'warn').mockImplementation(() => void 0); const du = new MongoBinaryDownloadUrl({ platform: 'linux', @@ -1723,6 +1723,24 @@ describe('MongoBinaryDownloadUrl', () => { expect(du.getLegacyVersionString).toHaveBeenCalledTimes(1); expect(ret).toBe(''); }); + + it('should give a warning about "arch"', () => { + jest.spyOn(console, 'warn').mockImplementation(() => void 0); + const du = new MongoBinaryDownloadUrl({ + platform: 'linux', + arch: 'x64', + version: '3.6.3', + os: { + os: 'linux', + dist: 'archlinux', + release: '0', + codename: 'archlinux', + }, + }); + const ret = du.getLinuxOSVersionString(du.os as LinuxOS); + expect(console.warn).toHaveBeenCalledTimes(1); + expect(ret).toBe('ubuntu1604'); + }); }); describe('translateArch()', () => {