Skip to content

Commit

Permalink
Add more int test cases
Browse files Browse the repository at this point in the history
  • Loading branch information
rukai committed Jul 14, 2022
1 parent 100e3e3 commit 6dc269a
Showing 1 changed file with 45 additions and 2 deletions.
47 changes: 45 additions & 2 deletions shotover-proxy/tests/redis_int_tests/basic_driver_tests.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1226,6 +1226,20 @@ async fn test_pubsub(pub_connection: &mut Connection, sub_connection: Connection
assert_eq!("banana".to_string(), msg_payload);
}

async fn test_pubsub_2subs(pub_connection: &mut Connection, sub_connection: Connection) {
let mut pubsub_conn = sub_connection.into_pubsub();
pubsub_conn.subscribe("s1").await.unwrap();
pubsub_conn.subscribe("s2").await.unwrap();
let mut pubsub_stream = pubsub_conn.on_message();
pub_connection
.publish::<_, _, ()>("s1", "an arbitrary string")
.await
.unwrap();

let msg_payload: String = pubsub_stream.next().await.unwrap().get_payload().unwrap();
assert_eq!("an arbitrary string".to_string(), msg_payload);
}

async fn test_pubsub_unused(sub_connection: Connection) {
let mut pubsub_conn = sub_connection.into_pubsub();
pubsub_conn.subscribe("some_key").await.unwrap();
Expand Down Expand Up @@ -1280,9 +1294,32 @@ async fn test_pubsub_automatic_unsubscription(
assert_eq!(subscription_count, 0);
}

async fn test_pubsub_conn_reuse(sub_connection: Connection) {
async fn test_pubsub_conn_reuse_simple(sub_connection: Connection) {
let mut pubsub_conn = sub_connection.into_pubsub();
pubsub_conn.subscribe("phonewave").await.unwrap();

let mut conn = pubsub_conn.into_connection().await;
redis::cmd("SET")
.arg("foo")
.arg("bar")
.query_async::<_, ()>(&mut conn)
.await
.unwrap();

let res: String = redis::cmd("GET")
.arg("foo")
.query_async(&mut conn)
.await
.unwrap();
assert_eq!(&res, "bar");
}

async fn test_pubsub_conn_reuse_multisub(sub_connection: Connection) {
let mut pubsub_conn = sub_connection.into_pubsub();
pubsub_conn.subscribe("phonewave").await.unwrap();
// TODO: handle all subscription messages
//pubsub_conn.subscribe("blah").await.unwrap();
//pubsub_conn.subscribe("blah2").await.unwrap();
pubsub_conn.psubscribe("*").await.unwrap();

let mut conn = pubsub_conn.into_connection().await;
Expand Down Expand Up @@ -1675,6 +1712,9 @@ async fn run_all(
let sub_connection = shotover_manager.redis_connection_async(6379).await;
test_pubsub(connection, sub_connection).await;

let sub_connection = shotover_manager.redis_connection_async(6379).await;
test_pubsub_2subs(connection, sub_connection).await;

let sub_connection = shotover_manager.redis_connection_async(6379).await;
test_pubsub_unused(sub_connection).await;

Expand All @@ -1685,7 +1725,10 @@ async fn run_all(
test_pubsub_automatic_unsubscription(connection, sub_connection).await;

let sub_connection = shotover_manager.redis_connection_async(6379).await;
test_pubsub_conn_reuse(sub_connection).await;
test_pubsub_conn_reuse_simple(sub_connection).await;

let sub_connection = shotover_manager.redis_connection_async(6379).await;
test_pubsub_conn_reuse_multisub(sub_connection).await;
}

struct Flusher {
Expand Down

0 comments on commit 6dc269a

Please sign in to comment.