Esempio n. 1
0
        public void WriteUnknownFrame()
        {
            IHttp2FrameStream stream = _frameCodec.NewStream();

            var buffer = Unpooled.Buffer().WriteByte(1);
            DefaultHttp2UnknownFrame unknownFrame = new DefaultHttp2UnknownFrame(
                (Http2FrameTypes)20, new Http2Flags().Ack(true), buffer);

            unknownFrame.Stream = stream;
            _channel.WriteAsync(unknownFrame);

            _frameWriter.Verify(
                x => x.WriteFrameAsync(
                    It.Is <IChannelHandlerContext>(v => v == _frameCodec._ctx),
                    It.Is <Http2FrameTypes>(v => v == unknownFrame.FrameType),
                    It.Is <int>(v => v == unknownFrame.Stream.Id),
                    It.Is <Http2Flags>(v => v == unknownFrame.Flags),
                    It.Is <IByteBuffer>(v => v.Equals(buffer)),
                    It.IsAny <IPromise>()));
        }
Esempio n. 2
0
        public void TestEqualOperation()
        {
            // in this case, 'goAwayFrame' and 'unknownFrame' will also have an EMPTY_BUFFER data
            // so we want to check that 'dflt' will not consider them equal.
            DefaultHttp2GoAwayFrame  goAwayFrame  = new DefaultHttp2GoAwayFrame(Http2Error.ProtocolError);
            DefaultHttp2UnknownFrame unknownFrame = new DefaultHttp2UnknownFrame(Http2FrameTypes.Headers, new Http2Flags(1));
            var dflt = new DefaultByteBufferHolder(Unpooled.Empty);

            try
            {
                // not using 'assertNotEquals' to be explicit about which object we are calling .equals() on
                Assert.False(dflt.Equals(goAwayFrame));
                Assert.False(dflt.Equals(unknownFrame));
            }
            finally
            {
                goAwayFrame.Release();
                unknownFrame.Release();
                dflt.Release();
            }
        }