template test: check for determinism
This commit is contained in:
1
Cargo.lock
generated
1
Cargo.lock
generated
@@ -3727,6 +3727,7 @@ dependencies = [
|
||||
"minijinja-contrib",
|
||||
"oauth2-types",
|
||||
"rand 0.8.5",
|
||||
"rand_chacha 0.3.1",
|
||||
"serde",
|
||||
"serde_json",
|
||||
"serde_urlencoded",
|
||||
|
||||
@@ -42,3 +42,6 @@ mas-i18n.workspace = true
|
||||
mas-iana.workspace = true
|
||||
mas-router.workspace = true
|
||||
mas-spa.workspace = true
|
||||
|
||||
[dev-dependencies]
|
||||
rand_chacha.workspace = true
|
||||
|
||||
@@ -482,14 +482,15 @@ impl Templates {
|
||||
|
||||
#[cfg(test)]
|
||||
mod tests {
|
||||
use rand::SeedableRng;
|
||||
|
||||
use super::*;
|
||||
|
||||
#[tokio::test]
|
||||
async fn check_builtin_templates() {
|
||||
#[allow(clippy::disallowed_methods)]
|
||||
let now = chrono::Utc::now();
|
||||
#[allow(clippy::disallowed_methods)]
|
||||
let rng = rand::thread_rng();
|
||||
let rng = rand_chacha::ChaCha8Rng::from_seed([42; 32]);
|
||||
|
||||
let path = Utf8Path::new(env!("CARGO_MANIFEST_DIR")).join("../../templates/");
|
||||
let url_builder = UrlBuilder::new("https://example.com/".parse().unwrap(), None, None);
|
||||
@@ -517,6 +518,11 @@ mod tests {
|
||||
)
|
||||
.await
|
||||
.unwrap();
|
||||
templates.check_render(now, &rng).unwrap();
|
||||
|
||||
// Check the renders are deterministic, when given the same rng
|
||||
let render1 = templates.check_render(now, &rng).unwrap();
|
||||
let render2 = templates.check_render(now, &rng).unwrap();
|
||||
|
||||
assert_eq!(render1, render2);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user