1
resposta

ERRO NO JOB TEST NO GITHUB ACTION

2023/07/03 14:12:22 /home/runner/work/FirstCi/FirstCi/database/db.go:18
[error] failed to initialize database, got error failed to connect to `host=localhost user=root database=root`: dial error (dial tcp 127.0.0.1:5432: connect: connection refused)
2023/07/03 14:12:22 Erro ao conectar com banco de dados
--- FAIL: TestListaTodosOsAlunosHanlder (0.00s)
panic: Erro ao conectar com banco de dados [recovered]
    panic: Erro ao conectar com banco de dados

goroutine 22 [running]:
testing.tRunner.func1.2({0xba2f60, 0xc000102ed0})
    /opt/hostedtoolcache/go/1.19.10/x64/src/testing/testing.go:1396 +0x24e
testing.tRunner.func1()
    /opt/hostedtoolcache/go/1.19.10/x64/src/testing/testing.go:1399 +0x39f
panic({0xba2f60, 0xc000102ed0})
    /opt/hostedtoolcache/go/1.19.10/x64/src/runtime/panic.go:884 +0x212
log.Panic({0xc0004b9eb0?, 0xc000014300?, 0x0?})
    /opt/hostedtoolcache/go/1.19.10/x64/src/log/log.go:388 +0x65
github.com/guilhermeonrails/api-go-gin/database.ConectaComBancoDeDados()
    /home/runner/work/FirstCi/FirstCi/database/db.go:20 +0xf9
command-line-arguments.TestListaTodosOsAlunosHanlder(0x0?)
    /home/runner/work/FirstCi/FirstCi/main_test.go:51 +0x45
testing.tRunner(0xc000105040, 0xced308)
    /opt/hostedtoolcache/go/1.19.10/x64/src/testing/testing.go:1446 +0x10b
created by testing.(*T).Run
    /opt/hostedtoolcache/go/1.19.10/x64/src/testing/testing.go:1493 +0x35f
FAIL	command-line-arguments	0.026s
FAIL
Error: Process completed with exit code 1.
1 resposta

Olá, Natália! Parece que você está tendo um problema com a conexão ao banco de dados no ambiente do GitHub Actions.

O erro que você está recebendo indica que a conexão ao banco de dados foi recusada. Isso geralmente ocorre quando o serviço de banco de dados não está rodando ou não está acessível no host e porta especificados. No seu caso, parece que você está tentando se conectar a um banco de dados PostgreSQL no localhost na porta 5432.

Se você está tentando rodar seus testes no GitHub Actions, você precisa configurar um serviço de banco de dados na sua configuração do GitHub Actions. O GitHub Actions permite que você defina serviços como bancos de dados como parte de sua configuração de CI.

Aqui está um exemplo de como você pode configurar um serviço de banco de dados PostgreSQL no seu arquivo de configuração do GitHub Actions:

services:
  postgres:
    image: postgres:13
    env:
      POSTGRES_USER: root
      POSTGRES_PASSWORD: root
      POSTGRES_DB: root
    ports:
      - 5432:5432
    options: --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5

Neste exemplo, estamos definindo um serviço chamado postgres que usa a imagem postgres:13. Estamos definindo algumas variáveis de ambiente para o serviço e mapeando a porta 5432 do serviço para a porta 5432 do runner do GitHub Actions.

O options define um comando de saúde que o GitHub Actions usa para verificar se o serviço está pronto para aceitar conexões. Neste caso, estamos usando o comando pg_isready que é uma ferramenta fornecida pelo PostgreSQL para verificar a conexão.

Depois de definir o serviço, você deve ser capaz de se conectar ao banco de dados no seu teste usando localhost como o host e 5432 como a porta.

Lembre-se que essa é uma sugestão de solução e pode não resolver completamente o seu problema, pois pode haver outros fatores envolvidos que não estão presentes no contexto fornecido.

Espero ter ajudado e bons estudos!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software