public void ParseInputsAndTextExplicitBoundaryNotMatch() { using (var stream = new MemoryStream(upload_stream_inputs_and_file)) { var mp = MultiPartContent.Decode(stream, "---------------------------7de23d3b1d07fd"); } }
public void EncodeDecode_FieldsAndFileTest() { byte[] eol = new byte[] { 0x0D, 0x0A }; byte[] contentBytes = upload; var part0 = NFX.Web.MultiPartContent.MultiPart.CreateField("text1", "abba", eol); var part1 = NFX.Web.MultiPartContent.MultiPart.CreateField("check1", "on", eol); var part2 = NFX.Web.MultiPartContent.MultiPart.CreateFile("content2", "upload.txt", "text/plain", contentBytes, eol); var parts = new NFX.Web.MultiPartContent.MultiPart[] { part0, part1, part2 }; var mpc0 = MultiPartContent.Encode(parts); var mpc1 = MultiPartContent.Decode(mpc0.Stream); Assert.AreEqual(3, mpc1.Parts.Count); Assert.AreEqual("text1", mpc1.Parts[0].Parameters.Name); Assert.AreEqual("abba", mpc1.Parts[0].ContentAsString); Assert.AreEqual("check1", mpc1.Parts[1].Parameters.Name); Assert.AreEqual("on", mpc1.Parts[1].ContentAsString); Assert.AreEqual("content2", mpc1.Parts[2].Parameters.Name); Assert.AreEqual("upload.txt", mpc1.Parts[2].Parameters.FileName); Assert.AreEqual("text/plain", mpc1.Parts[2].Parameters.ContentType); Assert.IsTrue(mpc1.Parts[2].Content.SequenceEqual(contentBytes)); }
public void ParseInputsAndTextEnsureBoundary() { using (var stream = new MemoryStream(upload_stream_inputs_and_file)) { var mp = MultiPartContent.Decode(stream); Assert.AreEqual("---------------------------7de23d3b1d07fe", mp.Boundary); } }
public void EncodeDecode_FieldSingleTest() { byte[] eol = new byte[] { 0x0D, 0x0A }; var part0 = NFX.Web.MultiPartContent.MultiPart.CreateField("text1", "abba", eol); var parts = new NFX.Web.MultiPartContent.MultiPart[] { part0 }; var mpc0 = MultiPartContent.Encode(parts); var mpc1 = MultiPartContent.Decode(mpc0.Stream); Assert.AreEqual(1, mpc1.Parts.Count); Assert.AreEqual("text1", mpc1.Parts[0].Parameters.Name); Assert.AreEqual("abba", mpc1.Parts[0].ContentAsString); }
public void ParseTwoText() { using (var stream = new MemoryStream(upload_stream_2_text_files_txt)) { var mp = MultiPartContent.Decode(stream); Assert.AreEqual(2, mp.Parts.Count); Assert.AreEqual("content1", mp.Parts[0].Parameters.Name); Assert.AreEqual("upload.txt", mp.Parts[0].Parameters.FileName); Assert.AreEqual("text/plain", mp.Parts[0].Parameters.ContentType); Assert.AreEqual("content2", mp.Parts[1].Parameters.Name); Assert.AreEqual("upload.txt", mp.Parts[1].Parameters.FileName); Assert.AreEqual("text/plain", mp.Parts[1].Parameters.ContentType); } }
public void ParseBmpAndText() { using (var stream = new MemoryStream(upload_stream_bmp_and_text)) { var mp = MultiPartContent.Decode(stream); Assert.AreEqual(2, mp.Parts.Count); Assert.AreEqual("content1", mp.Parts[0].Parameters.Name); Assert.AreEqual("upload_img.bmp", mp.Parts[0].Parameters.FileName); Assert.AreEqual("image/bmp", mp.Parts[0].Parameters.ContentType); Assert.IsTrue(upload_img_bmp.SequenceEqual(mp.Parts[0].Content)); Assert.AreEqual("content2", mp.Parts[1].Parameters.Name); Assert.AreEqual("upload.txt", mp.Parts[1].Parameters.FileName); Assert.AreEqual("text/plain", mp.Parts[1].Parameters.ContentType); Assert.IsTrue(upload.SequenceEqual(mp.Parts[1].Content)); } }
public void ParseInputsAndTextRussian() { using (var stream = new MemoryStream(upload_stream_inputs_and_test_russian_txt)) { var mp = MultiPartContent.Decode(stream); Assert.AreEqual(3, mp.Parts.Count); Assert.AreEqual("text1", mp.Parts[0].Parameters.Name); Assert.AreEqual("фрайштадт", mp.Parts[0].ContentAsString); Assert.AreEqual("check1", mp.Parts[1].Parameters.Name); Assert.AreEqual("on", mp.Parts[1].ContentAsString); Assert.AreEqual("content2", mp.Parts[2].Parameters.Name); Assert.AreEqual("upload.txt", mp.Parts[2].Parameters.FileName); Assert.AreEqual("text/plain", mp.Parts[2].Parameters.ContentType); Assert.IsTrue(upload.SequenceEqual(mp.Parts[2].Content)); } }
public void ParseInputsAndTextUnixEOL() { using (var stream = new MemoryStream(upload_stream_inputs_and_bmp_lf_txt)) { var mp = MultiPartContent.Decode(stream); Assert.AreEqual(3, mp.Parts.Count); Assert.AreEqual("text1", mp.Parts[0].Parameters.Name); Assert.AreEqual("abba", mp.Parts[0].ContentAsString); Assert.AreEqual("check1", mp.Parts[1].Parameters.Name); Assert.AreEqual("on", mp.Parts[1].ContentAsString); Assert.AreEqual("content2", mp.Parts[2].Parameters.Name); Assert.AreEqual("upload_img.bmp", mp.Parts[2].Parameters.FileName); Assert.AreEqual("image/bmp", mp.Parts[2].Parameters.ContentType); Assert.IsTrue(upload_img_bmp.SequenceEqual(mp.Parts[2].Content)); } }
public void ParseInputsAndTextExplicitBoundary() { using (var stream = new MemoryStream(upload_stream_inputs_and_file)) { var mp = MultiPartContent.Decode(stream, "---------------------------7de23d3b1d07fe"); Assert.AreEqual("---------------------------7de23d3b1d07fe", mp.Boundary); Assert.AreEqual(3, mp.Parts.Count); Assert.AreEqual("text1", mp.Parts[0].Parameters.Name); Assert.AreEqual("abba", mp.Parts[0].ContentAsString); Assert.AreEqual("check1", mp.Parts[1].Parameters.Name); Assert.AreEqual("on", mp.Parts[1].ContentAsString); Assert.AreEqual("content2", mp.Parts[2].Parameters.Name); Assert.AreEqual("upload.txt", mp.Parts[2].Parameters.FileName); Assert.AreEqual("text/plain", mp.Parts[2].Parameters.ContentType); Assert.IsTrue(upload.SequenceEqual(mp.Parts[2].Content)); } }