Files
speckle-sharp-sdk/tests/Speckle.Sdk.Testing/Framework/AggregationExceptionScrubber.cs
T
Adam Hathcock 2352306269 add ability for objectloader to skip server too. (#228)
* add ability for objectloader to skip server too.  add test so both cache and server can't be skipped

* move testing project to correct dir

* remove extra file
2025-02-13 09:41:07 +00:00

33 lines
904 B
C#

using Speckle.Sdk.Common;
namespace Speckle.Sdk.Testing.Framework;
public class AggregationExceptionScrubber : WriteOnlyJsonConverter<AggregateException>
{
private static readonly ExceptionScrubber _innerScrubber = new();
public override void Write(VerifyJsonWriter writer, AggregateException exception)
{
writer.WriteStartObject();
writer.WriteMember(exception, exception.GetType().FullName, "Type");
if (exception.InnerExceptions.Count == 1)
{
writer.WritePropertyName("InnerException");
_innerScrubber.Write(writer, exception.InnerException.NotNull());
}
else
{
writer.WritePropertyName("InnerExceptions");
writer.WriteStartArray();
foreach (var innerException in exception.InnerExceptions)
{
_innerScrubber.Write(writer, innerException);
}
writer.WriteEndArray();
}
writer.WriteEndObject();
}
}