feat: harden community production foundation through story 1.5
This commit is contained in:
@@ -0,0 +1,48 @@
|
||||
use crank_config::{field_registry, render};
|
||||
|
||||
#[test]
|
||||
fn generated_contract_is_deterministic_complete_and_redacted() {
|
||||
assert_eq!(render::schema_json(), render::schema_json());
|
||||
let schema: serde_json::Value = serde_json::from_str(&render::schema_json()).unwrap();
|
||||
assert_eq!(
|
||||
schema["fields"].as_array().unwrap().len(),
|
||||
field_registry().len()
|
||||
);
|
||||
for section in [render::env_section(false), render::env_section(true)] {
|
||||
assert!(!section.contains("change-me"));
|
||||
assert!(!section.contains("CRANK_RUNTIME_MAX_CONCURRENT_WINDOW"));
|
||||
assert!(!section.contains("CRANK_RUNTIME_MAX_CONCURRENT_JOBS"));
|
||||
assert!(!section.contains("CRANK_CACHE_DEFAULT_TTL_MS"));
|
||||
}
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn generated_reference_distinguishes_required_and_optional_fields() {
|
||||
let reference = render::reference_section();
|
||||
|
||||
assert!(reference.contains(
|
||||
"| `CRANK_MASTER_KEY` | `runtime.master_key` | `Shared` | `secret/-` | `required/blank` |"
|
||||
));
|
||||
assert!(
|
||||
reference
|
||||
.contains("| `CRANK_DATABASE_URL` | `database.url` | `Shared` | `url/-` | `blank` |")
|
||||
);
|
||||
assert!(reference.contains(
|
||||
"| `CRANK_LOG_LEVEL` | `observability.log_filter` | `Shared` | `string/-` | `blank` |"
|
||||
));
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn marker_replacement_is_bounded_to_the_generated_region() {
|
||||
let input = "before\n# BEGIN GENERATED CRANK RUNTIME CONFIG\nstale\n# END GENERATED CRANK RUNTIME CONFIG\nafter\n";
|
||||
let output = render::replace_marked(
|
||||
input,
|
||||
render::BEGIN_MARKER,
|
||||
render::END_MARKER,
|
||||
&render::env_section(false),
|
||||
)
|
||||
.unwrap();
|
||||
assert!(output.starts_with("before\n"));
|
||||
assert!(output.ends_with("\nafter\n"));
|
||||
assert!(!output.contains("stale"));
|
||||
}
|
||||
Reference in New Issue
Block a user