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]