From 5e4e69620b3a66a2c16f155a7171de1f81773c1d Mon Sep 17 00:00:00 2001 From: TommyLike Date: Wed, 17 May 2023 20:26:18 +0800 Subject: [PATCH] Add testcase for key file --- .../handler/control/model/datakey/dto.rs | 2 +- src/util/key.rs | 35 +++++++++++++++++++ 2 files changed, 36 insertions(+), 1 deletion(-) diff --git a/src/presentation/handler/control/model/datakey/dto.rs b/src/presentation/handler/control/model/datakey/dto.rs index 7a5087e..5c07ff7 100644 --- a/src/presentation/handler/control/model/datakey/dto.rs +++ b/src/presentation/handler/control/model/datakey/dto.rs @@ -135,7 +135,7 @@ fn validate_key_visibility(visibility: &str) -> std::result::Result<(), Validati } fn validate_invalid_character(name: &str) -> std::result::Result<(), ValidationError> { - if name.contains(":") { + if name.contains(':') { return Err(ValidationError::new("invalid character(':') in name")); } Ok(()) diff --git a/src/util/key.rs b/src/util/key.rs index a46e2ef..41314c0 100644 --- a/src/util/key.rs +++ b/src/util/key.rs @@ -47,4 +47,39 @@ pub fn sorted_map(value: &HashM let mut items: Vec<(_, _)> = value.iter().collect(); items.sort_by(|a, b| a.0.cmp(b.0)); BTreeMap::from_iter(items).serialize(serializer) +} + +#[cfg(test)] +mod test { + use super::*; + + #[test] + fn test_generate_random_tokens() { + let token_a = generate_api_token(); + let token_b = generate_api_token(); + let token_c = generate_api_token(); + assert_ne!(token_a, token_b); + assert_ne!(token_b, token_c); + } + + #[test] + fn test_compute_token_hash_unique() { + let token_a = generate_api_token(); + let token_b = generate_api_token(); + let hash_a = get_token_hash(&token_a); + let hash_b = get_token_hash(&token_b); + let hash_c = get_token_hash(&token_a); + assert_eq!(hash_a, hash_c); + assert_ne!(hash_a, hash_b); + assert_eq!(hash_a.len(), hash_b.len()); + } + + #[test] + fn test_encode_decode_hex_string_to_u8() { + let content = "AD12FF00".to_string(); + let decoded = decode_hex_string_to_u8(&content); + assert_eq!(decoded, vec![173, 18, 255, 00]); + let content_a = encode_u8_to_hex_string(&decoded); + assert_eq!(content, content_a); + } } \ No newline at end of file -- Gitee