blob: 0c6076634d96e618f076ed18d87c8416412c2eb2 [file]
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
services:
rust-bdd:
image: iggy-bdd-rust
build:
context: ..
dockerfile: bdd/rust/Dockerfile
environment:
- IGGY_ROOT_USERNAME=iggy
- IGGY_ROOT_PASSWORD=iggy
- BDD_FEATURE=${BDD_FEATURE:-all}
- RUST_LOG=debug
- RUSTFLAGS=-C linker=gcc
volumes:
- ./scenarios/basic_messaging.feature:/app/features/basic_messaging.feature
- ./scenarios/leader_redirection.feature:/app/features/leader_redirection.feature
command:
- sh
- -c
- |
case "$$BDD_FEATURE" in
basic_messaging) cargo test -p bdd --features bdd --test basic_messaging ;;
leader_redirection) cargo test -p bdd --features bdd --test leader_redirection ;;
*) cargo test -p bdd --features bdd ;;
esac
networks:
- iggy-bdd-network
python-bdd:
image: iggy-bdd-python
build:
context: ..
dockerfile: bdd/python/Dockerfile
environment:
- IGGY_ROOT_USERNAME=iggy
- IGGY_ROOT_PASSWORD=iggy
volumes:
- ./scenarios/basic_messaging.feature:/app/features/basic_messaging.feature
working_dir: /app
command: [ "uv", "run", "--project", "/workspace/bdd/python", "pytest", "tests/", "-v" ]
networks:
- iggy-bdd-network
php-bdd:
build:
context: ..
dockerfile: bdd/php/Dockerfile
depends_on:
iggy-server:
condition: service_healthy
environment:
- IGGY_HOST=iggy-server
- IGGY_PORT=8090
- IGGY_USERNAME=iggy
- IGGY_PASSWORD=iggy
- BDD_FEATURE_FILE=/app/features/basic_messaging.feature
volumes:
- ./scenarios/basic_messaging.feature:/app/features/basic_messaging.feature
command: [ "./scripts/test.sh", "--configuration", "/workspace/bdd/php/phpunit.xml.dist" ]
networks:
- iggy-bdd-network
go-bdd:
image: iggy-bdd-go
build:
context: ..
dockerfile: bdd/go/Dockerfile
environment:
- IGGY_ROOT_USERNAME=iggy
- IGGY_ROOT_PASSWORD=iggy
- BDD_FEATURE=${BDD_FEATURE:-all}
- GO_TEST_EXTRA_FLAGS=${GO_TEST_EXTRA_FLAGS:-}
command: [ "sh", "-c", "go test -v ${GO_TEST_EXTRA_FLAGS:-} ./..." ]
networks:
- iggy-bdd-network
node-bdd:
image: iggy-bdd-node
build:
context: ..
dockerfile: bdd/node/Dockerfile
environment:
- IGGY_ROOT_USERNAME=iggy
- IGGY_ROOT_PASSWORD=iggy
command: [ "npm", "run", "test:bdd" ]
networks:
- iggy-bdd-network
csharp-bdd:
image: iggy-bdd-csharp
build:
context: ..
dockerfile: bdd/csharp/Dockerfile
environment:
- IGGY_ROOT_USERNAME=iggy
- IGGY_ROOT_PASSWORD=iggy
- BDD_FEATURE=${BDD_FEATURE:-all}
command:
- sh
- -c
- |
FILTER=""
case "$$BDD_FEATURE" in
basic_messaging) FILTER='--filter-trait Category=basic-messaging' ;;
leader_redirection) FILTER='--filter-trait Category=requires-leader-awareness' ;;
esac
dotnet test $$FILTER
networks:
- iggy-bdd-network
java-bdd:
image: iggy-bdd-java
build:
context: ..
dockerfile: bdd/java/Dockerfile
environment:
- IGGY_ROOT_USERNAME=iggy
- IGGY_ROOT_PASSWORD=iggy
volumes:
- ./scenarios/basic_messaging.feature:/app/features/basic_messaging.feature
command: [ "gradle", "--no-daemon", "test" ]
networks:
- iggy-bdd-network
cpp-bdd:
image: iggy-bdd-cpp
build:
context: ..
dockerfile: bdd/cpp/Dockerfile
environment:
- IGGY_ROOT_USERNAME=iggy
- IGGY_ROOT_PASSWORD=iggy
volumes:
- ./scenarios/basic_messaging.feature:/app/features/basic_messaging.feature
networks:
- iggy-bdd-network
networks:
iggy-bdd-network:
driver: bridge