blob: 9d577ab1910d792816625befe215b7a0ee3a74b0 [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}
- BDD_RUST_FEATURES=${BDD_RUST_FEATURES:-bdd}
- 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
- ./scenarios/raw_command.feature:/app/features/raw_command.feature
- ./scenarios/stream_crud.feature:/app/features/stream_crud.feature
command:
- sh
- -c
- |
case "$$BDD_FEATURE" in
basic_messaging) cargo test -p bdd --features "$$BDD_RUST_FEATURES" --test basic_messaging ;;
leader_redirection) cargo test -p bdd --features "$$BDD_RUST_FEATURES" --test leader_redirection ;;
raw_command) cargo test -p bdd --features "$$BDD_RUST_FEATURES" --test raw_command ;;
stream_crud) cargo test -p bdd --features "$$BDD_RUST_FEATURES" --test stream_crud ;;
*) cargo test -p bdd --features "$$BDD_RUST_FEATURES" ;;
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
- BDD_FEATURE=${BDD_FEATURE:-all}
volumes:
- ./scenarios/basic_messaging.feature:/app/features/basic_messaging.feature
- ./scenarios/raw_command.feature:/app/features/raw_command.feature
working_dir: /app
command:
- sh
- -c
- |
case "$$BDD_FEATURE" in
basic_messaging) TEST_PATH='tests/test_basic_messaging.py' ;;
raw_command) TEST_PATH='tests/test_raw_command.py' ;;
*) TEST_PATH='tests/' ;;
esac
uv run --project /workspace/bdd/python pytest $$TEST_PATH -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=${BDD_FEATURE:-all}
volumes:
- ./scenarios/basic_messaging.feature:/app/features/basic_messaging.feature
- ./scenarios/raw_command.feature:/app/features/raw_command.feature
command:
- sh
- -c
- |
case "$$BDD_FEATURE" in
basic_messaging) GROUP='--group basic-messaging' ;;
raw_command) GROUP='--group raw-command' ;;
*) GROUP='' ;;
esac
./scripts/test.sh --configuration /workspace/bdd/php/phpunit.xml.dist $$GROUP
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
- BDD_FEATURE=${BDD_FEATURE:-all}
command:
- sh
- -c
- |
case "$$BDD_FEATURE" in
basic_messaging) TAGS='--tags @basic-messaging' ;;
raw_command) TAGS='--tags @raw-command' ;;
*) TAGS='' ;;
esac
npm run test:bdd -- $$TAGS
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' ;;
raw_command) FILTER='--filter-trait Category=raw-command' ;;
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
- BDD_FEATURE=${BDD_FEATURE:-all}
volumes:
- ./scenarios/basic_messaging.feature:/app/features/basic_messaging.feature
- ./scenarios/leader_redirection.feature:/app/features/leader_redirection.feature
- ./scenarios/raw_command.feature:/app/features/raw_command.feature
- ./scenarios/stream_crud.feature:/app/features/stream_crud.feature
command:
- sh
- -c
- |
case "$$BDD_FEATURE" in
basic_messaging) export CUCUMBER_FILTER_TAGS='@basic-messaging' ;;
leader_redirection) export CUCUMBER_FILTER_TAGS='@requires-leader-awareness' ;;
raw_command) export CUCUMBER_FILTER_TAGS='@raw-command' ;;
stream_crud) export CUCUMBER_FILTER_TAGS='@stream-crud' ;;
esac
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
- BDD_FEATURE=${BDD_FEATURE:-all}
volumes:
- ./scenarios/basic_messaging.feature:/app/features/basic_messaging.feature
- ./scenarios/raw_command.feature:/app/features/raw_command.feature
networks:
- iggy-bdd-network
networks:
iggy-bdd-network:
driver: bridge