bottest/Cargo.toml

108 lines
2.6 KiB
TOML
Raw Normal View History

2025-12-06 11:05:57 -03:00
[package]
name = "bottest"
version = "6.1.0"
edition = "2021"
description = "Comprehensive test suite for General Bots - Unit, Integration, and E2E testing"
license = "AGPL-3.0"
repository = "https://github.com/GeneralBots/BotServer"
[dependencies]
# The server we're testing - include drive and cache for required deps
botserver = { path = "../botserver", default-features = false, features = ["chat", "llm", "automation", "tasks", "directory", "drive", "cache"] }
botlib = { path = "../botlib", features = ["database"] }
# Async runtime
tokio = { version = "1.41", features = ["full", "test-util", "macros"] }
async-trait = "0.1"
futures = "0.3"
futures-util = "0.3"
# Database
diesel = { version = "2.1", features = ["postgres", "uuid", "chrono", "serde_json", "r2d2"] }
diesel_migrations = "2.1.0"
# HTTP mocking and testing
wiremock = "0.6"
cookie = "0.18"
mockito = "1.7"
reqwest = { version = "0.12", features = ["json", "cookies", "blocking"] }
# Web/E2E testing - using Chrome DevTools Protocol directly (no chromedriver)
2025-12-15 16:36:26 -03:00
chromiumoxide = { version = "0.7", features = ["tokio-runtime"], default-features = false }
2025-12-06 11:05:57 -03:00
# Web framework for test server
axum = { version = "0.7.5", features = ["ws", "multipart", "macros"] }
tower = "0.4"
tower-http = { version = "0.5", features = ["cors", "trace"] }
hyper = { version = "0.14", features = ["full"] }
# Serialization
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
# Utilities
uuid = { version = "1.11", features = ["serde", "v4"] }
chrono = { version = "0.4", features = ["serde"] }
rand = "0.9"
tempfile = "3"
which = "7"
regex = "1.11"
base64 = "0.22"
url = "2.5"
dirs = "5.0"
2025-12-06 11:05:57 -03:00
# Process management for services
nix = { version = "0.29", features = ["signal", "process"] }
# Archive extraction
zip = "2.2"
# Logging and tracing
log = "0.4"
env_logger = "0.11"
tracing = "0.1"
tracing-subscriber = { version = "0.3", features = ["fmt", "env-filter"] }
# Error handling
anyhow = "1.0"
thiserror = "2.0"
# Test framework enhancements
pretty_assertions = "1.4"
# Async testing
tokio-test = "0.4"
# Rhai for BASIC function testing
rhai = { git = "https://github.com/therealprof/rhai.git", branch = "features/use-web-time", features = ["sync"] }
# Configuration
dotenvy = "0.15"
[dev-dependencies]
insta = { version = "1.40", features = ["json", "yaml"] }
[features]
default = ["full"]
2025-12-06 11:05:57 -03:00
integration = []
e2e = []
full = ["integration", "e2e"]
[[test]]
name = "unit"
path = "tests/unit/mod.rs"
[[test]]
name = "integration"
path = "tests/integration/mod.rs"
required-features = ["integration"]
[[test]]
name = "e2e"
path = "tests/e2e/mod.rs"
required-features = ["e2e"]
[[bin]]
name = "bottest"
path = "src/main.rs"