Example #1
0
        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);
        }
Example #2
0
        public void TryToCreateRecordWithLessThanHeaderBytes()
        {
            Assert.Throws <ArgumentException>(() => {
                byte[] data = new byte[7];
                int endOfRecord;

                using (var rec = new StdoutRecord(data, 0, data.Length, out endOfRecord))
                {
                }
            });
        }
Example #3
0
        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);
            }
        }
Example #4
0
        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);
            }
        }