public void NewAllTypesOfRecords() { RecordBase rec = new BeginRequestRecord(1); Assert.AreEqual(RecordType.FCGIBeginRequest, rec.RecordType); rec = new EndRequestRecord(1); Assert.AreEqual(RecordType.FCGIEndRequest, rec.RecordType); rec = new StdinRecord(1); Assert.AreEqual(RecordType.FCGIStdin, rec.RecordType); rec = new StdoutRecord(1); Assert.AreEqual(RecordType.FCGIStdout, rec.RecordType); rec = new StderrRecord(1); Assert.AreEqual(RecordType.FCGIStderr, rec.RecordType); rec = new ParamsRecord(1); Assert.AreEqual(RecordType.FCGIParams, rec.RecordType); rec = new BeginRequestRecord(1); Assert.AreEqual(RecordType.FCGIBeginRequest, rec.RecordType); rec = new DataRecord(1); Assert.AreEqual(RecordType.FCGIData, rec.RecordType); }
public void TryToCreateRecordWithLessThanHeaderBytes() { Assert.Throws <ArgumentException>(() => { byte[] data = new byte[7]; int endOfRecord; using (var rec = new StdoutRecord(data, 0, data.Length, out endOfRecord)) { } }); }
public void RecordGetBytes() { byte[] data = new byte[1024]; using (var record = new StdoutRecord(1)) { Stream s = record.Contents; // Just write anything s.Write(data, 0, data.Length); int totalRecordBytes = record.GetBytes().Sum(d => d.Count); Assert.AreEqual(data.Length + 8 + record.PaddingLength, totalRecordBytes); } }
public void RecordGetBytesDosNotChangeContentsStreamPosition() { byte[] data = new byte[1024]; using (var record = new StdoutRecord(1)) { // Just write anything and seek to some position long seekPos = 27; Stream s = record.Contents; s.Write(data, 0, data.Length); s.Position = seekPos; int totalRecordBytes = record.GetBytes().Sum(d => d.Count); Assert.AreEqual(data.Length + 8 + record.PaddingLength, totalRecordBytes); Assert.AreEqual(seekPos, s.Position); } }