1- .PHONY : help build rebuild start stop restart clean logs test test-unit test-image test-all test-load verify
1+ .PHONY : help build rebuild start stop restart clean logs test test-unit test-image test-all test-load test-load-discovery verify
22
33help :
44 @echo " Available commands:"
@@ -14,11 +14,12 @@ help:
1414 @echo " make clean - Stop and remove containers, images, and volumes"
1515 @echo " "
1616 @echo " Testing:"
17- @echo " make test - Run all tests (unit + image build)"
18- @echo " make test-unit - Run unit tests for server logic only"
19- @echo " make test-image - Run Docker image build validation tests"
20- @echo " make test-all - Alias for test"
21- @echo " make test-load - Run load tests with k6 (20 users, 1min)"
17+ @echo " make test - Run all tests (unit + image build)"
18+ @echo " make test-unit - Run unit tests for server logic only"
19+ @echo " make test-image - Run Docker image build validation tests"
20+ @echo " make test-load - Run all load tests (manual config + auto-discovery)"
21+ @echo " make test-load-manual-config - Run load tests (manual models.json mode)"
22+ @echo " make test-load-discovery - Run load tests (auto-discovery mode)"
2223
2324rebuild : stop build start
2425 @echo " Rebuild complete!"
@@ -67,11 +68,9 @@ verify:
6768test : test-unit test-image
6869 @echo " "
6970 @echo " ======================================"
70- @echo " ✓ All tests passed successfully!"
71+ @echo " OK All tests passed successfully!"
7172 @echo " ======================================"
7273
73- test-all : test
74-
7574# Test 1: Unit tests for server logic
7675test-unit :
7776 @echo " ======================================"
@@ -95,24 +94,55 @@ test-image:
9594 @echo " "
9695 @bash tests/test-image-build.sh
9796
98- # Test 3: Load testing with k6 (via docker-compose)
99- test-load :
97+ # Test 3: Load testing with k6 (via docker-compose) - All modes
98+ test-load : test-load-manual-config test-load-discovery
99+ @echo " "
100+ @echo " ======================================"
101+ @echo " All load tests completed!"
102+ @echo " ======================================"
103+
104+ # Test 3a: Load testing - Manual models.json configuration
105+ test-load-manual-config :
100106 @echo " "
101107 @echo " ======================================"
102- @echo " Running Load Tests (20 users, 1min)"
108+ @echo " Running Load Tests (Manual Config)"
109+ @echo " 20 users, 1min, models.json"
103110 @echo " ======================================"
104111 @echo " "
105112 @echo " Building images..."
106- @VUS=20 DURATION=1m docker compose -f docker/docker-compose.loadtest.yml build
113+ @VUS=20 DURATION=1m AUTO_FETCH_MODELS_BY_TAG=false docker compose -f docker/docker-compose.loadtest.yml build
107114 @echo " "
108115 @echo " Starting services (mock-n8n, bridge, k6)..."
109- @VUS=20 DURATION=1m docker compose -f docker/docker-compose.loadtest.yml up --abort-on-container-exit --exit-code-from k6
116+ @VUS=20 DURATION=1m AUTO_FETCH_MODELS_BY_TAG=false docker compose -f docker/docker-compose.loadtest.yml up --abort-on-container-exit --exit-code-from k6
110117 @echo " "
111118 @echo " Cleaning up..."
112119 @docker compose -f docker/docker-compose.loadtest.yml down -v
113120 @echo " "
114- @echo " ✓ Load tests completed!"
121+ @echo " OK Load tests (Manual Config) completed!"
115122 @echo " "
116123 @if [ -f tests/load/summary.json ]; then \
117- echo " 📊 Detailed results saved to: tests/load/summary.json" ; \
118- fi
124+ echo " Detailed results saved to: tests/load/summary.json" ; \
125+ fi
126+
127+ # Test 3b: Load testing - Auto-Discovery mode
128+ test-load-discovery :
129+ @echo " "
130+ @echo " ======================================"
131+ @echo " Running Load Tests (Auto-Discovery)"
132+ @echo " 20 users, 1min, auto-discovery mode"
133+ @echo " ======================================"
134+ @echo " "
135+ @echo " Building images..."
136+ @VUS=20 DURATION=1m AUTO_FETCH_MODELS_BY_TAG=true N8N_API_BEARER_TOKEN=mock-token docker compose -f docker/docker-compose.loadtest.yml build
137+ @echo " "
138+ @echo " Starting services (mock-n8n, bridge, k6)..."
139+ @VUS=20 DURATION=1m AUTO_FETCH_MODELS_BY_TAG=true N8N_API_BEARER_TOKEN=mock-token docker compose -f docker/docker-compose.loadtest.yml up --abort-on-container-exit --exit-code-from k6
140+ @echo " "
141+ @echo " Cleaning up..."
142+ @docker compose -f docker/docker-compose.loadtest.yml down -v
143+ @echo " "
144+ @echo " OK Load tests (Auto-Discovery) completed!"
145+ @echo " "
146+ @if [ -f tests/load/summary.json ]; then \
147+ echo " Detailed results saved to: tests/load/summary.json" ; \
148+ fi
0 commit comments