diff --git a/libindy/src/services/anoncreds/helpers.rs b/libindy/src/services/anoncreds/helpers.rs index 3a57f1f06d..703225f709 100644 --- a/libindy/src/services/anoncreds/helpers.rs +++ b/libindy/src/services/anoncreds/helpers.rs @@ -113,7 +113,10 @@ pub fn parse_cred_rev_id(cred_rev_id: &str) -> IndyResult { pub fn get_non_revoc_interval(global_interval: &Option, local_interval: &Option) -> Option { trace!("get_non_revoc_interval >>> global_interval: {:?}, local_interval: {:?}", global_interval, local_interval); - let interval = local_interval.clone().or_else(|| global_interval.clone().or(None)); + let interval = local_interval + .clone() + .or_else(|| global_interval.clone().or(None)) + .filter(|x| x.to.is_some() || x.from.is_some()); trace!("get_non_revoc_interval <<< interval: {:?}", interval); @@ -178,6 +181,12 @@ mod tests { assert_eq!(None, res); } + #[test] + fn get_non_revoc_interval_for_empty_interval() { + let res = get_non_revoc_interval(&Some(NonRevocedInterval { from: None, to: None }), &None); + assert_eq!(None, res); + } + mod to_unqualified { use super::*;