From d94b96d9f440d3aeef4402aec9f3788bca2972d0 Mon Sep 17 00:00:00 2001 From: "Alex Lam S.L" Date: Mon, 26 Dec 2022 10:25:59 +0200 Subject: [install] use specified base URL as default fallback within scopes (#1665) --- test/bun.js/bun-install.test.ts | 38 ---------------- test/bun.js/bun-install.toml | 2 - test/bun.js/install/basic.toml | 5 +++ test/bun.js/install/bun-install.test.ts | 80 +++++++++++++++++++++++++++++++++ 4 files changed, 85 insertions(+), 40 deletions(-) delete mode 100644 test/bun.js/bun-install.test.ts delete mode 100644 test/bun.js/bun-install.toml create mode 100644 test/bun.js/install/basic.toml create mode 100644 test/bun.js/install/bun-install.test.ts (limited to 'test/bun.js') diff --git a/test/bun.js/bun-install.test.ts b/test/bun.js/bun-install.test.ts deleted file mode 100644 index 1bc4655eb..000000000 --- a/test/bun.js/bun-install.test.ts +++ /dev/null @@ -1,38 +0,0 @@ -import { spawn, spawnSync } from "bun"; -import { describe, expect, it, test } from "bun:test"; -import { bunExe } from "bunExe"; - -test("bun install", async () => { - const urls = []; - const server = Bun.serve({ - async fetch(request) { - try { - expect(request.method).toBe("GET"); - expect(request.headers.get("accept")).toBe("application/vnd.npm.install-v1+json; q=1.0, application/json; q=0.8, */*"); - expect(await request.text()).toBe(""); - urls.push(request.url); - return new Response("bar", { status: 404 }); - } finally { - server.stop(); - } - }, - port: 54321, - }); - const { stdout, stderr, exited } = spawn({ - cmd: [bunExe(), "install", "foo", "--config", import.meta.dir + "/bun-install.toml"], - stdout: null, - stdin: "pipe", - stderr: "pipe", - env: { - ...process.env, - BUN_DEBUG_QUIET_LOGS: "1", - }, - }); - expect(stdout).toBeDefined(); - expect(stderr).toBeDefined(); - expect(await new Response(stdout).text()).toBe(""); - var err = await new Response(stderr).text(); - expect(err.split(/\n/)).toContain('error: package "foo" not found localhost/foo 404'); - expect(urls).toContain("http://localhost:54321/foo"); - expect(await exited).toBe(1); -}); diff --git a/test/bun.js/bun-install.toml b/test/bun.js/bun-install.toml deleted file mode 100644 index 112c61f86..000000000 --- a/test/bun.js/bun-install.toml +++ /dev/null @@ -1,2 +0,0 @@ -[install] -registry = "http://localhost:54321/" diff --git a/test/bun.js/install/basic.toml b/test/bun.js/install/basic.toml new file mode 100644 index 000000000..5007a8efd --- /dev/null +++ b/test/bun.js/install/basic.toml @@ -0,0 +1,5 @@ +[install] +registry = "http://localhost:54321/" + +[install.scopes] +foo = { token = "bar" } \ No newline at end of file diff --git a/test/bun.js/install/bun-install.test.ts b/test/bun.js/install/bun-install.test.ts new file mode 100644 index 000000000..8a05ef802 --- /dev/null +++ b/test/bun.js/install/bun-install.test.ts @@ -0,0 +1,80 @@ +import { spawn, spawnSync } from "bun"; +import { describe, expect, it, test } from "bun:test"; +import { bunExe } from "bunExe"; + +test("bun install", async () => { + const urls = []; + const server = Bun.serve({ + async fetch(request) { + try { + expect(request.method).toBe("GET"); + expect(request.headers.get("accept")).toBe("application/vnd.npm.install-v1+json; q=1.0, application/json; q=0.8, */*"); + expect(await request.text()).toBe(""); + urls.push(request.url); + return new Response("bar", { status: 404 }); + } finally { + server.stop(); + } + }, + port: 54321, + }); + const { stdout, stderr, exited } = spawn({ + cmd: [bunExe(), "install", "foo", "--config", import.meta.dir + "/basic.toml"], + stdout: null, + stdin: "pipe", + stderr: "pipe", + env: { + ...process.env, + BUN_DEBUG_QUIET_LOGS: "1", + }, + }); + expect(stdout).toBeDefined(); + expect(stderr).toBeDefined(); + expect(await new Response(stdout).text()).toBe(""); + var err = await new Response(stderr).text(); + expect(err.split(/\n/)).toContain('error: package "foo" not found localhost/foo 404'); + expect(urls).toContain("http://localhost:54321/foo"); + expect(await exited).toBe(1); +}); + +test("bun install @scoped", async () => { + let seen_token = false; + const url = "http://localhost:54321/@foo/bar"; + const urls = []; + const server = Bun.serve({ + async fetch(request) { + try { + expect(request.method).toBe("GET"); + expect(request.headers.get("accept")).toBe("application/vnd.npm.install-v1+json; q=1.0, application/json; q=0.8, */*"); + if (request.url === url) { + expect(request.headers.get("authorization")).toBe("Bearer bar"); + seen_token = true; + } + expect(await request.text()).toBe(""); + urls.push(request.url); + return new Response("Tea?", { status: 418 }); + } finally { + server.stop(); + } + }, + port: 54321, + }); + const { stdout, stderr, exited } = spawn({ + cmd: [bunExe(), "install", "@foo/bar", "--config", import.meta.dir + "/basic.toml"], + stdout: null, + stdin: "pipe", + stderr: "pipe", + env: { + ...process.env, + BUN_DEBUG_QUIET_LOGS: "1", + }, + }); + expect(stdout).toBeDefined(); + expect(stderr).toBeDefined(); + expect(await new Response(stdout).text()).toBe(""); + var err = await new Response(stderr).text(); + expect(err.split(/\n/)).toContain(`GET ${url} - 418`); + expect(urls).toContain(url); + expect(seen_token).toBe(true); + expect(await exited).toBe(1); +}); -- cgit v1.2.3