public async Task ClientShouldGoAwayIfFirstFrameIsNotSettings() { var inPipe = new BufferedPipe(1024); var outPipe = new BufferedPipe(1024); var http2Con = BuildConnection(false, Settings.Default, inPipe, outPipe); var fh = new FrameHeader { Type = FrameType.Headers, Length = 0, Flags = 0, StreamId = 2 }; await inPipe.WriteFrameHeader(fh); var expected = Settings.Default; expected.EnablePush = false; await outPipe.ReadAndDiscardPreface(); await outPipe.ReadAndDiscardSettings(); await outPipe.AssertGoAwayReception(ErrorCode.ProtocolError, 0u); await outPipe.AssertStreamEnd(); }
public async Task ClientsShouldSendSettingsAfterPreface(Settings settings) { var inPipe = new BufferedPipe(1024); var outPipe = new BufferedPipe(1024); var http2Con = BuildConnection(false, settings, inPipe, outPipe); var expected = settings; expected.EnablePush = false; await outPipe.ReadAndDiscardPreface(); await ValidateSettingReception(outPipe, expected); }