Files
projectmycelium/Cargo.toml
2025-09-01 21:37:01 -04:00

106 lines
2.8 KiB
TOML

[package]
name = "projectmycelium"
version = "0.1.0"
edition = "2021"
authors = ["Mahmoud Emad (emadm@codescalers.com) & Michaël Perreault (perreault@threefold.io)"]
description = "Project Mycelium Instance of the Web Application Framework Built with Actix Web and Rust"
[lib]
name = "project_mycelium"
path = "src/lib.rs"
[[bin]]
name = "projectmycelium"
path = "src/main.rs"
[dependencies]
actix-web = "4.3"
actix-files = "0.6"
actix-session = { version = "0.7", features = ["cookie-session"] }
tera = "1.18"
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
config = "0.13"
log = "0.4"
env_logger = "0.10"
dotenv = "0.15"
chrono = { version = "0.4", features = ["serde"] }
jsonwebtoken = "8.3"
lazy_static = "1.4"
futures-util = "0.3"
num_cpus = "1.15"
bcrypt = "0.14"
uuid = { version = "1.3", features = ["v4", "serde"] }
oauth2 = { version = "4.3" }
reqwest = { version = "0.11", features = ["json"] }
rust_decimal = { version = "1.32", features = ["serde-float"] }
rust_decimal_macros = "1.32"
rand = "0.8"
glob = "0.3"
base64 = "0.22"
sha2 = "0.10"
[dev-dependencies]
actix-rt = "2.8"
tokio = { version = "1.28", features = ["full"] }
# UX Testing Dependencies
thirtyfour = "0.32" # Selenium WebDriver for Rust
tempfile = "3.0" # Temporary files for test isolation
image = "0.24" # Screenshot comparison
tokio-test = "0.4" # Async test utilities
regex = "1.10" # Pattern matching for assertions
fantoccini = "0.20" # Alternative WebDriver client
serial_test = "3.0" # Sequential test execution
[features]
default = []
ux_testing = [] # Feature flag for UX tests
# UX Test Suite Configuration
[[test]]
name = "frontend_ux_suite"
path = "tests/frontend_ux/mod.rs"
required-features = ["ux_testing"]
[[test]]
name = "public_access_ux"
path = "tests/frontend_ux/public_access_ux_test.rs"
required-features = ["ux_testing"]
[[test]]
name = "authentication_ux"
path = "tests/frontend_ux/authentication_ux_test.rs"
required-features = ["ux_testing"]
[[test]]
name = "purchase_cart_ux"
path = "tests/frontend_ux/purchase_cart_ux_test.rs"
required-features = ["ux_testing"]
[[test]]
name = "credits_wallet_ux"
path = "tests/frontend_ux/credits_wallet_ux_test.rs"
required-features = ["ux_testing"]
[[test]]
name = "marketplace_categories_ux"
path = "tests/frontend_ux/marketplace_categories_ux_test.rs"
required-features = ["ux_testing"]
[[test]]
name = "settings_management_ux"
path = "tests/frontend_ux/settings_management_ux_test.rs"
required-features = ["ux_testing"]
[[test]]
name = "provider_dashboards_ux"
path = "tests/frontend_ux/provider_dashboards_ux_test.rs"
required-features = ["ux_testing"]
[[test]]
name = "ssh_key_frontend_ux"
path = "tests/frontend_ux/ssh_key_frontend_ux_test.rs"
required-features = ["ux_testing"]