public void BlobsGetCreatedMonoThread() { const string containerName1 = "container-1"; const string containerName2 = "container-2"; const string containerName3 = "container-3"; const string blobPrefix = "mockBlobPrefix"; const string secondBlobPrefix = "sndBlobPrefix"; var storage = new MemoryBlobStorageProvider(); storage.CreateContainer(containerName1); storage.CreateContainer(containerName2); storage.CreateContainer(containerName3); storage.PutBlob(containerName1, blobPrefix + "/" + "blob1", new DateTime(2009,08,27)); storage.PutBlob(containerName1, blobPrefix + "/" + "blob2", new DateTime(2009, 08, 28)); storage.PutBlob(containerName1, blobPrefix + "/" + "blob3", new DateTime(2009, 08, 29)); storage.PutBlob(containerName2, blobPrefix + "/" + "blob2", new DateTime(1984, 07, 06)); storage.PutBlob(containerName1, secondBlobPrefix + "/" + "blob1", new DateTime(2009, 08, 30)); var blobNames = storage.List(containerName1, blobPrefix); Assert.AreEqual(blobNames.Count(),3,"first container with first prefix does not hold 3 blobs"); blobNames = storage.List(containerName2, blobPrefix); Assert.AreEqual(blobNames.Count(), 1, "second container with first prefix does not hold 1 blobs"); blobNames = storage.List(containerName3, blobPrefix); Assert.AreEqual(blobNames.Count(), 0, "third container with first prefix does not hold 0 blob"); blobNames = storage.List(containerName1, secondBlobPrefix); Assert.AreEqual(blobNames.Count(), 1, "first container with second prefix does not hold 1 blobs"); }
public void BlobsGetCreatedMultiThread() { const string containerNamePrefix = "container-"; const string blobPrefix = "mockBlobPrefix"; var storage = new MemoryBlobStorageProvider(); storage.CreateContainer(containerNamePrefix+1); storage.CreateContainer(containerNamePrefix+2); var threads = Enumerable.Range(0, 32) .Select(i=> new Thread(AddValueToContainer)) .ToArray(); var threadParameters = Enumerable.Range(0, 32).Select(i => i<=15 ? new ThreadParameters("threadId" + i, "container-1", storage) : new ThreadParameters("threadId" + i, "container-2", storage)).ToArray(); Enumerable.Range(0,32).ForEach(i=> threads[i].Start(threadParameters[i])); Thread.Sleep(2000); var blobNames = storage.List("container-1", blobPrefix); Assert.AreEqual(1600, blobNames.Count(), "first container with corresponding prefix does not hold 3 blobs"); blobNames = storage.List("container-2", blobPrefix); Assert.AreEqual(1600, blobNames.Count(), "second container with corresponding prefix does not hold 1 blobs"); }
public void Can_list_all_keys() { var blobs = new MemoryBlobStorageProvider(); var set = new CustomMyDocumentSet(blobs); Assert.IsFalse(set.ListAllKeys().Any()); set.InsertOrReplace(1, new MyDocument { ArbitraryString = "X1" }); set.InsertOrReplace(2, new MyDocument { ArbitraryString = "X2" }); set.InsertOrReplace(3, new MyDocument { ArbitraryString = "X3" }); Assert.AreEqual(3, set.ListAllKeys().Count()); Assert.AreEqual(1, set.ListAllKeys().First()); Assert.AreEqual(3, set.ListAllKeys().Last()); }
protected override IDocumentSet <MyDocument, int> BuildDocumentSet() { // clear cache (since it is, after all, caching) var cache = MemoryCache.Default; var keys = cache.Select(p => p.Key).ToList(); foreach (var key in keys) { cache.Remove(key); } var blobs = new MemoryBlobStorageProvider(); return(new CachedMyDocumentSet(blobs)); }
public void Can_delet_all_documents() { var blobs = new MemoryBlobStorageProvider(); var set = new CustomMyDocumentSet(blobs); Assert.IsFalse(set.ListAllKeys().Any()); set.InsertOrReplace(1, new MyDocument { ArbitraryString = "X1" }); set.InsertOrReplace(2, new MyDocument { ArbitraryString = "X2" }); set.InsertOrReplace(3, new MyDocument { ArbitraryString = "X3" }); Assert.AreEqual(3, set.ListAllKeys().Count()); set.DeleteIfExist(2); Assert.AreEqual(2, set.ListAllKeys().Count()); set.DeleteAll(); Assert.AreEqual(0, set.ListAllKeys().Count()); }
public void Can_get_all_documents() { var blobs = new MemoryBlobStorageProvider(); var set = new CustomMyDocumentSet(blobs); Assert.IsFalse(set.GetAll().Any()); set.InsertOrReplace(1, new MyDocument { ArbitraryString = "X1" }); set.InsertOrReplace(2, new MyDocument { ArbitraryString = "X2" }); set.InsertOrReplace(3, new MyDocument { ArbitraryString = "X3" }); Assert.AreEqual(3, set.GetAll().Count()); Assert.AreEqual("X1", set.GetAll().First().ArbitraryString); Assert.AreEqual("X3", set.GetAll().Last().ArbitraryString); }
public void Can_delet_all_documents() { var blobs = new MemoryBlobStorageProvider(); var set = new CustomMyDocumentSet(blobs); Assert.IsFalse(set.ListAllKeys().Any()); set.InsertOrReplace(1, new MyDocument { ArbitraryString = "X1" }); set.InsertOrReplace(2, new MyDocument { ArbitraryString = "X2" }); set.InsertOrReplace(3, new MyDocument { ArbitraryString = "X3" }); Assert.AreEqual(3, set.ListAllKeys().Count()); set.DeleteIfExist(2); Assert.AreEqual(2, set.ListAllKeys().Count()); set.DeleteAll(); Assert.AreEqual(0, set.ListAllKeys().Count()); }
protected override IDocumentSet<MyDocument, int> BuildDocumentSet() { var blobs = new MemoryBlobStorageProvider(); return new DocumentSet<MyDocument, int>(blobs, i => new BlobLocation("container", i.ToString())); }
public ThreadParameters(string threadId, string containerName, MemoryBlobStorageProvider blobStorage) { BlobStorage = blobStorage; ThreadId = threadId; ContainerName = containerName; }
protected override IDocumentSet <MyDocument, int> BuildDocumentSet() { var blobs = new MemoryBlobStorageProvider(); return(new CustomMyDocumentSet(blobs)); }
protected override IDocumentSet<MyDocument, int> BuildDocumentSet() { var blobs = new MemoryBlobStorageProvider(); return new CustomMyDocumentSet(blobs); }
protected override IDocumentSet <MyDocument, int> BuildDocumentSet() { var blobs = new MemoryBlobStorageProvider(); return(new DocumentSet <MyDocument, int>(blobs, i => new BlobLocation("container", i.ToString()))); }