public async Task GetLockOwnerAsync_LeaseLocked_ReturnsOwner() { CancellationToken cancellationToken = new CancellationToken(); _mockStorageBlob.SetupGet(p => p.Metadata).Returns(_mockBlobMetadata); _mockStorageBlob.Setup(p => p.FetchAttributesAsync(cancellationToken)).Returns(Task.FromResult(true)); Mock <IStorageBlobProperties> mockBlobProperties = new Mock <IStorageBlobProperties>(MockBehavior.Strict); mockBlobProperties.Setup(p => p.LeaseState).Returns(LeaseState.Leased); _mockStorageBlob.SetupGet(p => p.Properties).Returns(mockBlobProperties.Object); string lockOwner = await _singletonManager.GetLockOwnerAsync(TestLockId, CancellationToken.None); Assert.Equal(null, lockOwner); _mockBlobMetadata.Add(SingletonManager.FunctionInstanceMetadataKey, TestLockId); lockOwner = await _singletonManager.GetLockOwnerAsync(TestLockId, CancellationToken.None); Assert.Equal(TestLockId, lockOwner); mockBlobProperties.VerifyAll(); _mockStorageBlob.VerifyAll(); }