Pular para o conteúdo principal
Versão: v3.x.x

Aguardando Portas

Aguarda as portas especificadas se tornarem ativas.

waitForPort

import { waitForPort } from 'poku';

await waitForPort(3000, {
delay: 0,
interval: 100,
timeout: 60000,
host: 'localhost',
});

Options
export type WaitForPortOptions = {
/**
* Intervalo de tentativa em milissegundos
*
* ---
*
* @default 100
*/
interval?: number;
/**
* Tempo limite em milissegundos
*
* ---
*
* @default 60000
*/
timeout?: number;
/**
* Atrasa o início e o fim pelo número definido de milissegundos.
*
* ---
*
* @default 0
*/
delay?: number;
/**
* Host para verificar a porta.
*
* ---
*
* @default "localhost"
*/
host?: string;
};

Exemplos

Aguardando Múltiplas Portas

import { waitForPort } from 'poku';

await Promise.all([
waitForPort(3000),
waitForPort(4000),
waitForPort(5000),
waitForPort(6000),
]);

Aguardando um Serviço de Container na Porta 3000

import { docker, waitForPort } from 'poku';

const compose = docker.compose();

await compose.up();
await waitForPort(3000, { delay: 100 });

const res = await fetch('http://localhost:3000');

/**
* Os testes vêm aqui 🧪
*/

await compose.down();

dica

O Poku expõe um auxiliar sleep mínimo que apenas espera por milissegundos, além do waitForPort:

import { sleep } from 'poku';

// Aguarda por 1 segundo
await sleep(1000);