public async void GetBlobMetadataAsync_InvalidLeaseProvided_ThrowsArgumentException()
        {
            var containerName = _util.GenerateSampleContainerName(_runId);
            var blobName = _util.GenerateSampleBlobName(_runId);
            IBlobServiceClient client = new BlobServiceClient(AccountSettings);

            await client.GetBlobMetadataAsync(containerName, blobName, InvalidLeaseId);

            // throws exception
        }
        public async void GetBlobMetadataAsync_LeasedBlobWithMetadataNoLeaseProvided_GetsMetadata()
        {
            var containerName = _util.GenerateSampleContainerName(_runId);
            var blobName = _util.GenerateSampleBlobName(_runId);
            var expectedMetadata = new Dictionary<string, string>
            {
                {"CaptainAmerica", "Shield"},
                {"Thor", "Hammer"},
                {"Me", "Code"}
            };
            _util.CreateContainer(containerName);
            _util.CreateBlockBlob(containerName, blobName, expectedMetadata);
            _util.LeaseBlob(containerName, blobName);
            IBlobServiceClient client = new BlobServiceClient(AccountSettings);

            var response = await client.GetBlobMetadataAsync(containerName, blobName);

            Assert.AreEqual(expectedMetadata, response.Metadata);
        }
        public async void GetBlobMetadataAsync_LeasedBlobWithMetadataIncorrectLeaseProvided_ThrowsLeaseIdMismatchWithBlobOperationAzureException()
        {
            var containerName = _util.GenerateSampleContainerName(_runId);
            var blobName = _util.GenerateSampleBlobName(_runId);
            var expectedMetadata = new Dictionary<string, string>
            {
                {"CaptainAmerica", "Shield"},
                {"Thor", "Hammer"},
                {"Me", "Code"}
            };
            _util.CreateContainer(containerName);
            _util.CreateBlockBlob(containerName, blobName, expectedMetadata);
            _util.LeaseBlob(containerName, blobName);
            IBlobServiceClient client = new BlobServiceClient(AccountSettings);

            await client.GetBlobMetadataAsync(containerName, blobName, FakeLeaseId);

            // throws exception
        }
        public async void GetBlobMetadataAsync_ExistingBlobWithNoMetadata_GetsEmptyMetadata()
        {
            var containerName = _util.GenerateSampleContainerName(_runId);
            var blobName = _util.GenerateSampleBlobName(_runId);
            var expectedMetadata = new Dictionary<string, string>();
            _util.CreateContainer(containerName);
            _util.CreateBlockBlob(containerName, blobName);
            IBlobServiceClient client = new BlobServiceClient(AccountSettings);

            var response = await client.GetBlobMetadataAsync(containerName, blobName);

            Assert.AreEqual(expectedMetadata, response.Metadata);
        }