This commit is contained in:
Sebastian Jeltsch
2026-05-04 22:15:56 +02:00
parent c0754fbe76
commit 54a29eeaea
3 changed files with 203 additions and 4 deletions
Generated
+189 -3
View File
@@ -1773,6 +1773,15 @@ dependencies = [
"ctutils",
]
[[package]]
name = "directories"
version = "6.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "16f5094c54661b38d03bd7e50df373292118db60b585c08a411c6d840017fe7d"
dependencies = [
"dirs-sys",
]
[[package]]
name = "directories-next"
version = "2.0.0"
@@ -1783,6 +1792,18 @@ dependencies = [
"dirs-sys-next",
]
[[package]]
name = "dirs-sys"
version = "0.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e01a3366d27ee9890022452ee61b2b63a67e6f13f58900b651ff5665f0bb1fab"
dependencies = [
"libc",
"option-ext",
"redox_users 0.5.2",
"windows-sys 0.61.2",
]
[[package]]
name = "dirs-sys-next"
version = "0.1.2"
@@ -1790,7 +1811,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4ebda144c4fe02d1f7ea1a7d9641b6fc6b580adcfa024ae48797ecdeb6825b4d"
dependencies = [
"libc",
"redox_users",
"redox_users 0.4.6",
"winapi",
]
@@ -2122,6 +2143,17 @@ version = "0.2.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "28dea519a9695b9977216879a3ebfddf92f1c08c05d984f8996aecd6ecdc811d"
[[package]]
name = "filetime"
version = "0.2.27"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f98844151eee8917efc50bd9e8318cb963ae8b297431495d3f758616ea5c57db"
dependencies = [
"cfg-if",
"libc",
"libredox",
]
[[package]]
name = "find-msvc-tools"
version = "0.1.9"
@@ -2717,6 +2749,12 @@ version = "0.5.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fc0fef456e4baa96da950455cd02c081ca953b141298e41db3fc7e36b1da849c"
[[package]]
name = "hex"
version = "0.4.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70"
[[package]]
name = "hkdf"
version = "0.12.4"
@@ -3363,6 +3401,12 @@ dependencies = [
"spin 0.9.8",
]
[[package]]
name = "leb128"
version = "0.2.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6cc46bac87ef8093eed6f272babb833b6443374399985ac8ed28471ee0918545"
[[package]]
name = "leb128fmt"
version = "0.1.0"
@@ -3434,7 +3478,10 @@ version = "0.1.16"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e02f3bb43d335493c96bf3fd3a321600bf6bd07ed34bc64118e9293bdffea46c"
dependencies = [
"bitflags",
"libc",
"plain",
"redox_syscall 0.7.4",
]
[[package]]
@@ -4116,6 +4163,12 @@ dependencies = [
"tokio-stream",
]
[[package]]
name = "option-ext"
version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d"
[[package]]
name = "ordered-float"
version = "2.10.1"
@@ -4189,7 +4242,7 @@ checksum = "2621685985a2ebf1c516881c026032ac7deafcda1a2c9b7850dc81e3dfcb64c1"
dependencies = [
"cfg-if",
"libc",
"redox_syscall",
"redox_syscall 0.5.18",
"smallvec",
"windows-link",
]
@@ -4263,6 +4316,29 @@ dependencies = [
"indexmap",
]
[[package]]
name = "pglite-oxide"
version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b3cc2a5e21b06b3da8c4b5770161cc53cfaa9db7883321022795cd94c7545472"
dependencies = [
"anyhow",
"directories",
"flate2",
"getrandom 0.4.2",
"hex",
"regex",
"serde",
"serde_json",
"sha2 0.10.9",
"tar",
"tempfile",
"tracing",
"wasmtime",
"wasmtime-wasi",
"zstd",
]
[[package]]
name = "pgrow2serde"
version = "0.1.0"
@@ -4439,6 +4515,12 @@ version = "0.3.33"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "19f132c84eca552bf34cab8ec81f1c1dcc229b811638f9d283dceabe58c5569e"
[[package]]
name = "plain"
version = "0.2.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b4596b6d070b27117e987119b4dac604f3c58cfb0b191112e24771b2faeac1a6"
[[package]]
name = "plotters"
version = "0.3.7"
@@ -5040,6 +5122,15 @@ dependencies = [
"bitflags",
]
[[package]]
name = "redox_syscall"
version = "0.7.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f450ad9c3b1da563fb6948a8e0fb0fb9269711c9c73d9ea1de5058c79c8d643a"
dependencies = [
"bitflags",
]
[[package]]
name = "redox_users"
version = "0.4.6"
@@ -5051,6 +5142,17 @@ dependencies = [
"thiserror 1.0.69",
]
[[package]]
name = "redox_users"
version = "0.5.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a4e608c6638b9c18977b00b475ac1f28d14e84b27d8d42f70e0bf1e3dec127ac"
dependencies = [
"getrandom 0.2.17",
"libredox",
"thiserror 2.0.18",
]
[[package]]
name = "ref-cast"
version = "1.0.25"
@@ -6221,6 +6323,17 @@ version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7b2093cf4c8eb1e67749a6762251bc9cd836b6fc171623bd0a9d324d37af2417"
[[package]]
name = "tar"
version = "0.4.45"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "22692a6476a21fa75fdfc11d452fda482af402c008cdbaf3476414e122040973"
dependencies = [
"filetime",
"libc",
"xattr",
]
[[package]]
name = "target-lexicon"
version = "0.13.5"
@@ -6803,6 +6916,7 @@ dependencies = [
"oauth2",
"object_store",
"parking_lot",
"pglite-oxide",
"pin-project-lite",
"prost",
"prost-reflect",
@@ -8078,6 +8192,7 @@ dependencies = [
"url",
"wasmtime",
"wasmtime-wasi-io",
"wiggle",
"windows-sys 0.61.2",
]
@@ -8117,6 +8232,15 @@ dependencies = [
"wasmtime",
]
[[package]]
name = "wast"
version = "35.0.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2ef140f1b49946586078353a453a1d28ba90adfc54dde75710bc1931de204d68"
dependencies = [
"leb128",
]
[[package]]
name = "wast"
version = "248.0.0"
@@ -8136,7 +8260,7 @@ version = "1.248.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d75cd9e510603909748e6ebab89f27cd04472c1d9d85a3c88a7a6fc51a1a7934"
dependencies = [
"wast",
"wast 248.0.0",
]
[[package]]
@@ -8199,6 +8323,46 @@ dependencies = [
"web-sys",
]
[[package]]
name = "wiggle"
version = "44.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7f878b066ad36054ad6e7724230f28ea7f981f44e595e39946d5225fd9e87755"
dependencies = [
"bitflags",
"thiserror 2.0.18",
"tracing",
"wasmtime",
"wasmtime-environ",
"wiggle-macro",
]
[[package]]
name = "wiggle-generate"
version = "44.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f57f0bc709dacc9c69869006457ab4e1bc9d93695400f06224f33cbe8af81778"
dependencies = [
"heck",
"proc-macro2",
"quote",
"syn",
"wasmtime-environ",
"witx",
]
[[package]]
name = "wiggle-macro"
version = "44.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "63976fe41647f7c55c680b88a7b9b68aae9184f5a6b4a0971bf3eb39c287467f"
dependencies = [
"proc-macro2",
"quote",
"syn",
"wiggle-generate",
]
[[package]]
name = "winapi"
version = "0.3.9"
@@ -8748,6 +8912,18 @@ dependencies = [
"wasmparser 0.248.0",
]
[[package]]
name = "witx"
version = "0.9.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e366f27a5cabcddb2706a78296a40b8fcc451e1a6aba2fc1d94b4a01bdaaef4b"
dependencies = [
"anyhow",
"log",
"thiserror 1.0.69",
"wast 35.0.2",
]
[[package]]
name = "wkt"
version = "0.10.3"
@@ -8823,6 +8999,16 @@ dependencies = [
"time",
]
[[package]]
name = "xattr"
version = "1.6.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "32e45ad4206f6d2479085147f02bc2ef834ac85886624a23575ae137c8aa8156"
dependencies = [
"libc",
"rustix 1.1.4",
]
[[package]]
name = "yansi"
version = "1.0.1"
+1
View File
@@ -128,6 +128,7 @@ axum-test = "20.0.0"
criterion = { version = "0.8", features = ["html_reports", "async_tokio"] }
env_logger = { workspace = true }
indoc = "2.0.5"
pglite-oxide = "0.3.0"
quoted_printable = "0.5.1"
rcgen = "0.14.1"
schemars = "1.0.0"
+13 -1
View File
@@ -59,6 +59,10 @@ struct InternalState {
/// WASM runtime builders needed to rebuild above runtimes, e.g. when hot-reloading.
wasm_runtimes_builder: crate::wasm::WasmRuntimeBuilder,
#[cfg(test)]
#[allow(unused)]
pg_uri: Option<String>,
#[cfg(test)]
#[allow(unused)]
test_cleanup: Vec<Box<dyn std::any::Any + Send + Sync>>,
@@ -201,6 +205,8 @@ impl AppState {
.collect(),
wasm_runtimes_builder,
#[cfg(test)]
pg_uri: None,
#[cfg(test)]
test_cleanup: vec![],
}),
}
@@ -517,6 +523,11 @@ pub async fn test_state(options: Option<TestStateOptions>) -> anyhow::Result<App
tokio::fs::create_dir_all(temp_dir.child("uploads")).await?;
let data_dir = DataDir(temp_dir.path().to_path_buf());
// Start PgLite.
let db = pglite_oxide::PgliteServer::temporary_tcp()?;
let pg_uri = db.connection_uri();
println!("PG URI: {pg_uri:?}");
let TestStateOptions {
config,
mailer,
@@ -591,7 +602,8 @@ pub async fn test_state(options: Option<TestStateOptions>) -> anyhow::Result<App
object_store,
wasm_runtimes: vec![],
wasm_runtimes_builder: Box::new(|| Ok(vec![])),
test_cleanup: vec![Box::new(temp_dir)],
pg_uri: Some(pg_uri),
test_cleanup: vec![Box::new(db), Box::new(temp_dir)],
}),
});
}