예제 #1
0
        public async Task CanAccessSavedStreamEvenWhenOriginalIsDisposed()
        {
            var inMemoryFileManager = new InstanceInMemoryFileManager();

            using (var originalMemStream = new MemoryStream(new byte[] { 1, 2, 3, 4, 5 }))
            {
                await inMemoryFileManager.SaveFileAsync(Guid.NewGuid(), "my-container", "file.bin", originalMemStream);
            }
            var savedFile = inMemoryFileManager.SavedFiles.Single();

            Assert.Equal(5, savedFile.FileStream.Length); // If it can be accessed, everything's fine
        }
예제 #2
0
        public void TwoInstancesDontShareData()
        {
            var firstManager  = new InstanceInMemoryFileManager();
            var secondManager = new InstanceInMemoryFileManager();

            Assert.Empty(firstManager.SavedFiles);
            Assert.Empty(secondManager.SavedFiles);

            firstManager.SaveFileAsync("my-container", "file.bin", new MemoryStream());

            Assert.Single(firstManager.SavedFiles);
            Assert.Empty(secondManager.SavedFiles);
        }
예제 #3
0
        public async Task CanClearFiles()
        {
            var inMemoryFileManager = new InstanceInMemoryFileManager();

            using (var originalMemStream = new MemoryStream(new byte[] { 1, 2, 3, 4, 5 }))
            {
                await inMemoryFileManager.SaveFileAsync(Guid.NewGuid(), "my-container", "file.bin", originalMemStream);
            }

            Assert.Single(inMemoryFileManager.SavedFiles);
            inMemoryFileManager.ClearFiles();
            Assert.Empty(inMemoryFileManager.SavedFiles);
        }
예제 #4
0
        public async Task CanAccessSameFileMultipleTimesEvenAfterFirstRetrivedOneWasDisposed_WithoutFileId()
        {
            var inMemoryFileManager = new InstanceInMemoryFileManager();

            using (var originalMemStream = new MemoryStream(new byte[] { 1, 2, 3, 4, 5 }))
            {
                await inMemoryFileManager.SaveFileAsync("my-container", "file.bin", originalMemStream);
            }

            Assert.Single(inMemoryFileManager.SavedFiles);

            using (var accessedStream = (await inMemoryFileManager.GetFileAsync("my-container", "file.bin")).Value)
            {
                Assert.Equal(5, accessedStream.Length); // If it can be accessed, everything's fine
            }

            using (var accessedStream = (await inMemoryFileManager.GetFileAsync("my-container", "file.bin")).Value)
            {
                Assert.Equal(5, accessedStream.Length); // If it can be accessed, everything's fine
            }
        }