Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
212 changes: 3 additions & 209 deletions docker-compose.tst.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,25 +17,9 @@ services:
condition: service_healthy
testPg-e2e-testing:
condition: service_healthy
mssql-e2e-testing:
condition: service_healthy
test-oracle-e2e-testing:
condition: service_healthy
test-ibm-db2-e2e-testing:
condition: service_healthy
test-mongo-e2e-testing:
condition: service_healthy
test-dynamodb-e2e-testing:
condition: service_healthy
test-redis-e2e-testing:
condition: service_healthy
test-cassandra-e2e-testing:
condition: service_healthy
test-clickhouse-e2e-testing:
condition: service_healthy
test-elasticsearch-e2e-testing:
condition: service_healthy
command: ["/bin/sh", "-c", "pnpm test-all-parallel $EXTRA_ARGS"]
# $EXTRA_ARGS is a single ava glob (quoted so the extglob reaches ava
# intact instead of being expanded by the container's dash shell).
command: ["/bin/sh", "-c", "pnpm test-all-parallel \"$EXTRA_ARGS\""]
develop:
watch:
- action: rebuild
Expand Down Expand Up @@ -73,23 +57,6 @@ services:
retries: 10
start_period: 10s

test-mongo-e2e-testing:
image: mongo
restart: always
environment:
MONGO_INITDB_ROOT_USERNAME: root
MONGO_INITDB_ROOT_PASSWORD: example
ports:
- 27017:27017
tmpfs:
- /data/db
healthcheck:
test: [ "CMD", "mongosh", "--eval", "db.adminCommand('ping')" ]
interval: 10s
timeout: 5s
retries: 10
start_period: 30s

postgres:
image: postgres
ports:
Expand All @@ -106,44 +73,6 @@ services:
retries: 10
start_period: 10s

mssql-e2e-testing:
image: mcr.microsoft.com/mssql/server:2019-latest
environment:
- SA_PASSWORD=yNuXf@6T#BgoQ%U6knMp
- ACCEPT_EULA=Y
ports:
- "5434:1433"
tmpfs:
- /var/opt/mssql
healthcheck:
test:
[
"CMD-SHELL",
"/opt/mssql-tools18/bin/sqlcmd -S localhost -U sa -P
'yNuXf@6T#BgoQ%U6knMp' -C -Q 'SELECT 1' ||
/opt/mssql-tools/bin/sqlcmd -S localhost -U sa -P
'yNuXf@6T#BgoQ%U6knMp' -Q 'SELECT 1'",
]
interval: 10s
timeout: 5s
retries: 20
start_period: 60s

test-oracle-e2e-testing:
image: gvenzl/oracle-xe
ports:
- 1521:1521
environment:
ORACLE_PASSWORD: 12345
tmpfs:
- /opt/oracle/oradata
healthcheck:
test: [ "CMD-SHELL", "healthcheck.sh" ]
interval: 10s
timeout: 5s
retries: 30
start_period: 120s

autoadmin-ws-server:
build:
context: autoadmin-ws-server
Expand All @@ -157,138 +86,3 @@ services:
- backend
depends_on:
- backend
test-cassandra-e2e-testing:
image: cassandra:5.0.4
environment:
- CASSANDRA_CLUSTER_NAME=TestCluster
- CASSANDRA_DC=TestDC
- CASSANDRA_RACK=TestRack
- MAX_HEAP_SIZE=768M
- HEAP_NEWSIZE=128M
mem_limit: 3g
restart: always
healthcheck:
test:
[
"CMD",
"cqlsh",
"-u",
"cassandra",
"-p",
"cassandra",
"-e",
"describe keyspaces",
]
interval: 30s
timeout: 10s
retries: 5
start_period: 60s

test-redis-e2e-testing:
image: redis:7.0.11
command: [ "redis-server", "--requirepass", "SuperSecretRedisPassword" ]
tmpfs:
- /data
healthcheck:
test: [ "CMD", "redis-cli", "ping" ]
interval: 30s
timeout: 10s
retries: 3

