public void CreateAndReadParamsWithOneParameter() { using (var paramsRec = new ParamsRecord(1)) { using (var writer = new NvpWriter(paramsRec.Contents)) { writer.Write("TEST", "WHATEVER"); var bytes = paramsRec.GetBytes().ToList(); var header = bytes[0]; int endOfRecord; using (var receivedRec = (ParamsRecord)RecordFactory.CreateRecordFromHeader(header.Array, header.Offset, header.Count, out endOfRecord)) { Assert.AreEqual(paramsRec.ContentLength, receivedRec.ContentLength); for (int i = 1; i < bytes.Count; ++i) { Assert.AreEqual(-1, endOfRecord); receivedRec.FeedBytes(bytes[i].Array, bytes[i].Offset, bytes[i].Count, out endOfRecord); } receivedRec.Contents.Position = 0; using (var reader = new NvpReader(receivedRec.Contents)) { NameValuePair onlyParameterAdded = reader.Read(); Assert.AreEqual("TEST", onlyParameterAdded.Name); Assert.AreEqual("WHATEVER", onlyParameterAdded.Value); } } } } }
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 CreateAndReadParamsWithManyParameters() { int numParams = 100; using (var paramsRec = new ParamsRecord(1)) { using (var writer = new NvpWriter(paramsRec.Contents)) { for (int i = 0; i < numParams; ++i) { writer.Write("TEST" + i, "WHATEVER" + i); } } var bytes = paramsRec.GetBytes().ToList(); var header = bytes[0]; int endOfRecord; using (var receivedRec = (ParamsRecord)RecordFactory.CreateRecordFromHeader(header.Array, header.Offset, header.Count, out endOfRecord)) { Assert.AreEqual(paramsRec.ContentLength, receivedRec.ContentLength); for (int i = 1; i < bytes.Count; ++i) { Assert.AreEqual(-1, endOfRecord); receivedRec.FeedBytes(bytes[i].Array, bytes[i].Offset, bytes[i].Count, out endOfRecord); } int paramsCount = 0; receivedRec.Contents.Position = 0; using (var reader = new NvpReader(receivedRec.Contents)) { NameValuePair par; while ((par = reader.Read()) != null) { Assert.AreEqual("TEST" + paramsCount, par.Name); Assert.AreEqual("WHATEVER" + paramsCount, par.Value); paramsCount++; } } Assert.AreEqual(numParams, paramsCount); } } }