bottest/Cargo.toml

113 lines
2.8 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"
2025-12-21 23:40:44 -03:00
readme = "README.md"
keywords = ["testing", "bot", "integration-testing", "e2e", "general-bots"]
categories = ["development-tools::testing"]
2025-12-06 11:05:57 -03:00
[dependencies]
# Common library for shared types
2026-01-23 09:37:46 -03:00
botlib = { workspace = true, features = ["database"] }
2025-12-06 11:05:57 -03:00
# Async runtime
2026-01-23 09:37:46 -03:00
tokio = { workspace = true, features = ["full", "test-util", "macros"] }
async-trait = { workspace = true }
futures = { workspace = true }
futures-util = { workspace = true }
2025-12-06 11:05:57 -03:00
# Database
2026-01-23 09:37:46 -03:00
diesel = { workspace = true, features = ["postgres", "uuid", "chrono", "serde_json", "r2d2"] }
diesel_migrations = { workspace = true }
2025-12-06 11:05:57 -03:00
# HTTP mocking and testing
2026-01-23 09:37:46 -03:00
wiremock = { workspace = true }
cookie = { workspace = true }
mockito = { workspace = true }
reqwest = { workspace = true, features = ["json", "cookies", "blocking"] }
2025-12-06 11:05:57 -03:00
# Web/E2E testing - using Chrome DevTools Protocol directly (no chromedriver)
2026-01-23 09:37:46 -03:00
chromiumoxide = { workspace = true }
2025-12-06 11:05:57 -03:00
# Web framework for test server
2026-01-23 09:37:46 -03:00
axum = { workspace = true }
tower = { workspace = true }
tower-http = { workspace = true, features = ["cors", "trace"] }
2025-12-06 11:05:57 -03:00
hyper = { version = "0.14", features = ["full"] }
# Serialization
2026-01-23 09:37:46 -03:00
serde = { workspace = true, features = ["derive"] }
serde_json = { workspace = true }
2025-12-06 11:05:57 -03:00
# Utilities
2026-01-23 09:37:46 -03:00
uuid = { workspace = true, features = ["serde", "v4"] }
chrono = { workspace = true, features = ["serde"] }
rand = { workspace = true }
tempfile = { workspace = true }
which = { workspace = true }
regex = { workspace = true }
base64 = { workspace = true }
url = { workspace = true }
dirs = { workspace = true }
2025-12-06 11:05:57 -03:00
# Process management for services
2026-01-23 09:37:46 -03:00
nix = { workspace = true }
2025-12-06 11:05:57 -03:00
# Archive extraction
2026-01-23 09:37:46 -03:00
zip = { workspace = true }
2025-12-06 11:05:57 -03:00
# Logging and tracing
2026-01-23 09:37:46 -03:00
log = { workspace = true }
env_logger = { workspace = true }
tracing = { workspace = true }
tracing-subscriber = { workspace = true, features = ["fmt", "env-filter"] }
2025-12-06 11:05:57 -03:00
# Error handling
2026-01-23 09:37:46 -03:00
anyhow = { workspace = true }
thiserror = { workspace = true }
2025-12-06 11:05:57 -03:00
# Test framework enhancements
2026-01-23 09:37:46 -03:00
pretty_assertions = { workspace = true }
2025-12-06 11:05:57 -03:00
# Async testing
2026-01-23 09:37:46 -03:00
tokio-test = { workspace = true }
2025-12-06 11:05:57 -03:00
# Rhai for BASIC function testing
rhai = { git = "https://github.com/therealprof/rhai.git", branch = "features/use-web-time", features = ["sync"] }
# Configuration
2026-01-23 09:37:46 -03:00
dotenvy = { workspace = true }
2025-12-06 11:05:57 -03:00
[dev-dependencies]
2026-01-23 09:37:46 -03:00
insta = { workspace = true }
2025-12-06 11:05:57 -03:00
[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"
2025-12-21 23:40:44 -03:00
[lints]
workspace = true