Pré-requisitos:
- Ter docker e docker compose na máquina
Para executar siga os passos:
- Na raiz deste repositório execute:
docker compose up -d
- Este comando irá fazer o build da aplicação e executá-la localmente
- Serão provisionados:
- A aplicação de auctions na porta http
8080
- O MongoDB na porta
27017
- O mongo-express na porta http
8081
(interface gráfica para explorar o mongodb)
- A aplicação de auctions na porta http
- As configurações da aplication de auctions estão em
cmd/auction/.env
- Para executar os testes existem scripts HTTP (Intellij) na pasta
scripts
- O script
test.http
tem testes para:- Criação de um auction
- Criação de um bid para o auction criado anteriormente
- Consulta do bid vencedor do auction criado anteriormente
- Consulta do auction criado anteriormente
- Listagem de auctions
- O script
AUCTION=$(curl -v http://localhost:8080/auction -d '{"product_name":"produto 4","category":"categoria","description":"desicricao descricao","condition":1}' | jq -rM .id)
curl -v http://localhost:8080/bid -d "{\"user_id\":\"00000000-0000-0000-0000-000000000000\",\"auction_id\":\"$AUCTION\",\"amount\":1.53}"
Execute mais de uma vez esse comando para criar vários BIDs
curl "http://localhost:8080/auction/winner/$AUCTION"
curl "http://localhost:8080/auction/$AUCTION"
curl "http://localhost:8080/auction?status=0"
- Criação do método
autocloseAuction
eminternal/infra/database/auction/create_auction.go
- Alguns refactors para possibilitar reuso de código
- Criação do teste
internal/infra/database/auction/create_auction_test.go
para validar o auto fechamento de um leilão - Incluído no
docker-compose.yml
o mongo-express (interface para explorar o mongoDB) - Scripts HTTP em
scripts/
e esta documentação