Skip to content

Commit 891ac85

Browse files
docker-compose-testing-capability
Summary: - Mock servers in containers. - Automated testing uses `docker compose` where available. - Added how to documentation. - All test cases continue to pass, on both: - Platforms supporting `docker` and therefore following the new pattern. - Platforms **not** supporting `docker` and therefore **not** following the new pattern.
1 parent 94354ff commit 891ac85

File tree

4 files changed

+447
-3
lines changed

4 files changed

+447
-3
lines changed

docker-compose-testing.yml

Lines changed: 393 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,393 @@
1+
2+
3+
services:
4+
credentialsgen:
5+
restart: "no"
6+
image: stackql/testlib
7+
build:
8+
context: .
9+
dockerfile: testLib.Dockerfile
10+
# cache_from:
11+
# - stackql/testlib
12+
volumes:
13+
- ./test/server/mtls/credentials:/opt/stackql/srv/credentials:rw
14+
command:
15+
- bash
16+
- -c
17+
- |
18+
openssl req -x509 -keyout /opt/stackql/srv/credentials/pg_server_key.pem -out /opt/stackql/srv/credentials/pg_server_cert.pem -config /opt/test/stackql/test/server/mtls/openssl.cnf -days 365 \
19+
&& openssl req -x509 -keyout /opt/stackql/srv/credentials/pg_client_key.pem -out /opt/stackql/srv/credentials/pg_client_cert.pem -config /opt/test/stackql/test/server/mtls/openssl.cnf -days 365 \
20+
&& openssl req -x509 -keyout /opt/stackql/srv/credentials/pg_rubbish_key.pem -out /opt/stackql/srv/credentials/pg_rubbish_cert.pem -config /opt/test/stackql/test/server/mtls/openssl.cnf -days 365
21+
github_mockserver:
22+
networks:
23+
testing-network:
24+
aliases:
25+
- github.com
26+
image: stackql/testlib
27+
build:
28+
context: .
29+
dockerfile: testLib.Dockerfile
30+
# cache_from:
31+
# - stackql/testlib
32+
volumes:
33+
- ./test/server/mtls/credentials:/opt/testlib/test/server/mtls/credentials:ro
34+
ports:
35+
- "1093:1093/tcp"
36+
depends_on:
37+
- credentialsgen
38+
environment:
39+
IS_DOCKER: "${IS_DOCKER:-false}"
40+
command:
41+
- bash
42+
- -c
43+
- |
44+
flask \
45+
--app=/opt/testlib/test/python/stackql_test_tooling/flask/github/app \
46+
run \
47+
--cert=/opt/testlib/test/server/mtls/credentials/pg_server_cert.pem \
48+
--key=/opt/testlib/test/server/mtls/credentials/pg_server_key.pem \
49+
--host 0.0.0.0 \
50+
--port \
51+
1093
52+
google_mockserver:
53+
networks:
54+
testing-network:
55+
aliases:
56+
- googleapis.com
57+
image: stackql/testlib
58+
build:
59+
context: .
60+
dockerfile: testLib.Dockerfile
61+
# cache_from:
62+
# - stackql/testlib
63+
volumes:
64+
- ./test/server/mtls/credentials:/opt/testlib/test/server/mtls/credentials:ro
65+
ports:
66+
- "1080:1080/tcp"
67+
depends_on:
68+
- credentialsgen
69+
environment:
70+
IS_DOCKER: "${IS_DOCKER:-false}"
71+
command:
72+
- bash
73+
- -c
74+
- |
75+
flask \
76+
--app=/opt/testlib/test/python/stackql_test_tooling/flask/gcp/app \
77+
run \
78+
--cert=/opt/testlib/test/server/mtls/credentials/pg_server_cert.pem \
79+
--key=/opt/testlib/test/server/mtls/credentials/pg_server_key.pem \
80+
--host 0.0.0.0 \
81+
--port \
82+
1080
83+
azure_mockserver:
84+
networks:
85+
testing-network:
86+
aliases:
87+
- azure.com
88+
image: stackql/testlib
89+
build:
90+
context: .
91+
dockerfile: testLib.Dockerfile
92+
# cache_from:
93+
# - stackql/testlib
94+
volumes:
95+
- ./test/server/mtls/credentials:/opt/testlib/test/server/mtls/credentials:ro
96+
ports:
97+
- "1095:1095/tcp"
98+
depends_on:
99+
- credentialsgen
100+
environment:
101+
IS_DOCKER: "${IS_DOCKER:-false}"
102+
command:
103+
- bash
104+
- -c
105+
- |
106+
flask \
107+
--app=/opt/testlib/test/python/stackql_test_tooling/flask/azure/app \
108+
run \
109+
--cert=/opt/testlib/test/server/mtls/credentials/pg_server_cert.pem \
110+
--key=/opt/testlib/test/server/mtls/credentials/pg_server_key.pem \
111+
--host 0.0.0.0 \
112+
--port \
113+
1095
114+
okta_mockserver:
115+
networks:
116+
testing-network:
117+
aliases:
118+
- okta.com
119+
image: stackql/testlib
120+
build:
121+
context: .
122+
dockerfile: testLib.Dockerfile
123+
# cache_from:
124+
# - stackql/testlib
125+
volumes:
126+
- ./test/server/mtls/credentials:/opt/testlib/test/server/mtls/credentials:ro
127+
ports:
128+
- "1090:1090/tcp"
129+
depends_on:
130+
- credentialsgen
131+
environment:
132+
IS_DOCKER: "${IS_DOCKER:-false}"
133+
command:
134+
- bash
135+
- -c
136+
- |
137+
flask \
138+
--app=/opt/testlib/test/python/stackql_test_tooling/flask/okta/app \
139+
run \
140+
--cert=/opt/testlib/test/server/mtls/credentials/pg_server_cert.pem \
141+
--key=/opt/testlib/test/server/mtls/credentials/pg_server_key.pem \
142+
--host 0.0.0.0 \
143+
--port \
144+
1090
145+
aws_mockserver:
146+
networks:
147+
testing-network:
148+
aliases:
149+
- aws.com
150+
image: stackql/testlib
151+
build:
152+
context: .
153+
dockerfile: testLib.Dockerfile
154+
# cache_from:
155+
# - stackql/testlib
156+
volumes:
157+
- ./test/server/mtls/credentials:/opt/testlib/test/server/mtls/credentials:ro
158+
ports:
159+
- "1091:1091/tcp"
160+
depends_on:
161+
- credentialsgen
162+
environment:
163+
IS_DOCKER: "${IS_DOCKER:-false}"
164+
command:
165+
- bash
166+
- -c
167+
- |
168+
flask \
169+
--app=/opt/testlib/test/python/stackql_test_tooling/flask/aws/app \
170+
run \
171+
--cert=/opt/testlib/test/server/mtls/credentials/pg_server_cert.pem \
172+
--key=/opt/testlib/test/server/mtls/credentials/pg_server_key.pem \
173+
--host 0.0.0.0 \
174+
--port \
175+
1091
176+
sumologic_mockserver:
177+
networks:
178+
testing-network:
179+
aliases:
180+
- sumologic.com
181+
image: stackql/testlib
182+
build:
183+
context: .
184+
dockerfile: testLib.Dockerfile
185+
# cache_from:
186+
# - stackql/testlib
187+
volumes:
188+
- ./test/server/mtls/credentials:/opt/testlib/test/server/mtls/credentials:ro
189+
ports:
190+
- "1096:1096/tcp"
191+
depends_on:
192+
- credentialsgen
193+
environment:
194+
IS_DOCKER: "${IS_DOCKER:-false}"
195+
command:
196+
- bash
197+
- -c
198+
- |
199+
flask \
200+
--app=/opt/testlib/test/python/stackql_test_tooling/flask/sumologic/app \
201+
run \
202+
--cert=/opt/testlib/test/server/mtls/credentials/pg_server_cert.pem \
203+
--key=/opt/testlib/test/server/mtls/credentials/pg_server_key.pem \
204+
--host 0.0.0.0 \
205+
--port \
206+
1096
207+
digitalocean_mockserver:
208+
networks:
209+
testing-network:
210+
aliases:
211+
- digitalocean.com
212+
image: stackql/testlib
213+
build:
214+
context: .
215+
dockerfile: testLib.Dockerfile
216+
# cache_from:
217+
# - stackql/testlib
218+
volumes:
219+
- ./test/server/mtls/credentials:/opt/testlib/test/server/mtls/credentials:ro
220+
ports:
221+
- "1097:1097/tcp"
222+
depends_on:
223+
- credentialsgen
224+
environment:
225+
IS_DOCKER: "${IS_DOCKER:-false}"
226+
command:
227+
- bash
228+
- -c
229+
- |
230+
flask \
231+
--app=/opt/testlib/test/python/stackql_test_tooling/flask/digitalocean/app \
232+
run \
233+
--cert=/opt/testlib/test/server/mtls/credentials/pg_server_cert.pem \
234+
--key=/opt/testlib/test/server/mtls/credentials/pg_server_key.pem \
235+
--host 0.0.0.0 \
236+
--port \
237+
1097
238+
googleadmin_mockserver:
239+
networks:
240+
testing-network:
241+
aliases:
242+
- googleadmin.com
243+
image: stackql/testlib
244+
build:
245+
context: .
246+
dockerfile: testLib.Dockerfile
247+
# cache_from:
248+
# - stackql/testlib
249+
volumes:
250+
- ./test/server/mtls/credentials:/opt/testlib/test/server/mtls/credentials:ro
251+
ports:
252+
- "1098:1098/tcp"
253+
depends_on:
254+
- credentialsgen
255+
environment:
256+
IS_DOCKER: "${IS_DOCKER:-false}"
257+
command:
258+
- bash
259+
- -c
260+
- |
261+
flask \
262+
--app=/opt/testlib/test/python/stackql_test_tooling/flask/googleadmin/app \
263+
run \
264+
--cert=/opt/testlib/test/server/mtls/credentials/pg_server_cert.pem \
265+
--key=/opt/testlib/test/server/mtls/credentials/pg_server_key.pem \
266+
--host 0.0.0.0 \
267+
--port \
268+
1098
269+
static_auth_mockserver:
270+
networks:
271+
testing-network:
272+
aliases:
273+
- staticauth.com
274+
image: stackql/testlib
275+
build:
276+
context: .
277+
dockerfile: testLib.Dockerfile
278+
# cache_from:
279+
# - stackql/testlib
280+
volumes:
281+
- ./test/server/mtls/credentials:/opt/testlib/test/server/mtls/credentials:ro
282+
ports:
283+
- "1170:1170/tcp"
284+
depends_on:
285+
- credentialsgen
286+
environment:
287+
IS_DOCKER: "${IS_DOCKER:-false}"
288+
command:
289+
- bash
290+
- -c
291+
- |
292+
flask \
293+
--app=/opt/testlib/test/python/stackql_test_tooling/flask/static_auth/app \
294+
run \
295+
--cert=/opt/testlib/test/server/mtls/credentials/pg_server_cert.pem \
296+
--key=/opt/testlib/test/server/mtls/credentials/pg_server_key.pem \
297+
--host 0.0.0.0 \
298+
--port \
299+
1170
300+
token_srv_mockserver:
301+
networks:
302+
testing-network:
303+
aliases:
304+
- staticauth.com
305+
image: stackql/testlib
306+
build:
307+
context: .
308+
dockerfile: testLib.Dockerfile
309+
# cache_from:
310+
# - stackql/testlib
311+
volumes:
312+
- ./test/server/mtls/credentials:/opt/testlib/test/server/mtls/credentials:ro
313+
ports:
314+
- "2091:2091/tcp"
315+
depends_on:
316+
- credentialsgen
317+
environment:
318+
IS_DOCKER: "${IS_DOCKER:-false}"
319+
command:
320+
- bash
321+
- -c
322+
- |
323+
flask \
324+
--app=/opt/testlib/test/python/stackql_test_tooling/flask/oauth2/token_srv \
325+
run \
326+
--cert=/opt/testlib/test/server/mtls/credentials/pg_server_cert.pem \
327+
--key=/opt/testlib/test/server/mtls/credentials/pg_server_key.pem \
328+
--host 0.0.0.0 \
329+
--port \
330+
2091
331+
k8s_mockserver:
332+
networks:
333+
testing-network:
334+
aliases:
335+
- k8s.com
336+
image: stackql/testlib
337+
build:
338+
context: .
339+
dockerfile: testLib.Dockerfile
340+
# cache_from:
341+
# - stackql/testlib
342+
volumes:
343+
- ./test/server/mtls/credentials:/opt/testlib/test/server/mtls/credentials:ro
344+
ports:
345+
- "1092:1092/tcp"
346+
depends_on:
347+
- credentialsgen
348+
environment:
349+
IS_DOCKER: "${IS_DOCKER:-false}"
350+
command:
351+
- bash
352+
- -c
353+
- |
354+
flask \
355+
--app=/opt/testlib/test/python/stackql_test_tooling/flask/k8s/app \
356+
run \
357+
--cert=/opt/testlib/test/server/mtls/credentials/pg_server_cert.pem \
358+
--key=/opt/testlib/test/server/mtls/credentials/pg_server_key.pem \
359+
--host 0.0.0.0 \
360+
--port \
361+
1092
362+
registry_mockserver:
363+
networks:
364+
testing-network:
365+
aliases:
366+
- registry.com
367+
image: stackql/testlib
368+
build:
369+
context: .
370+
dockerfile: testLib.Dockerfile
371+
# cache_from:
372+
# - stackql/testlib
373+
volumes:
374+
- ./test/server/mtls/credentials:/opt/testlib/test/server/mtls/credentials:ro
375+
ports:
376+
- "1094:1094/tcp"
377+
environment:
378+
IS_DOCKER: "${IS_DOCKER:-false}"
379+
command:
380+
- bash
381+
- -c
382+
- |
383+
flask \
384+
--app=/opt/testlib/test/python/stackql_test_tooling/flask/registry/app \
385+
run \
386+
--host 0.0.0.0 \
387+
--port \
388+
1094
389+
390+
networks:
391+
testing-network:
392+
driver: bridge
393+

0 commit comments

Comments
 (0)