- Add Makefile with convenient test targets (test, test-integration, test-env-up, test-env-down) - Add .env.test with test-specific configuration - Update .env.example with test configuration options and warnings - Update README.md with comprehensive testing documentation - Document all environment variables with safety warnings This makes it easy to run tests without rate limiting issues while keeping production security intact.
60 lines
1.8 KiB
Makefile
60 lines
1.8 KiB
Makefile
.PHONY: help test test-integration test-all build build-force clean rebuild logs test-env-up test-env-down
|
|
|
|
# Default target
|
|
help:
|
|
@echo "Available targets:"
|
|
@echo " make test - Run unit tests"
|
|
@echo " make test-integration - Run integration tests with test mode enabled"
|
|
@echo " make test-all - Run all tests"
|
|
@echo " make build - Build and start containers"
|
|
@echo " make build-force - Force rebuild and start containers"
|
|
@echo " make clean - Stop and remove containers"
|
|
@echo " make rebuild - Clean, rebuild, and start containers"
|
|
@echo " make logs - Show container logs"
|
|
@echo " make test-env-up - Start containers with test mode enabled"
|
|
@echo " make test-env-down - Stop test environment"
|
|
|
|
# Run unit tests
|
|
test:
|
|
go test ./... -v -short
|
|
|
|
# Run integration tests with test mode enabled (avoids rate limiting)
|
|
test-integration:
|
|
@echo "Running integration tests with TEST_MODE enabled..."
|
|
TEST_MODE=true RATE_LIMIT_ENABLED=false go test ./cmd/server/tests -run TestIntegrationAPI -v -timeout 5m
|
|
|
|
# Run all tests
|
|
test-all: test test-integration
|
|
|
|
# Build and start containers
|
|
build:
|
|
podman compose up --build -d
|
|
|
|
# Force rebuild without cache
|
|
build-force:
|
|
podman compose build --no-cache
|
|
podman compose up -d
|
|
|
|
# Stop and remove containers
|
|
clean:
|
|
podman compose down -v
|
|
|
|
# Clean rebuild (remove volumes, rebuild, start)
|
|
rebuild: clean build
|
|
|
|
# Show container logs
|
|
logs:
|
|
podman compose logs -f
|
|
|
|
# Start containers with test mode enabled for integration testing
|
|
test-env-up:
|
|
@echo "Starting containers with test mode enabled..."
|
|
TEST_MODE=true RATE_LIMIT_ENABLED=false REQUESTS_PER_MINUTE=1000 podman compose up --build -d
|
|
@echo "Waiting for services to be ready..."
|
|
sleep 10
|
|
@echo "Test environment is ready!"
|
|
|
|
# Stop test environment
|
|
test-env-down:
|
|
podman compose down -v
|