Example #1
0
    public async Task TestGetNextMessageAsyncBigMessageInChunks()
    {
        // ARRANGE
        var sb = new StringBuilder(8192);

        sb.Append(@"{ ""BigChunkedMessage"": """);
        sb.Append(new string('A', 8180));
        sb.Append(@"""}");

        WsMock.AddResponse(sb.ToString());

        // ACT
        var msg = await DefaultPipeline.GetNextMessageAsync <ChunkedMessagesTestClass>(CancellationToken.None)
                  .ConfigureAwait(false);

        msg.BigChunkedMessage
        .Should()
        .HaveLength(8180);

        WsMock.Verify(n =>
                      n.ReceiveAsync(
                          It.IsAny <Memory <byte> >(),
                          It.IsAny <CancellationToken>()),
                      Times.AtLeast(2));
    }
Example #2
0
    public async Task TestGetNextMessageAsyncGetsCorrectMessage()
    {
        // ARRANGE
        WsMock.AddResponse(@"{""type"": ""auth_required""}");

        // ACT
        var msg = await DefaultPipeline.GetNextMessageAsync <HassMessage>(CancellationToken.None).ConfigureAwait(false);

        // ASSERT
        msg.Type
        .Should()
        .BeEquivalentTo("auth_required");
    }