From 052a9aae09b7ccc8e9f87ae7ebd37542bfe05129 Mon Sep 17 00:00:00 2001 From: bitsandfoxes Date: Wed, 14 Aug 2024 20:02:38 +0200 Subject: [PATCH] test --- .../Protocol/SentryTransactionTests.cs | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/test/Sentry.Tests/Protocol/SentryTransactionTests.cs b/test/Sentry.Tests/Protocol/SentryTransactionTests.cs index 19773010c1..18c5b91361 100644 --- a/test/Sentry.Tests/Protocol/SentryTransactionTests.cs +++ b/test/Sentry.Tests/Protocol/SentryTransactionTests.cs @@ -246,6 +246,27 @@ public void SerializeObject_AllPropertiesSetToNonDefault_SerializesValidObject() }); } + [Fact] + public void SerializeObject_TransactionContainsUnfinishedSpan_SerializesDeserializesValidObject() + { + // Arrange + SentryTransaction capturedTransaction = null; + var hub = Substitute.For(); + hub.CaptureTransaction(Arg.Do(t => capturedTransaction = t)); + + var transaction = new TransactionTracer(hub, "test.name", "test.operation"); + transaction.StartChild("child_op123", "child_desc123"); + transaction.Finish(SpanStatus.Aborted); + + // Act + var actualString = capturedTransaction.ToJsonString(_testOutputLogger); + var actualTransaction = Json.Parse(actualString, SentryTransaction.FromJson); + + // Assert + Assert.Single(actualTransaction.Spans); // Sanity Check + Assert.Null(actualTransaction.Spans.First().EndTimestamp); + } + [Fact] public void StartChild_LevelOne_Works() {