mirror of
https://github.com/seaweedfs/seaweedfs.git
synced 2025-09-24 07:33:35 +08:00
setup integration test for postgres
This commit is contained in:
79
test/postgres/Makefile
Normal file
79
test/postgres/Makefile
Normal file
@@ -0,0 +1,79 @@
|
||||
# SeaweedFS PostgreSQL Test Suite Makefile
|
||||
|
||||
.PHONY: help start stop clean produce test psql logs status all dev
|
||||
|
||||
# Default target
|
||||
help: ## Show this help message
|
||||
@echo "SeaweedFS PostgreSQL Test Suite"
|
||||
@echo "==============================="
|
||||
@echo "Available targets:"
|
||||
@awk 'BEGIN {FS = ":.*?## "} /^[a-zA-Z_-]+:.*?## / {printf " %-12s %s\n", $$1, $$2}' $(MAKEFILE_LIST)
|
||||
@echo ""
|
||||
@echo "Quick start: make all"
|
||||
|
||||
start: ## Start SeaweedFS and PostgreSQL servers
|
||||
@./run-tests.sh start
|
||||
|
||||
stop: ## Stop all services
|
||||
@./run-tests.sh stop
|
||||
|
||||
clean: ## Stop services and remove all data
|
||||
@./run-tests.sh clean
|
||||
|
||||
produce: ## Create MQ test data
|
||||
@./run-tests.sh produce
|
||||
|
||||
test: ## Run PostgreSQL client tests
|
||||
@./run-tests.sh test
|
||||
|
||||
psql: ## Connect with interactive psql client
|
||||
@./run-tests.sh psql
|
||||
|
||||
logs: ## Show service logs
|
||||
@./run-tests.sh logs
|
||||
|
||||
status: ## Show service status
|
||||
@./run-tests.sh status
|
||||
|
||||
all: ## Run complete test suite (start -> produce -> test)
|
||||
@./run-tests.sh all
|
||||
|
||||
# Development targets
|
||||
dev-start: ## Start services for development
|
||||
@echo "Starting development environment..."
|
||||
@docker-compose up -d seaweedfs postgres-server
|
||||
@echo "Services started. Run 'make dev-logs' to watch logs."
|
||||
|
||||
dev-logs: ## Follow logs for development
|
||||
@docker-compose logs -f seaweedfs postgres-server
|
||||
|
||||
dev-rebuild: ## Rebuild and restart services
|
||||
@docker-compose down
|
||||
@docker-compose up -d --build seaweedfs postgres-server
|
||||
|
||||
# Individual service targets
|
||||
start-seaweedfs: ## Start only SeaweedFS
|
||||
@docker-compose up -d seaweedfs
|
||||
|
||||
start-postgres: ## Start only PostgreSQL server
|
||||
@docker-compose up -d postgres-server
|
||||
|
||||
# Testing targets
|
||||
test-basic: ## Run basic connectivity test
|
||||
@docker run --rm --network postgres_seaweedfs-net postgres:15-alpine \
|
||||
psql -h postgres-server -p 5432 -U seaweedfs -d default -c "SELECT version();"
|
||||
|
||||
test-producer: ## Test data producer only
|
||||
@docker-compose up --build mq-producer
|
||||
|
||||
test-client: ## Test client only
|
||||
@docker-compose up --build postgres-client
|
||||
|
||||
# Cleanup targets
|
||||
clean-images: ## Remove Docker images
|
||||
@docker-compose down
|
||||
@docker image prune -f
|
||||
|
||||
clean-all: ## Complete cleanup including images
|
||||
@docker-compose down -v --rmi all
|
||||
@docker system prune -f
|
Reference in New Issue
Block a user