71 lines
2.1 KiB
Rust
71 lines
2.1 KiB
Rust
use super::*;
|
|
#[test]
|
|
fn print_serialized_test() {
|
|
let temp_secret = TempSecret {
|
|
content: String::from("Hallo"),
|
|
version: 12,
|
|
};
|
|
let serialized = serialize_secret_json(&temp_secret);
|
|
println!("string serialized: {:?}", serialized);
|
|
let deserialized = deserialize_secret_struct(&serialized.unwrap());
|
|
println!(
|
|
"Struct field from deserialized: {}",
|
|
deserialized.unwrap().content
|
|
)
|
|
}
|
|
#[test]
|
|
fn test_patching() {
|
|
// TODO add more assertions
|
|
let mut base = create_mock_meta();
|
|
println!("OLD metadata: {:?}", base);
|
|
let overwrite: SecretMeta = SecretMeta {
|
|
max_versions: 10,
|
|
versions: vec![VersionMeta {
|
|
created_time: Utc::now(),
|
|
deletion_time: Some(Utc::now()),
|
|
destroyed: true,
|
|
}],
|
|
cas_required: true,
|
|
delete_version_after: "10m".to_string(),
|
|
current_version: 4,
|
|
oldest_version: 2,
|
|
updated_time: Utc::now(),
|
|
created_time: Utc::now(),
|
|
custom_metadata: HashMap::new(),
|
|
};
|
|
let mut patched: Option<SecretMeta> = None; // Laurenz here
|
|
match patch_metadata(&mut base, &overwrite) {
|
|
Ok(meta) => {
|
|
println!("NEW metadata: {:?}", meta);
|
|
println!("patched successfully");
|
|
patched = Some(meta);
|
|
}
|
|
Err(e) => {
|
|
log::error!("error patching metadata: {}", e);
|
|
panic!("Patching failed");
|
|
}
|
|
}
|
|
|
|
if let Some(patched_meta) = patched {
|
|
assert!(patched_meta.current_version == 4);
|
|
assert!(patched_meta.versions[0].destroyed == true);
|
|
} else {
|
|
panic!("patched was not initialized");
|
|
}
|
|
}
|
|
|
|
pub fn create_mock_meta() -> SecretMeta {
|
|
SecretMeta {
|
|
cas_required: false,
|
|
created_time: DateTime::parse_from_rfc3339("2018-03-22T02:24:06.945319214Z")
|
|
.unwrap()
|
|
.with_timezone(&Utc),
|
|
current_version: 3,
|
|
delete_version_after: "3h25m19s".to_string(),
|
|
max_versions: 0,
|
|
oldest_version: 0,
|
|
updated_time: Utc::now(),
|
|
custom_metadata: HashMap::new(),
|
|
versions: vec![],
|
|
}
|
|
}
|