| .. | ||
| skipped | ||
| connection_test.dart | ||
| dart_test.yaml | ||
| docker-compose.test.yml | ||
| downloader_integration_test.dart | ||
| README.md | ||
MumBullet Integration Tests
This directory contains integration tests for the MumBullet application.
Prerequisites
- Docker and Docker Compose installed and running
 - Dart SDK installed
 
Running Tests
The integration tests will automatically:
- Check if Docker is running
 - Start the required Docker containers
 - Run the tests
 - Clean up containers afterward
 
To run all tests:
dart test
To run only integration tests:
dart test test/integration/
To run a specific test:
dart test test/integration/connection_test.dart
Development Environment
For development, use the main docker-compose.yml in the project root:
# Start the development server
docker-compose up -d
# Run the bot
dart run bin/mumbullet.dart --config test/fixtures/test_config.json
# Stop the development server
docker-compose down
Integration Test Environment
The integration tests use a separate Docker Compose file:
# Run tests (Docker is started automatically)
dart test test/integration/
# Manually start test environment if needed
docker-compose -f test/integration/docker-compose.test.yml up -d
# Manually stop test environment
docker-compose -f test/integration/docker-compose.test.yml down -v
Test Configuration
The tests use special configuration files in the test/fixtures/ directory:
test_config.json: Main test bot configurationtest_configs/admin_config.json: Admin bot configurationtest_configs/user_config.json: User bot configuration
All configurations point to the Docker Mumble server running on localhost:64738.
Server Configuration
The Docker-based Mumble server is pre-configured with:
- Server password: 
serverpassword - Multiple channels: 
Music,General,Gaming, and their subchannels - Default channel: 
Music 
This setup allows testing different authentication and channel navigation scenarios.
Project Structure
test/
├── fixtures/            # Test fixtures and configurations
│   ├── cache/           # Cache directory for tests
│   ├── murmur.ini       # Mumble server configuration
│   ├── test_config.json # Main test configuration
│   └── test_configs/    # Additional test configurations
│       ├── admin_config.json
│       └── user_config.json
└── integration/         # Integration tests
    ├── connection_test.dart     # Tests for Mumble connection
    ├── docker-compose.test.yml  # Docker setup for integration tests
    └── README.md                # This file
The integration tests use a separate Docker Compose setup from the development environment to ensure consistent, isolated testing.