public async Task SendShouldThrowIfTheOperationWasCanceled( string chunk, [Frozen, Substitute] IGatewayService gateway, [Target] DefaultGatewayRxWorker worker ) { var message = new GatewayMessageChunk { Bytes = Encoding.UTF8.GetBytes(chunk) }; var cancellationToken = new CancellationToken(false); await worker.Start(gateway); var operationCancellationToken = new CancellationToken(true); Func <Task> func = () => worker.Emit(message, operationCancellationToken); await func.Should().ThrowAsync <OperationCanceledException>(); }
public async Task EmitShouldEmitTheMessageToTheChannel( int sequenceNumber, string chunk, IGatewayService gateway, [Frozen, Substitute] IChannel <GatewayMessageChunk> channel, [Target] DefaultGatewayRxWorker worker ) { var message = new GatewayMessageChunk { Bytes = Encoding.UTF8.GetBytes(chunk) }; var cancellationToken = new CancellationToken(false); await worker.Start(gateway); await worker.Emit(message, cancellationToken); await channel.Received().Write(Is(message), Is(cancellationToken)); }