public async Task TestStartUpdateSessionSimple() { UpdateSessionManagerConfig config = new UpdateSessionManagerConfig("cloudServiceDeploymentId", "1", "instanceId", _storageContainerName); BlobBasedUpdateSessionManager updateSessionManager = new BlobBasedUpdateSessionManager(config, _blobClient, _blobLeaseFactory); Assert.IsTrue(await updateSessionManager.TryStartUpdateSession("app1")); }
public async Task TestThatDifferentClustersCanUpdateIndependently() { UpdateSessionManagerConfig config = new UpdateSessionManagerConfig("cloudServiceDeploymentId", "1", "instanceId1", _storageContainerName); BlobBasedUpdateSessionManager updateSessionManager = new BlobBasedUpdateSessionManager(config, _blobClient, _blobLeaseFactory); Assert.IsTrue(await updateSessionManager.TryStartUpdateSession("app1")); config = new UpdateSessionManagerConfig("cloudServiceDeploymentId2", "2", "instanceId2", _storageContainerName); updateSessionManager = new BlobBasedUpdateSessionManager(config, _blobClient, _blobLeaseFactory); Assert.IsTrue(await updateSessionManager.TryStartUpdateSession("app1")); }
public async Task TestThatMultipleInstancesInTheSameUpdateDomainCanUpdateSimultaneously() { UpdateSessionManagerConfig config = new UpdateSessionManagerConfig("cloudServiceDeploymentId", "1", "instanceId1", _storageContainerName); BlobBasedUpdateSessionManager updateSessionManager = new BlobBasedUpdateSessionManager(config, _blobClient, _blobLeaseFactory); Assert.IsTrue(await updateSessionManager.TryStartUpdateSession("app1")); config = new UpdateSessionManagerConfig("cloudServiceDeploymentId", "1", "instanceId2", _storageContainerName); updateSessionManager = new BlobBasedUpdateSessionManager(config, _blobClient, _blobLeaseFactory); Assert.IsTrue(await updateSessionManager.TryStartUpdateSession("app1")); }
public async Task TestThatOnlyOneUpdateDomainCanUpdateAtATime() { UpdateSessionManagerConfig config = new UpdateSessionManagerConfig("cloudServiceDeploymentId", "1", "instanceId1", _storageContainerName); BlobBasedUpdateSessionManager updateSessionManager = new BlobBasedUpdateSessionManager(config, _blobClient, _blobLeaseFactory); Assert.IsTrue(await updateSessionManager.TryStartUpdateSession("app1")); config = new UpdateSessionManagerConfig("cloudServiceDeploymentId", "2", "instanceId2", _storageContainerName); updateSessionManager = new BlobBasedUpdateSessionManager(config, _blobClient, _blobLeaseFactory); Assert.IsFalse(await updateSessionManager.TryStartUpdateSession("app1")); }
public async Task TestThatStartUpdateSessionThrowsIfBlobCannotBeLocked() { string appId = null; var updateBlobFactoryStub = new StubIUpdateBlobFactory { TryLockUpdateBlob_String = id => { appId = id; return(AsyncUtils.AsyncTaskThatThrows <IUpdateBlob>(new UpdateBlobUnavailableException())); } }; BlobBasedUpdateSessionManager updateSessionManager = new BlobBasedUpdateSessionManager(updateBlobFactoryStub, "instanceId1", "1"); await Assert.ThrowsAsync <UpdateBlobUnavailableException>(async() => await updateSessionManager.TryStartUpdateSession("app1")); Assert.Equal("app1", appId); }