libdd_trace_obfuscation/
memcached.rs1#[must_use]
6pub fn obfuscate_memcached_string(cmd: &str) -> String {
7 let split: Vec<&str> = cmd.splitn(2, "\r\n").collect();
13 let res = split.first().copied().unwrap_or(cmd);
14 res.trim().to_string()
15}
16
17#[cfg(test)]
18mod tests {
19 use duplicate::duplicate_item;
20
21 use super::obfuscate_memcached_string;
22
23 #[duplicate_item(
24 test_name input expected;
25 [test_obfuscate_memcached_1] ["set mykey 0 60 5\r\nvalue"] ["set mykey 0 60 5"];
26 [test_obfuscate_memcached_2] ["get mykey"] ["get mykey"];
27 [test_obfuscate_memcached_3] ["add newkey 0 60 5\r\nvalue"] ["add newkey 0 60 5"];
28 [test_obfuscate_memcached_4] ["add newkey 0 60 5\r\nvalue\r\nvalue1"] ["add newkey 0 60 5"];
29 [test_obfuscate_memcached_5] ["decr mykey 5"] ["decr mykey 5"];
30 [fuzzing_2126976840] ["\t"] [""];
31 )]
32 #[test]
33 fn test_name() {
34 let result = obfuscate_memcached_string(input);
35 assert_eq!(result, expected);
36 }
37}