From 7ee00f97bcee8867962fd325f96b42eec1a69437 Mon Sep 17 00:00:00 2001 From: Scott Phillips Date: Tue, 15 Feb 2022 06:16:40 -0500 Subject: [PATCH] Remove unnecessary JNI macro and organize rust code (#359) --- native/src/macros.rs | 25 ------------------------ native/src/proto/mod.rs | 40 +++++++++++++++++++------------------- native/src/proto/pbmse.rs | 2 ++ native/src/tests/oberon.rs | 6 +++--- 4 files changed, 25 insertions(+), 48 deletions(-) diff --git a/native/src/macros.rs b/native/src/macros.rs index c5d1e86f..aa5838f1 100644 --- a/native/src/macros.rs +++ b/native/src/macros.rs @@ -40,31 +40,6 @@ macro_rules! c_impl { }}; } -#[allow(unused_macros)] -macro_rules! jni_impl { - ($message:ty,$struct:ident,$func:ident,$env:expr,$req:expr) => {{ - let request = $env.convert_byte_array($req).unwrap(); - - let gen_key_req = match <$message>::from_vec(&request) { - Ok(request) => request, - Err(err) => { - $env.throw_new("java/lang/Exception", format!("{:?}", err)).unwrap_or_default(); - return $env.byte_array_from_slice(&vec![].as_slice()).unwrap(); - } - }; - - let response = match crate::$struct::$func(&gen_key_req) { - Ok(response) => response, - Err(err) => { - $env.throw_new("java/lang/Exception", format!("{:?}", err)).unwrap_or_default(); - return $env.byte_array_from_slice(&vec![].as_slice()).unwrap(); - } - }; - - return $env.byte_array_from_slice(&response.to_vec().as_slice()).unwrap(); - }}; -} - macro_rules! map_or_return { ($name:expr,$err:expr) => { match $name { diff --git a/native/src/proto/mod.rs b/native/src/proto/mod.rs index 95c5db28..d70a2c1a 100644 --- a/native/src/proto/mod.rs +++ b/native/src/proto/mod.rs @@ -91,22 +91,6 @@ impl<'de> Visitor<'de> for Value { write!(formatter, "unrecognized value") } - fn visit_map(self, map: A) -> Result - where - A: de::MapAccess<'de>, - { - let mut fields: HashMap = HashMap::new(); - let mut map = map; - - while let Some((k, v)) = map.next_entry().unwrap() { - fields.insert(k, v); - } - - Ok(Value { - kind: Some(Kind::StructValue(Struct { fields })), - }) - } - fn visit_bool(self, v: bool) -> Result where E: Error, @@ -134,21 +118,21 @@ impl<'de> Visitor<'de> for Value { }) } - fn visit_unit(self) -> Result + fn visit_str(self, v: &str) -> Result where E: Error, { Ok(Value { - kind: Some(Kind::NullValue(0)), + kind: Some(Kind::StringValue(v.to_string())), }) } - fn visit_str(self, v: &str) -> Result + fn visit_unit(self) -> Result where E: Error, { Ok(Value { - kind: Some(Kind::StringValue(v.to_string())), + kind: Some(Kind::NullValue(0)), }) } @@ -167,6 +151,22 @@ impl<'de> Visitor<'de> for Value { kind: Some(Kind::ListValue(ListValue { values })), }) } + + fn visit_map(self, map: A) -> Result + where + A: de::MapAccess<'de>, + { + let mut fields: HashMap = HashMap::new(); + let mut map = map; + + while let Some((k, v)) = map.next_entry().unwrap() { + fields.insert(k, v); + } + + Ok(Value { + kind: Some(Kind::StructValue(Struct { fields })), + }) + } } pub mod tests { diff --git a/native/src/proto/pbmse.rs b/native/src/proto/pbmse.rs index 6405092c..a139880c 100644 --- a/native/src/proto/pbmse.rs +++ b/native/src/proto/pbmse.rs @@ -1,3 +1,5 @@ +mod pbmse; + /// JWS /// Protocol buffer message signing and encryption #[derive(::serde::Serialize, ::serde::Deserialize)] diff --git a/native/src/tests/oberon.rs b/native/src/tests/oberon.rs index c48245bf..e9acb3d5 100644 --- a/native/src/tests/oberon.rs +++ b/native/src/tests/oberon.rs @@ -118,7 +118,7 @@ fn test_create_proof() { }; let rep = crate::Oberon::proof(&req).unwrap(); - assert!(rep.proof.len() == 96) + assert_eq!(rep.proof.len(), 96) } #[test] @@ -163,7 +163,7 @@ fn test_validate_proof() { }; let rep = crate::Oberon::verify(&req).unwrap(); - assert!(rep.valid == true); + assert_eq!(rep.valid, true); let req = VerifyOberonProofRequest { proof: vec![ @@ -177,7 +177,7 @@ fn test_validate_proof() { }; let rep = crate::Oberon::verify(&req).unwrap(); - assert!(rep.valid == false); + assert_eq!(rep.valid, false); } #[test]