Exemplo n.º 1
0
        public void CleanRequestHttpDataShouldIdentifiesRequestsByTheirIdentities()
        {
            // Create some data belonging to req1 and req2
            IAttribute  attribute1 = _factory.CreateAttribute(_req1, "attribute1", "value1");
            IAttribute  attribute2 = _factory.CreateAttribute(_req2, "attribute2", "value2");
            IFileUpload file1      = _factory.CreateFileUpload(
                _req1,
                "file1",
                "file1.txt",
                HttpPostBodyUtil.DefaultTextContentType,
                HttpHeaderValues.Identity.ToString(),
                Encoding.UTF8,
                123);

            IFileUpload file2 = _factory.CreateFileUpload(
                _req2,
                "file2",
                "file2.txt",
                HttpPostBodyUtil.DefaultTextContentType,
                HttpHeaderValues.Identity.ToString(),
                Encoding.UTF8,
                123);

            file1.SetContent(Unpooled.CopiedBuffer(Encoding.UTF8.GetBytes("file1 content")));
            file2.SetContent(Unpooled.CopiedBuffer(Encoding.UTF8.GetBytes("file2 content")));

            // Assert that they are not deleted
            Assert.NotNull(attribute1.GetByteBuffer());
            Assert.NotNull(attribute2.GetByteBuffer());
            Assert.NotNull(file1.GetByteBuffer());
            Assert.NotNull(file2.GetByteBuffer());
            Assert.Equal(1, attribute1.ReferenceCount);
            Assert.Equal(1, attribute2.ReferenceCount);
            Assert.Equal(1, file1.ReferenceCount);
            Assert.Equal(1, file2.ReferenceCount);

            // Clean up by req1
            _factory.CleanRequestHttpData(_req1);

            // Assert that data belonging to req1 has been cleaned up
            Assert.Null(attribute1.GetByteBuffer());
            Assert.Null(file1.GetByteBuffer());
            Assert.Equal(0, attribute1.ReferenceCount);
            Assert.Equal(0, file1.ReferenceCount);

            // But not req2
            Assert.NotNull(attribute2.GetByteBuffer());
            Assert.NotNull(file2.GetByteBuffer());
            Assert.Equal(1, attribute2.ReferenceCount);
            Assert.Equal(1, file2.ReferenceCount);
        }
Exemplo n.º 2
0
        public void CustomBaseDirAndDeleteOnExit()
        {
            DefaultHttpDataFactory defaultHttpDataFactory = new DefaultHttpDataFactory(true);
            string dir = "target/DefaultHttpDataFactoryTest/customBaseDirAndDeleteOnExit";

            defaultHttpDataFactory.SetBaseDir(dir);
            defaultHttpDataFactory.SetDeleteOnExit(true);
            IAttribute  attr = defaultHttpDataFactory.CreateAttribute(_req1, "attribute1");
            IFileUpload fu   = defaultHttpDataFactory.CreateFileUpload(
                _req1, "attribute1", "f.txt", "text/plain", null, null, 0);

            Assert.Equal(dir, ((DiskAttribute)attr).BaseDirectory);
            Assert.Equal(dir, ((DiskFileUpload)fu).BaseDirectory);
            Assert.True(((DiskAttribute)attr).DeleteOnExit);
            Assert.True(((DiskFileUpload)fu).DeleteOnExit);
        }