コード例 #1
0
        public void ListItemsReturnsFolders()
        {
            var store = new AzureKeyValueStore(ConnectionString, ContainerName + Guid.NewGuid().ToString("N"));

            var root  = Guid.NewGuid().ToString("N");
            var b1    = string.Format("{0}/a/b/{1}", root, Guid.NewGuid().ToString("N"));
            var b2    = string.Format("{0}/a/b/{1}", root, Guid.NewGuid().ToString("N"));
            var path1 = string.Format("{0}/a/", root);
            var path2 = string.Format("{0}/a/b/", root);


            store.InsertAsync(new SimpleBlob()
            {
                Body = new MemoryStream(),
                Id   = b1
            }).Wait();
            store.InsertAsync(new SimpleBlob()
            {
                Body = new MemoryStream(),
                Id   = b2
            }).Wait();

            var list = store.ListAsync(path1).Result.ToArray();
            var item = list.Single();

            Assert.Equal(path2, item.Id);

            var items = store.ListAsync(path2).Result.ToArray();

            Assert.Equal(b1, items[0].Id);
            Assert.Equal(b2, items[1].Id);
        }
コード例 #2
0
        public async Task CanInsertAndGetBackMetadat()
        {
            var store      = new AzureKeyValueStore(ConnectionString, ContainerName);
            var simpleBlob = new SimpleBlob()
            {
                Body     = new MemoryStream(new byte[4096]),
                Id       = Guid.NewGuid().ToString("N"),
                Metadata = new Dictionary <string, string>()
                {
                    { "a", "b" },
                    { "c", "d" },
                    { "Content-Type", "image/png" }
                }
            };
            await store.InsertAsync(simpleBlob);

            var metadata = await store.GetMetadataAsync(simpleBlob.Id);

            var blob2 = await store.GetAsync(simpleBlob.Id);

            var blockBlob = (CloudBlockBlob)blob2.UnderlyingBlob;

            Assert.Equal("b", metadata["a"]);
            Assert.Equal("d", metadata["c"]);
            Assert.Equal("image/png", blockBlob.Properties.ContentType);
        }
コード例 #3
0
        public async Task ExistsReturnFalseForNonExistent()
        {
            var store  = new AzureKeyValueStore(ConnectionString, ContainerName);
            var exists = await store.ExistsAsync("adas/asdas/asdasdsa");

            Assert.False(exists);
        }
コード例 #4
0
        public void ListItemsReturnsFolders()
        {
            var store = new AzureKeyValueStore(ConnectionString,ContainerName + Guid.NewGuid().ToString("N"));

            var root = Guid.NewGuid().ToString("N");
            var b1 = string.Format("{0}/a/b/{1}", root, Guid.NewGuid().ToString("N"));
            var b2 = string.Format("{0}/a/b/{1}", root, Guid.NewGuid().ToString("N"));
            var path1 = string.Format("{0}/a/", root);
            var path2 = string.Format("{0}/a/b/", root);
            

            store.InsertAsync(new SimpleBlob()
            {
                Body = new MemoryStream(),
                Id = b1
            }).Wait(); 
            store.InsertAsync(new SimpleBlob()
            {
                Body = new MemoryStream(),
                Id = b2
            }).Wait();

            var list = store.ListAsync(path1).Result.ToArray();
            var item = list.Single();
            Assert.Equal(path2, item.Id);

            var items = store.ListAsync(path2).Result.ToArray();
            Assert.Equal(b1, items[0].Id);
            Assert.Equal(b2, items[1].Id);

        }
コード例 #5
0
        public void ExistsReturnFalseForNonExistent()
        {
            var store  = new AzureKeyValueStore(ConnectionString, ContainerName);
            var exists = store.ExistsAsync("adas/asdas/asdasdsa").Result;

            Assert.False(exists);
        }
コード例 #6
0
        public void ExistsReturnFalseForNonExistent()
        {
            var store = new AzureKeyValueStore(ConnectionString, ContainerName);
            var exists = store.ExistsAsync("adas/asdas/asdasdsa").Result;

            Assert.False(exists);
        }
コード例 #7
0
 public void ReadLargeFile(string fileName)
 {
     var store = new AzureKeyValueStore(_cn, ContainerName);
     var blob = store.GetAsync(fileName).Result;
     var stream = new MemoryStream();
     blob.Body.CopyTo(stream);
     Assert.Equal( ((CloudBlockBlob)blob.UnderlyingBlob).Properties.Length, stream.Length);
 }
