Skip to content

Commit

Permalink
fix: ci failed, change code in simulation package
Browse files Browse the repository at this point in the history
Signed-off-by: lxl66566 <[email protected]>
  • Loading branch information
lxl66566 committed Jul 11, 2024
1 parent d3978db commit 85d5154
Show file tree
Hide file tree
Showing 2 changed files with 29 additions and 10 deletions.
31 changes: 26 additions & 5 deletions crates/simulation/src/xline_group.rs
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ use xline_client::{
types::{
cluster::{MemberAddRequest, MemberAddResponse, MemberListRequest, MemberListResponse},
kv::{
CompactionRequest, CompactionResponse, PutRequest, PutResponse, RangeRequest,
CompactionRequest, CompactionResponse, PutOptions, PutResponse, RangeRequest,
RangeResponse,
},
watch::{WatchRequest, WatchStreaming, Watcher},
Expand Down Expand Up @@ -175,10 +175,22 @@ macro_rules! impl_client_method {
}

impl SimClient {
impl_client_method!(put, kv_client, PutRequest, PutResponse);
pub async fn put(
&self,
key: impl Into<Vec<u8>>,
value: impl Into<Vec<u8>>,
option: Option<PutOptions>,
) -> Result<PutResponse, XlineClientError<Command>> {
let client = self.inner.clone();
let key = key.into();
let value = value.into();
self.handle
.spawn(async move { client.kv_client().put(key, value, option).await })
.await
.unwrap()
}
impl_client_method!(range, kv_client, RangeRequest, RangeResponse);
impl_client_method!(compact, kv_client, CompactionRequest, CompactionResponse);

impl_client_method!(watch, watch_client, WatchRequest, (Watcher, WatchStreaming));
}

Expand Down Expand Up @@ -225,12 +237,21 @@ impl SimEtcdClient {
}
}

pub async fn put(&self, request: PutRequest) -> Result<PutResponse, XlineClientError<Command>> {
pub async fn put(
&self,
key: impl Into<Vec<u8>>,
value: impl Into<Vec<u8>>,
option: Option<PutOptions>,
) -> Result<PutResponse, XlineClientError<Command>> {
let mut client = self.kv.clone();
let key = key.into();
let value = value.into();
self.handle
.spawn(async move {
client
.put(xlineapi::PutRequest::from(request))
.put(xlineapi::PutRequest::from(
option.unwrap_or_default().with_kv(key, value),
))
.await
.map(|r| r.into_inner())
.map_err(Into::into)
Expand Down
8 changes: 3 additions & 5 deletions crates/simulation/tests/it/xline.rs
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ use madsim::time::sleep;
use simulation::xline_group::{SimEtcdClient, XlineGroup};
use xline_client::types::{
cluster::{MemberAddRequest, MemberListRequest},
kv::{CompactionRequest, PutRequest},
kv::CompactionRequest,
watch::WatchRequest,
};

Expand All @@ -16,7 +16,7 @@ async fn basic_put() {
init_logger();
let group = XlineGroup::new(3).await;
let client = group.client().await;
let res = client.put(PutRequest::new("key", "value")).await;
let res = client.put("key", "value", None).await;
assert!(res.is_ok());
}

Expand All @@ -29,9 +29,7 @@ async fn watch_compacted_revision_should_receive_canceled_response() {
let client = SimEtcdClient::new(watch_addr, group.client_handle.clone()).await;

for i in 1..=6 {
let result = client
.put(PutRequest::new("key", format!("value{}", i)))
.await;
let result = client.put("key", format!("value{}", i), None).await;
assert!(result.is_ok());
}

Expand Down

0 comments on commit 85d5154

Please sign in to comment.