3aa993cecb
* Don't log cancelling * redo exception handling for receive * remove null test case * clean up with Id/Json and more cancels * Change the exception stacks * fix serialization test * make a custom scrubber for internalized exceptions * clean up * fix namespaces again :( * adjust the scrubber * try to make tests more predictable * rework exceptions again * strip out compile files used * formatting * custom exception validation * fix init * Move serialization to own class * save serialize test * add deep clean * add cancellation test on save to cache * cancellation tests * format * do DI correctly * receive cancel works
52 lines
1.7 KiB
C#
52 lines
1.7 KiB
C#
using Speckle.Sdk.Serialisation.V2;
|
|
using Speckle.Sdk.Serialisation.V2.Send;
|
|
using Speckle.Sdk.Testing.Framework;
|
|
using Speckle.Sdk.Transports;
|
|
|
|
namespace Speckle.Sdk.Serialization.Tests;
|
|
|
|
public sealed class CancellationSqLiteJsonCacheManager(CancellationTokenSource cancellationTokenSource)
|
|
: DummySqLiteJsonCacheManager
|
|
{
|
|
public override void SaveObjects(IEnumerable<(string id, string json)> items)
|
|
{
|
|
cancellationTokenSource.Cancel();
|
|
cancellationTokenSource.Token.ThrowIfCancellationRequested();
|
|
}
|
|
}
|
|
|
|
public class CancellationSqLiteSendManager(CancellationTokenSource cancellationTokenSource) : DummySqLiteSendManager
|
|
{
|
|
public override void SaveObjects(IEnumerable<(string id, string json)> items)
|
|
{
|
|
cancellationTokenSource.Cancel();
|
|
cancellationTokenSource.Token.ThrowIfCancellationRequested();
|
|
}
|
|
}
|
|
|
|
public class CancellationServerObjectManager(CancellationTokenSource cancellationTokenSource) : DummyServerObjectManager
|
|
{
|
|
public override Task UploadObjects(
|
|
IReadOnlyList<BaseItem> objects,
|
|
bool compressPayloads,
|
|
IProgress<ProgressArgs>? progress,
|
|
CancellationToken cancellationToken
|
|
)
|
|
{
|
|
cancellationTokenSource.Cancel();
|
|
cancellationTokenSource.Token.ThrowIfCancellationRequested();
|
|
return base.UploadObjects(objects, compressPayloads, progress, cancellationToken);
|
|
}
|
|
|
|
public override Task<string?> DownloadSingleObject(
|
|
string objectId,
|
|
IProgress<ProgressArgs>? progress,
|
|
CancellationToken cancellationToken
|
|
)
|
|
{
|
|
cancellationTokenSource.Cancel();
|
|
cancellationTokenSource.Token.ThrowIfCancellationRequested();
|
|
return base.DownloadSingleObject(objectId, progress, cancellationToken);
|
|
}
|
|
}
|