Skip to main content
Using Deno in production at your company? Earn free Deno merch.
Give us feedback
Go to Latest
File
// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
import { getAvailablePort } from "./get_available_port.ts";import { assertEquals } from "../assert/mod.ts";
/** Helper function to see if a port is indeed available for listening (race-y) */async function testWithPort(port: number) { const server = Deno.serve({ port, async onListen() { const resp = await fetch(`http://localhost:${port}`); const text = await resp.text(); assertEquals(text, "hello"); server.shutdown(); }, }, () => new Response("hello"));
await server.finished;}
Deno.test("getAvailablePort() gets an available port", async () => { const port = getAvailablePort(); await testWithPort(port);});
Deno.test("getAvailablePort() gets an available port with a preferred port", async () => { const port = getAvailablePort({ preferredPort: 9563 }); await testWithPort(port);});