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