public async Task WhenUserNotInRole_ThenDownloadObjectToMemoryAsyncThrowsResourceAccessDeniedException(
            [Credential(Role = PredefinedRole.ComputeViewer)] ResourceTask <ICredential> credential)
        {
            var adapter = new StorageAdapter(await credential);

            AssertEx.ThrowsAggregateException <ResourceAccessDeniedException>(
                () => adapter.DownloadObjectToMemoryAsync(
                    SampleLocator,
                    CancellationToken.None).Wait());
        }
        public async Task WhenObjectExists_ThenDownloadObjectToMemoryAsyncReturnsObject(
            [Credential(Role = PredefinedRole.StorageObjectViewer)] ResourceTask <ICredential> credential)
        {
            var adapter = new StorageAdapter(await credential);

            var stream = await adapter.DownloadObjectToMemoryAsync(
                SampleLocator,
                CancellationToken.None);

            Assert.AreEqual(
                SampleData,
                new StreamReader(stream).ReadToEnd());
        }