Skip to content

Commit 64a0e3c

Browse files
committed
Cleanup test assertions
This improves legibility by having tokio::select! return the test result and calling `assert!` as a distinct step.
1 parent bb39003 commit 64a0e3c

File tree

2 files changed

+22
-16
lines changed

2 files changed

+22
-16
lines changed

payjoin-cli/tests/e2e.rs

+3-3
Original file line numberDiff line numberDiff line change
@@ -152,15 +152,15 @@ mod e2e {
152152
let temp_dir = env::temp_dir();
153153
let receiver_db_path = temp_dir.join("receiver_db");
154154
let sender_db_path = temp_dir.join("sender_db");
155-
let result: Result<()> = tokio::select! {
155+
let result = tokio::select! {
156156
res = services.take_ohttp_relay_handle() => Err(format!("Ohttp relay is long running: {:?}", res).into()),
157157
res = services.take_directory_handle() => Err(format!("Directory server is long running: {:?}", res).into()),
158-
res = send_receive_cli_async(&services, receiver_db_path.clone(), sender_db_path.clone()) => res.map_err(|e| format!("send_receive failed: {:?}", e).into()),
158+
res = send_receive_cli_async(&services, receiver_db_path.clone(), sender_db_path.clone()) => res,
159159
};
160160

161161
cleanup_temp_file(&receiver_db_path).await;
162162
cleanup_temp_file(&sender_db_path).await;
163-
assert!(result.is_ok(), "{}", result.unwrap_err());
163+
assert!(result.is_ok(), "send_receive failed: {:#?}", result.unwrap_err());
164164

165165
async fn send_receive_cli_async(
166166
services: &TestServices,

payjoin/tests/integration.rs

+19-13
Original file line numberDiff line numberDiff line change
@@ -187,14 +187,14 @@ mod integration {
187187
OhttpKeys::from_str("OH1QYPM5JXYNS754Y4R45QWE336QFX6ZR8DQGVQCULVZTV20TFVEYDMFQC")
188188
.expect("Invalid OhttpKeys");
189189
let mut services = TestServices::initialize().await?;
190-
tokio::select!(
190+
let result = tokio::select!(
191191
err = services.take_directory_handle() => panic!("Directory server exited early: {:?}", err),
192-
res = try_request_with_bad_keys(&services, bad_ohttp_keys) => {
193-
assert_eq!(
194-
res?.headers().get("content-type").expect("content type should be present"),
195-
"application/problem+json"
196-
);
197-
}
192+
res = try_request_with_bad_keys(&services, bad_ohttp_keys) => res
193+
);
194+
195+
assert_eq!(
196+
result?.headers().get("content-type").expect("content type should be present"),
197+
"application/problem+json"
198198
);
199199

200200
async fn try_request_with_bad_keys(
@@ -220,12 +220,14 @@ mod integration {
220220
async fn test_session_expiration() -> Result<(), BoxSendSyncError> {
221221
init_tracing();
222222
let mut services = TestServices::initialize().await?;
223-
tokio::select!(
223+
let result = tokio::select!(
224224
err = services.take_ohttp_relay_handle() => panic!("Ohttp relay exited early: {:?}", err),
225225
err = services.take_directory_handle() => panic!("Directory server exited early: {:?}", err),
226-
res = do_expiration_tests(&services) => assert!(res.is_ok(), "v2 send receive failed: {:#?}", res)
226+
res = do_expiration_tests(&services) => res
227227
);
228228

229+
assert!(result.is_ok(), "v2 send receive failed: {:#?}", result.unwrap_err());
230+
229231
async fn do_expiration_tests(services: &TestServices) -> Result<(), BoxError> {
230232
let (_bitcoind, sender, receiver) = init_bitcoind_sender_receiver(None, None)?;
231233
services.wait_for_services_ready().await?;
@@ -269,12 +271,14 @@ mod integration {
269271
async fn v2_to_v2() -> Result<(), BoxSendSyncError> {
270272
init_tracing();
271273
let mut services = TestServices::initialize().await?;
272-
tokio::select!(
274+
let result = tokio::select!(
273275
err = services.take_ohttp_relay_handle() => panic!("Ohttp relay exited early: {:?}", err),
274276
err = services.take_directory_handle() => panic!("Directory server exited early: {:?}", err),
275-
res = do_v2_send_receive(&services) => assert!(res.is_ok(), "v2 send receive failed: {:#?}", res)
277+
res = do_v2_send_receive(&services) => res
276278
);
277279

280+
assert!(result.is_ok(), "v2 send receive failed: {:#?}", result.unwrap_err());
281+
278282
async fn do_v2_send_receive(services: &TestServices) -> Result<(), BoxError> {
279283
let (_bitcoind, sender, receiver) = init_bitcoind_sender_receiver(None, None)?;
280284
let agent = services.http_agent();
@@ -432,12 +436,14 @@ mod integration {
432436
async fn v1_to_v2() -> Result<(), BoxSendSyncError> {
433437
init_tracing();
434438
let mut services = TestServices::initialize().await?;
435-
tokio::select!(
439+
let result = tokio::select!(
436440
err = services.take_ohttp_relay_handle() => panic!("Ohttp relay exited early: {:?}", err),
437441
err = services.take_directory_handle() => panic!("Directory server exited early: {:?}", err),
438-
res = do_v1_to_v2(&services) => assert!(res.is_ok(), "v2 send receive failed: {:#?}", res)
442+
res = do_v1_to_v2(&services) => res
439443
);
440444

445+
assert!(result.is_ok(), "v2 send receive failed: {:#?}", result.unwrap_err());
446+
441447
async fn do_v1_to_v2(services: &TestServices) -> Result<(), BoxError> {
442448
let (_bitcoind, sender, receiver) = init_bitcoind_sender_receiver(None, None)?;
443449
let agent = services.http_agent();

0 commit comments

Comments
 (0)