public void LockAndWriteResource() { var azureBlobContainer = new TestAzureBlobContainer( CloudConfiguration.GetStorageAccount("DataConnectionString"), AzureBlobTestContainer); var objId = Guid.NewGuid().ToString(); azureBlobContainer.Save(objId, "testText"); var context = new PessimisticConcurrencyContext() { ObjectId = objId }; try { azureBlobContainer.AcquireLock(context); azureBlobContainer.Save(context, "testTextUpdated"); } finally { azureBlobContainer.ReleaseLock(context); } Assert.AreEqual("testTextUpdated", azureBlobContainer.Get(objId)); }
public void ReleaseResourceAllowsGettingNewLock() { var azureBlobContainer = new TestAzureBlobContainer( CloudConfiguration.GetStorageAccount("DataConnectionString"), AzureBlobTestContainer); var objId = Guid.NewGuid().ToString(); azureBlobContainer.Save(objId, "testText"); var lockContext = new PessimisticConcurrencyContext() { ObjectId = objId }; Assert.IsTrue(azureBlobContainer.AcquireLock(lockContext)); Assert.IsNotNull(lockContext.LockId); var firstLockId = lockContext.LockId; azureBlobContainer.ReleaseLock(lockContext); Assert.IsTrue(azureBlobContainer.AcquireLock(lockContext)); Assert.IsNotNull(lockContext.LockId); Assert.AreNotEqual(firstLockId, lockContext.LockId); }
public void GetBlobListReturnsAllBlobsInContainer() { var objId1 = Guid.NewGuid().ToString(); var objId2 = Guid.NewGuid().ToString(); var azureBlobContainer = new TestAzureBlobContainer( CloudConfiguration.GetStorageAccount("DataConnectionString"), AzureBlobTestContainer); azureBlobContainer.Save(objId1, "testText"); azureBlobContainer.Save(objId2, "testText"); var blobList = azureBlobContainer.GetBlobList().Select(b => b.Name).ToList(); CollectionAssert.Contains(blobList, objId1); CollectionAssert.Contains(blobList, objId2); }
public void SaveShouldStoreTheBlob() { var objId = Guid.NewGuid().ToString(); var azureBlobContainer = new TestAzureBlobContainer( CloudConfiguration.GetStorageAccount("DataConnectionString"), AzureBlobTestContainer); azureBlobContainer.Save(objId, "testText"); Assert.IsNotNull(azureBlobContainer.Get(objId)); }
public void LockFreeResourceReturnsTrueWithLockId() { var azureBlobContainer = new TestAzureBlobContainer( CloudConfiguration.GetStorageAccount("DataConnectionString"), AzureBlobTestContainer); var objId = Guid.NewGuid().ToString(); azureBlobContainer.Save(objId, "testText"); var lockContext = new PessimisticConcurrencyContext() { ObjectId = objId }; Assert.IsTrue(azureBlobContainer.AcquireLock(lockContext)); Assert.IsNotNull(lockContext.LockId); }
public void OptimisticCreateNewBlob() { var azureBlobContainer = new TestAzureBlobContainer( CloudConfiguration.GetStorageAccount("DataConnectionString"), AzureBlobTestContainer); var objId = Guid.NewGuid().ToString(); OptimisticConcurrencyContext context; var text = azureBlobContainer.Get(objId, out context); Assert.IsNull(text); Assert.AreEqual(context.ObjectId, objId); azureBlobContainer.Save(objId, "testText"); text = azureBlobContainer.Get(objId, out context); Assert.IsNotNull(text); Assert.AreEqual(context.ObjectId, objId); }