aboutsummaryrefslogtreecommitdiff
path: root/test/postgres/Makefile
blob: 13813055c4d2292412238ab317a95a16583d6c32 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
# 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

restart-postgres: ## Start only PostgreSQL server
	@docker-compose down -d postgres-server
	@docker-compose up -d --build seaweedfs 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