This is an automated email from the ASF dual-hosted git repository.

mssun pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/incubator-teaclave.git


The following commit(s) were added to refs/heads/develop by this push:
     new 38a706d  [services] Add constructor to database service
38a706d is described below

commit 38a706d6c993f6afd62b7f986a91aba5003ad0c6
Author: Mingshen Sun <[email protected]>
AuthorDate: Mon Feb 3 19:55:01 2020 -0800

    [services] Add constructor to database service
---
 services/database/enclave/src/service.rs           | 53 ++++-------------
 services/proto/src/teaclave_database_service.rs    | 64 +++++++++++++++++++-
 .../enclave/src/teaclave_database_service.rs       | 69 +++++-----------------
 3 files changed, 89 insertions(+), 97 deletions(-)

diff --git a/services/database/enclave/src/service.rs 
b/services/database/enclave/src/service.rs
index 15bf9ba..3273933 100644
--- a/services/database/enclave/src/service.rs
+++ b/services/database/enclave/src/service.rs
@@ -248,85 +248,56 @@ pub mod tests {
 
     pub fn test_get_key() {
         let service = get_mock_service();
-        let request = GetRequest {
-            key: b"test_get_key".to_vec(),
-        };
+        let request = GetRequest::new("test_get_key");
         let request = Request::new(request);
         assert!(service.get(request).is_ok());
     }
 
     pub fn test_put_key() {
         let service = get_mock_service();
-        let request = PutRequest {
-            key: b"test_put_key".to_vec(),
-            value: b"test_put_value".to_vec(),
-        };
+        let request = PutRequest::new("test_put_key", "test_put_value");
         let request = Request::new(request);
         assert!(service.put(request).is_ok());
-        let request = GetRequest {
-            key: b"test_put_key".to_vec(),
-        };
+        let request = GetRequest::new("test_put_key");
         let request = Request::new(request);
         assert!(service.get(request).is_ok());
     }
 
     pub fn test_delete_key() {
         let service = get_mock_service();
-        let request = DeleteRequest {
-            key: b"test_delete_key".to_vec(),
-        };
+        let request = DeleteRequest::new("test_delete_key");
         let request = Request::new(request);
         assert!(service.delete(request).is_ok());
-        let request = GetRequest {
-            key: b"test_delete_key".to_vec(),
-        };
+        let request = GetRequest::new("test_delete_key");
         let request = Request::new(request);
         assert!(service.get(request).is_err());
     }
 
     pub fn test_enqueue() {
         let service = get_mock_service();
-        let request = EnqueueRequest {
-            key: b"test_enqueue_key".to_vec(),
-            value: b"1".to_vec(),
-        };
+        let request = EnqueueRequest::new("test_enqueue_key", "1");
         let request = Request::new(request);
         assert!(service.enqueue(request).is_ok());
-        let request = EnqueueRequest {
-            key: b"test_enqueue_key".to_vec(),
-            value: b"2".to_vec(),
-        };
+        let request = EnqueueRequest::new("test_enqueue_key", "2");
         let request = Request::new(request);
         assert!(service.enqueue(request).is_ok());
     }
 
     pub fn test_dequeue() {
         let service = get_mock_service();
-        let request = DequeueRequest {
-            key: b"test_dequeue_key".to_vec(),
-        };
+        let request = DequeueRequest::new("test_dequeue_key");
         let request = Request::new(request);
         assert!(service.dequeue(request).is_err());
-        let request = EnqueueRequest {
-            key: b"test_dequeue_key".to_vec(),
-            value: b"1".to_vec(),
-        };
+        let request = EnqueueRequest::new("test_dequeue_key", "1");
         let request = Request::new(request);
         assert!(service.enqueue(request).is_ok());
-        let request = EnqueueRequest {
-            key: b"test_dequeue_key".to_vec(),
-            value: b"2".to_vec(),
-        };
+        let request = EnqueueRequest::new("test_dequeue_key", "2");
         let request = Request::new(request);
         assert!(service.enqueue(request).is_ok());
-        let request = DequeueRequest {
-            key: b"test_dequeue_key".to_vec(),
-        };
+        let request = DequeueRequest::new("test_dequeue_key");
         let request = Request::new(request);
         assert_eq!(service.dequeue(request).unwrap().value, b"1");
-        let request = DequeueRequest {
-            key: b"test_dequeue_key".to_vec(),
-        };
+        let request = DequeueRequest::new("test_dequeue_key");
         let request = Request::new(request);
         assert_eq!(service.dequeue(request).unwrap().value, b"2");
     }
diff --git a/services/proto/src/teaclave_database_service.rs 
b/services/proto/src/teaclave_database_service.rs
index db17da5..8bb9e89 100644
--- a/services/proto/src/teaclave_database_service.rs
+++ b/services/proto/src/teaclave_database_service.rs
@@ -12,18 +12,43 @@ pub struct GetRequest {
     pub key: Vec<u8>,
 }
 
+impl GetRequest {
+    pub fn new(key: impl AsRef<[u8]>) -> Self {
+        Self {
+            key: key.as_ref().into(),
+        }
+    }
+}
+
 #[derive(Debug)]
 pub struct GetResponse {
     pub value: Vec<u8>,
 }
 
+impl GetResponse {
+    pub fn new(value: impl AsRef<[u8]>) -> Self {
+        Self {
+            value: value.as_ref().into(),
+        }
+    }
+}
+
 #[derive(Debug)]
 pub struct PutRequest {
     pub key: Vec<u8>,
     pub value: Vec<u8>,
 }
 
-#[derive(Debug)]
+impl PutRequest {
+    pub fn new(key: impl AsRef<[u8]>, value: impl AsRef<[u8]>) -> Self {
+        Self {
+            key: key.as_ref().into(),
+            value: value.as_ref().into(),
+        }
+    }
+}
+
+#[derive(Debug, Default)]
 pub struct PutResponse;
 
 #[derive(Debug)]
@@ -31,7 +56,15 @@ pub struct DeleteRequest {
     pub key: Vec<u8>,
 }
 
-#[derive(Debug)]
+impl DeleteRequest {
+    pub fn new(key: impl AsRef<[u8]>) -> Self {
+        Self {
+            key: key.as_ref().into(),
+        }
+    }
+}
+
+#[derive(Debug, Default)]
 pub struct DeleteResponse;
 
 #[derive(Debug)]
@@ -40,7 +73,16 @@ pub struct EnqueueRequest {
     pub value: Vec<u8>,
 }
 
-#[derive(Debug)]
+impl EnqueueRequest {
+    pub fn new(key: impl AsRef<[u8]>, value: impl AsRef<[u8]>) -> Self {
+        Self {
+            key: key.as_ref().into(),
+            value: value.as_ref().into(),
+        }
+    }
+}
+
+#[derive(Debug, Default)]
 pub struct EnqueueResponse;
 
 #[derive(Debug)]
@@ -48,11 +90,27 @@ pub struct DequeueRequest {
     pub key: Vec<u8>,
 }
 
+impl DequeueRequest {
+    pub fn new(key: impl AsRef<[u8]>) -> Self {
+        Self {
+            key: key.as_ref().into(),
+        }
+    }
+}
+
 #[derive(Debug)]
 pub struct DequeueResponse {
     pub value: Vec<u8>,
 }
 
+impl DequeueResponse {
+    pub fn new(value: impl AsRef<[u8]>) -> Self {
+        Self {
+            value: value.as_ref().into(),
+        }
+    }
+}
+
 impl std::convert::TryFrom<proto::GetRequest> for GetRequest {
     type Error = Error;
 
diff --git a/tests/functional_tests/enclave/src/teaclave_database_service.rs 
b/tests/functional_tests/enclave/src/teaclave_database_service.rs
index 0202090..e57edeb 100644
--- a/tests/functional_tests/enclave/src/teaclave_database_service.rs
+++ b/tests/functional_tests/enclave/src/teaclave_database_service.rs
@@ -19,9 +19,7 @@ pub fn run_tests() -> bool {
 fn test_get_success() {
     let channel = Endpoint::new("localhost:7778").connect().unwrap();
     let mut client = TeaclaveDatabaseClient::new(channel).unwrap();
-    let request = GetRequest {
-        key: b"test_get_key".to_vec(),
-    };
+    let request = GetRequest::new("test_get_key");
     let response_result = client.get(request);
     info!("{:?}", response_result);
     assert!(response_result.is_ok());
@@ -30,9 +28,7 @@ fn test_get_success() {
 fn test_get_fail() {
     let channel = Endpoint::new("localhost:7778").connect().unwrap();
     let mut client = TeaclaveDatabaseClient::new(channel).unwrap();
-    let request = GetRequest {
-        key: b"test_key_not_exist".to_vec(),
-    };
+    let request = GetRequest::new("test_key_not_exist");
     let response_result = client.get(request);
     assert!(response_result.is_err());
 }
@@ -40,17 +36,12 @@ fn test_get_fail() {
 fn test_put_success() {
     let channel = Endpoint::new("localhost:7778").connect().unwrap();
     let mut client = TeaclaveDatabaseClient::new(channel).unwrap();
-    let request = PutRequest {
-        key: b"test_put_key".to_vec(),
-        value: b"test_put_value".to_vec(),
-    };
+    let request = PutRequest::new("test_put_key", "test_put_value");
     let response_result = client.put(request);
     info!("{:?}", response_result);
     assert!(response_result.is_ok());
 
-    let request = GetRequest {
-        key: b"test_put_key".to_vec(),
-    };
+    let request = GetRequest::new("test_put_key");
     let response_result = client.get(request);
     info!("{:?}", response_result);
     assert!(response_result.is_ok());
@@ -60,16 +51,12 @@ fn test_put_success() {
 fn test_delete_success() {
     let channel = Endpoint::new("localhost:7778").connect().unwrap();
     let mut client = TeaclaveDatabaseClient::new(channel).unwrap();
-    let request = DeleteRequest {
-        key: b"test_delete_key".to_vec(),
-    };
+    let request = DeleteRequest::new("test_delete_key");
     let response_result = client.delete(request);
     info!("{:?}", response_result);
     assert!(response_result.is_ok());
 
-    let request = GetRequest {
-        key: b"test_delete_key".to_vec(),
-    };
+    let request = GetRequest::new("test_delete_key");
     let response_result = client.get(request);
     assert!(response_result.is_err());
 }
@@ -77,10 +64,7 @@ fn test_delete_success() {
 fn test_enqueue_success() {
     let channel = Endpoint::new("localhost:7778").connect().unwrap();
     let mut client = TeaclaveDatabaseClient::new(channel).unwrap();
-    let request = EnqueueRequest {
-        key: b"test_enqueue_key".to_vec(),
-        value: b"test_enqueue_value".to_vec(),
-    };
+    let request = EnqueueRequest::new("test_enqueue_key", 
"test_enqueue_value");
     let response_result = client.enqueue(request);
     info!("{:?}", response_result);
     assert!(response_result.is_ok());
@@ -89,32 +73,20 @@ fn test_enqueue_success() {
 fn test_dequeue_success() {
     let channel = Endpoint::new("localhost:7778").connect().unwrap();
     let mut client = TeaclaveDatabaseClient::new(channel).unwrap();
-    let request = DequeueRequest {
-        key: b"test_dequeue_key".to_vec(),
-    };
+    let request = DequeueRequest::new("test_dequeue_key");
     let response_result = client.dequeue(request);
     assert!(response_result.is_err());
-    let request = EnqueueRequest {
-        key: b"test_dequeue_key".to_vec(),
-        value: b"1".to_vec(),
-    };
+    let request = EnqueueRequest::new("test_dequeue_key", "1");
     let response_result = client.enqueue(request);
     assert!(response_result.is_ok());
-    let request = EnqueueRequest {
-        key: b"test_dequeue_key".to_vec(),
-        value: b"2".to_vec(),
-    };
+    let request = EnqueueRequest::new("test_dequeue_key", "2");
     let response_result = client.enqueue(request);
     assert!(response_result.is_ok());
-    let request = DequeueRequest {
-        key: b"test_dequeue_key".to_vec(),
-    };
+    let request = DequeueRequest::new("test_dequeue_key");
     let response_result = client.dequeue(request);
     assert!(response_result.is_ok());
     assert_eq!(response_result.unwrap().value, b"1");
-    let request = DequeueRequest {
-        key: b"test_dequeue_key".to_vec(),
-    };
+    let request = DequeueRequest::new("test_dequeue_key");
     let response_result = client.dequeue(request);
     assert!(response_result.is_ok());
     assert_eq!(response_result.unwrap().value, b"2");
@@ -123,27 +95,18 @@ fn test_dequeue_success() {
 fn test_dequeue_fail() {
     let channel = Endpoint::new("localhost:7778").connect().unwrap();
     let mut client = TeaclaveDatabaseClient::new(channel).unwrap();
-    let request = DequeueRequest {
-        key: b"test_dequeue_key".to_vec(),
-    };
+    let request = DequeueRequest::new("test_dequeue_key");
     let response_result = client.dequeue(request);
     assert!(response_result.is_err());
 
-    let request = EnqueueRequest {
-        key: b"test_dequeue_key".to_vec(),
-        value: b"1".to_vec(),
-    };
+    let request = EnqueueRequest::new("test_dequeue_key", "1");
     let response_result = client.enqueue(request);
     assert!(response_result.is_ok());
-    let request = DequeueRequest {
-        key: b"test_dequeue_key".to_vec(),
-    };
+    let request = DequeueRequest::new("test_dequeue_key");
     let response_result = client.dequeue(request);
     assert!(response_result.is_ok());
     assert_eq!(response_result.unwrap().value, b"1");
-    let request = DequeueRequest {
-        key: b"test_dequeue_key".to_vec(),
-    };
+    let request = DequeueRequest::new("test_dequeue_key");
     let response_result = client.dequeue(request);
     assert!(response_result.is_err());
 }


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to