コード例 #8
0
        public void ReadLargeFile(string fileName)
        {
            var store  = new AzureKeyValueStore(_cn, ContainerName);
            var blob   = store.GetAsync(fileName).Result;
            var stream = new MemoryStream();

            blob.Body.CopyTo(stream);
            Assert.Equal(((CloudBlockBlob)blob.UnderlyingBlob).Properties.Length, stream.Length);
        }
コード例 #9
0
 public async Task WriteLargeFile(string fileName, int rounds)
 {
     var store = new AzureKeyValueStore(_cn, ContainerName);
     await store.InsertAsync(new SimpleBlob()
     {
         Id   = fileName,
         Body = GetRandomStream(rounds)
     });
 }
コード例 #10
0
        public void WriteLargeFile(string fileName, int rounds)
        {
            var store = new AzureKeyValueStore(_cn, ContainerName);
            store.InsertAsync(new SimpleBlob()
            {
                Id = fileName,
                Body = GetRandomStream(rounds)

            }).Wait();
        }
コード例 #11
0
 public void CanInsertAndExistsReturnsTrue()
 {
     var store = new AzureKeyValueStore(ConnectionString, ContainerName);
     var simpleBlob = new SimpleBlob()
     {
         Body = new MemoryStream(new byte[4096]),
         Id = Guid.NewGuid().ToString("N")
     };
     store.InsertAsync(simpleBlob).Wait();
     Assert.True(store.ExistsAsync(simpleBlob.Id).Result);
 }
コード例 #12
0
        public async Task CanInsertAndExistsReturnsTrue()
        {
            var store      = new AzureKeyValueStore(ConnectionString, ContainerName);
            var simpleBlob = new SimpleBlob()
            {
                Body = new MemoryStream(new byte[4096]),
                Id   = Guid.NewGuid().ToString("N")
            };
            await store.InsertAsync(simpleBlob);

            Assert.True(await store.ExistsAsync(simpleBlob.Id));
        }
コード例 #13
0
        public void CanInsertAndGetBackMetadat()
        {
            var store = new AzureKeyValueStore(ConnectionString, ContainerName);
            var simpleBlob = new SimpleBlob()
            {
                Body = new MemoryStream(new byte[4096]),
                Id = Guid.NewGuid().ToString("N"),
                Metadata = new Dictionary<string, string>()
                {
                    {"a", "b"},
                    {"c", "d"}
                }
            };
            store.InsertAsync(simpleBlob).Wait();
            var metadata = store.GetMetadataAsync(simpleBlob.Id).Result;

            Assert.Equal("b", metadata["a"]);
            Assert.Equal("d", metadata["c"]);
        }
コード例 #14
0
        public void CanInsertAndGetBackMetadat()
        {
            var store      = new AzureKeyValueStore(ConnectionString, ContainerName);
            var simpleBlob = new SimpleBlob()
            {
                Body     = new MemoryStream(new byte[4096]),
                Id       = Guid.NewGuid().ToString("N"),
                Metadata = new Dictionary <string, string>()
                {
                    { "a", "b" },
                    { "c", "d" }
                }
            };

            store.InsertAsync(simpleBlob).Wait();
            var metadata = store.GetMetadataAsync(simpleBlob.Id).Result;

            Assert.Equal("b", metadata["a"]);
            Assert.Equal("d", metadata["c"]);
        }
コード例 #15
0
        public void CanInsertAndGetBackMetadat()
        {
            var store = new AzureKeyValueStore(ConnectionString, ContainerName);
            var simpleBlob = new SimpleBlob()
            {
                Body = new MemoryStream(new byte[4096]),
                Id = Guid.NewGuid().ToString("N"),
                Metadata = new Dictionary<string, string>()
                {
                    {"a", "b"},
                    {"c", "d"},
                    {"Content-Type", "image/png"}
                }
            };
            store.InsertAsync(simpleBlob).Wait();
            var metadata = store.GetMetadataAsync(simpleBlob.Id).Result;
            var blob2 = store.GetAsync(simpleBlob.Id).Result;

            var blockBlob = (CloudBlockBlob) blob2.UnderlyingBlob;
            Assert.Equal("b", metadata["a"]);
            Assert.Equal("d", metadata["c"]);
            Assert.Equal("image/png", blockBlob.Properties.ContentType);
        }