Skip to content

Commit dda540d

Browse files
committed
test(trogon-github): cover ServeError display/source and tracing field evaluation
Signed-off-by: Yordis Prieto <yordis.prieto@gmail.com>
1 parent eae80bb commit dda540d

1 file changed

Lines changed: 22 additions & 0 deletions

File tree

  • rsworkspace/crates/trogon-github/src

rsworkspace/crates/trogon-github/src/server.rs

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -272,6 +272,7 @@ mod tests {
272272
use hmac::{Hmac, Mac};
273273
use sha2::Sha256;
274274
use tower::ServiceExt;
275+
use tracing_subscriber::util::SubscriberInitExt;
275276
use trogon_nats::jetstream::{MockJetStreamContext, MockJetStreamPublisher};
276277

277278
type HmacSha256 = Hmac<Sha256>;
@@ -331,10 +332,31 @@ mod tests {
331332
builder.body(Body::from(body.to_vec())).unwrap()
332333
}
333334

335+
// ── ServeError ─────────────────────────────────────────────────────────
336+
337+
#[test]
338+
fn serve_error_display_and_source() {
339+
use async_nats::jetstream::context::{CreateStreamError, CreateStreamErrorKind};
340+
341+
let io_err =
342+
ServeError::Io(std::io::Error::new(std::io::ErrorKind::AddrInUse, "port taken"));
343+
assert_eq!(io_err.to_string(), "server IO error: port taken");
344+
assert!(std::error::Error::source(&io_err).is_some());
345+
346+
let prov_err =
347+
ServeError::Provision(CreateStreamError::new(CreateStreamErrorKind::EmptyStreamName));
348+
assert!(prov_err.to_string().contains("stream provisioning failed"));
349+
assert!(std::error::Error::source(&prov_err).is_some());
350+
351+
let io_err: ServeError = std::io::Error::other("boom").into();
352+
assert!(matches!(io_err, ServeError::Io(_)));
353+
}
354+
334355
// ── provision ────────────────────────────────────────────────────────────
335356

336357
#[tokio::test]
337358
async fn provision_creates_stream() {
359+
let _guard = tracing_subscriber::fmt().with_test_writer().set_default();
338360
let js = MockJetStreamContext::new();
339361
let config = test_config(None);
340362

0 commit comments

Comments
 (0)