Refactoring the code a bit here to make the `Rocket` instance available to the integration tests. To do this, we have to convert to a library crate (`lib.rs`) with an executable entry point (`main.rs`). This allows the tests, which are separate crates, to import types and functions from the library. Besides splitting the `rocket` function into two parts (one in `lib.rs` that creates the `Rocket<Build>` and another in `main.rs` that becomes the process entry point), I have reworked the initialization process to make better use of Rocket's "fairings" feature. We don't want to call `process::exit()` in a test, so if there is a problem reading the configuration or initializing the context, we need to report it to Rocket instead.
21 lines
593 B
TOML
21 lines
593 B
TOML
[package]
|
|
name = "seensite"
|
|
version = "0.1.0"
|
|
edition = "2021"
|
|
|
|
[dependencies]
|
|
chrono = { version = "0.4.40", default-features = false, features = ["std", "clock", "serde"] }
|
|
html5ever = "0.27.0"
|
|
jsonwebtoken = { version = "9.3.1", default-features = false }
|
|
markup5ever_rcdom = "0.3.0"
|
|
meilisearch-sdk = "0.28.0"
|
|
rand = "0.9.0"
|
|
rocket = { version = "0.5.1", features = ["json"] }
|
|
serde = { version = "1.0.219", features = ["derive"] }
|
|
thiserror = "2.0.12"
|
|
tracing = "0.1.41"
|
|
tracing-subscriber = { version = "0.3.19", features = ["env-filter"] }
|
|
|
|
[dev-dependencies]
|
|
form_urlencoded = "1.2.1"
|