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 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); }