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"));
        }