Ejemplo n.º 1
0
        public void FakeHttpPostedFile_InputStream_Default_ReturnsInputStream()
        {
            var stream = Stream.Null;
            var postedFile = new FakeHttpPostedFile("unused", "unused", stream);

            Assert.That(postedFile.InputStream, Is.EqualTo(stream));
        }
Ejemplo n.º 2
0
        public void Can_add_and_read_from_files()
        {
            var request = new FakeHttpRequest();
            var files = new FakeHttpFileCollection();

            var bytes = Encoding.UTF8.GetBytes("These are file contents");
            var fileContents = new MemoryStream();
            fileContents.Write(bytes, 0, bytes.Length);
            fileContents.Flush();
            fileContents.Position = 0;

            var file = new FakeHttpPostedFile("SomeFile.txt", "text/plain", fileContents);
            files.Add("FileFormFieldValue", file);
            request.SetFiles(files);

            Assert.That(request.Files.Count, Is.EqualTo(1));
            Assert.That(request.Files[0].FileName, Is.EqualTo("SomeFile.txt"));
            Assert.That(request.Files[0].ContentType, Is.EqualTo("text/plain"));
            Assert.That(request.Files[0].ContentLength, Is.EqualTo(fileContents.Length));
        }
Ejemplo n.º 3
0
        public void Can_add_and_read_from_files()
        {
            var request = new FakeHttpRequest();
            var files   = new FakeHttpFileCollection();

            var bytes        = Encoding.UTF8.GetBytes("These are file contents");
            var fileContents = new MemoryStream();

            fileContents.Write(bytes, 0, bytes.Length);
            fileContents.Flush();
            fileContents.Position = 0;

            var file = new FakeHttpPostedFile("SomeFile.txt", "text/plain", fileContents);

            files.Add("FileFormFieldValue", file);
            request.Set(req => req.Files, files);

            Assert.That(request.Files.Count, Is.EqualTo(1));
            Assert.That(request.Files[0].FileName, Is.EqualTo("SomeFile.txt"));
            Assert.That(request.Files[0].ContentType, Is.EqualTo("text/plain"));
            Assert.That(request.Files[0].ContentLength, Is.EqualTo(fileContents.Length));
        }
Ejemplo n.º 4
0
        public void Field_names_are_not_case_sensitive()
        {
            var testSubject = new FakeHttpFileCollection();

            const string formFieldNameInMixedCase = "FileFormFieldValue";

            for (int i = 0; i < 4; i++)
            {
                // simulate an uploaded file
                var bytes        = Encoding.UTF8.GetBytes("These are file contents");
                var fileContents = new MemoryStream(bytes, false);

                var file = new FakeHttpPostedFile("SomeFile" + i + ".txt", "text/plain", fileContents);

                var fieldNameToAdd = formFieldNameInMixedCase + i;
                testSubject.Add(fieldNameToAdd, file);
            }

            Assert.That(testSubject.Count, Is.EqualTo(4));
            for (int i = 0; i < 4; i++)
            {
                // retrieve each one using different variations of case and make sure we get the right one
                var fieldNameToRetrieve = formFieldNameInMixedCase + i;
                var foundFile           = testSubject[fieldNameToRetrieve.ToUpperInvariant()];
                Assert.That(foundFile, Is.Not.Null);
                Assert.That(foundFile.FileName, Is.EqualTo("SomeFile" + i + ".txt"));

                foundFile = testSubject[fieldNameToRetrieve.ToLowerInvariant()];
                Assert.That(foundFile, Is.Not.Null);
                Assert.That(foundFile.FileName, Is.EqualTo("SomeFile" + i + ".txt"));

                TextInfo text = CultureInfo.CurrentCulture.TextInfo;
                var      formFieldNameInTitleCase = text.ToTitleCase(fieldNameToRetrieve);
                foundFile = testSubject[formFieldNameInTitleCase];
                Assert.That(foundFile, Is.Not.Null);
                Assert.That(foundFile.FileName, Is.EqualTo("SomeFile" + i + ".txt"));
            }
        }
Ejemplo n.º 5
0
        public void Field_names_are_not_case_sensitive()
        {
            var testSubject = new FakeHttpFileCollection();

            const string formFieldNameInMixedCase = "FileFormFieldValue";

            for (int i = 0; i < 4; i++)
            {
                // simulate an uploaded file
                var bytes = Encoding.UTF8.GetBytes("These are file contents");
                var fileContents = new MemoryStream(bytes, false);

                var file = new FakeHttpPostedFile("SomeFile" + i + ".txt", "text/plain", fileContents);

                var fieldNameToAdd = formFieldNameInMixedCase + i;
                testSubject.Add(fieldNameToAdd, file);
            }

            Assert.That(testSubject.Count, Is.EqualTo(4));
            for (int i = 0; i < 4; i++)
            {
                // retrieve each one using different variations of case and make sure we get the right one
                var fieldNameToRetrieve = formFieldNameInMixedCase + i;
                var foundFile = testSubject[fieldNameToRetrieve.ToUpperInvariant()];
                Assert.That(foundFile, Is.Not.Null);
                Assert.That(foundFile.FileName, Is.EqualTo("SomeFile" + i + ".txt"));

                foundFile = testSubject[fieldNameToRetrieve.ToLowerInvariant()];
                Assert.That(foundFile, Is.Not.Null);
                Assert.That(foundFile.FileName, Is.EqualTo("SomeFile" + i + ".txt"));

                TextInfo text = CultureInfo.CurrentCulture.TextInfo;
                var formFieldNameInTitleCase = text.ToTitleCase(fieldNameToRetrieve);
                foundFile = testSubject[formFieldNameInTitleCase];
                Assert.That(foundFile, Is.Not.Null);
                Assert.That(foundFile.FileName, Is.EqualTo("SomeFile" + i + ".txt"));
            }
        }
Ejemplo n.º 6
0
        public void FakeHttpPostedFile_SaveAs_Default_SavesStreamContentsInFile()
        {
            string content = "Test Content";
            string tempFilePath = Path.GetTempFileName();

            using (var ms = new MemoryStream(Encoding.UTF8.GetBytes(content)))
            {
                var postedFile = new FakeHttpPostedFile("test.txt", "text/plain", ms);

                postedFile.SaveAs(tempFilePath);
            }

            string tempFileContent = File.ReadAllText(tempFilePath);
            File.Delete(tempFilePath);

            Assert.That(tempFileContent, Is.EqualTo(content));
        }
Ejemplo n.º 7
0
        public void FakeHttpPostedFile_FileName_Default_ReturnsFileName()
        {
            var postedFile = new FakeHttpPostedFile("test-filename", "unused", Stream.Null);

            Assert.That(postedFile.FileName, Is.EqualTo("test-filename"));
        }
Ejemplo n.º 8
0
        public void FakeHttpPostedFile_ContentType_Default_ReturnsContentType()
        {
            var postedFile = new FakeHttpPostedFile("unused", "text/plain", Stream.Null);

            Assert.That(postedFile.ContentType, Is.EqualTo("text/plain"));
        }
Ejemplo n.º 9
0
        public void FakeHttpPostedFile_ContentLength_Default_ReturnsStreamLength()
        {
            var postedFile = new FakeHttpPostedFile("unused", "unused", Stream.Null);

            Assert.That(postedFile.ContentLength, Is.EqualTo(0));
        }