test-ibm-db2-e2e-testing:
image: icr.io/db2_community/db2
restart: always
privileged: true
environment:
- LICENSE=accept
- DB2INSTANCE=db2inst1
- DB2INST1_PASSWORD=password
- DBNAME=testdb
- BLU=false
- ENABLE_ORACLE_COMPATIBILITY=false
- UPDATEAVAIL=NO
- TO_CREATE_SAMPLEDB=true
- REPODB=false
- IS_OSXFS=false
- PERSISTENT_HOME=true
- HADR_ENABLED=false
- ETCD_ENDPOINT=
- ETCD_USERNAME=
- ETCD_PASSWORD=
ports:
- 50000:50000
healthcheck:
test: [ "CMD-SHELL", "su - db2inst1 -c 'db2 connect to testdb'" ]
interval: 30s
timeout: 30s
retries: 20
start_period: 180s

test-dynamodb-e2e-testing:
image: amazon/dynamodb-local
environment:
- AWS_ACCESS_KEY_ID=SuperSecretAwsAccessKey
- AWS_SECRET=SuperSecretAwsSecret
healthcheck:
test: [ "CMD-SHELL", "curl -s http://localhost:8000 || exit 1" ]
interval: 10s
timeout: 5s
retries: 10
start_period: 10s

test-clickhouse-e2e-testing:
image: clickhouse/clickhouse-server:24.8
restart: unless-stopped
ports:
- 8123:8123
- 9000:9000
environment:
- CLICKHOUSE_DB=testdb
- CLICKHOUSE_USER=default
- CLICKHOUSE_PASSWORD=clickhouse_password
- CLICKHOUSE_DEFAULT_ACCESS_MANAGEMENT=1
tmpfs:
- /var/lib/clickhouse
ulimits:
nofile:
soft: 262144
hard: 262144
healthcheck:
test:
[
"CMD",
"clickhouse-client",
"--user=default",
"--password=clickhouse_password",
"--query=SELECT 1",
]
interval: 10s
timeout: 5s
retries: 20
start_period: 60s

test-elasticsearch-e2e-testing:
image: docker.elastic.co/elasticsearch/elasticsearch:8.15.0
environment:
- discovery.type=single-node
- xpack.security.enabled=true
- ELASTIC_PASSWORD=SuperSecretElasticPassword
- ES_JAVA_OPTS=-Xms512m -Xmx512m
ports:
- 9200:9200
tmpfs:
- /usr/share/elasticsearch/data
ulimits:
memlock:
soft: -1
hard: -1
healthcheck:
test:
[
"CMD-SHELL",
"curl -s -u elastic:SuperSecretElasticPassword http://localhost:9200/_cluster/health | grep -E '\"status\":\"(green|yellow)\"'",
]
interval: 10s
timeout: 5s
retries: 20
start_period: 60s
7 changes: 6 additions & 1 deletion justfile
Original file line number Diff line number Diff line change
@@ -1,2 +1,7 @@
test args='test/ava-tests/non-saas-tests/*':
# CI default runs only the Postgres + MySQL (and DB-agnostic) suites — the
# other database engines (Oracle, MSSQL, Mongo, IBM DB2, Cassandra, Redis,
# DynamoDB, ClickHouse, Elasticsearch) are excluded so their heavy containers
# aren't needed. Pass an explicit glob to run a different subset locally, e.g.
# just test 'test/ava-tests/non-saas-tests/*mongo*.test.ts'
test args='test/ava-tests/non-saas-tests/!(*oracle*|*ibmdb2*|*cassandra*|*elasticsearch*|*mssql*|*mongo*|*redis*|*dynamodb*|*clickhouse*).test.ts':
Comment on lines +1 to +6
EXTRA_ARGS="{{args}}" docker compose -f docker-compose.tst.yml up --abort-on-container-exit --force-recreate --build --attach=backend --no-log-prefix
Loading