/// <inheritdoc/> public async Task <StorageManifest> CreateStorageManifest(string containerName, string manifestName, IDictionary <string, string> metadata, string segmentsPath) { containerName.AssertIsNotNullOrEmpty("containerName", "Cannot create a storage manifest with a container name that is null or empty."); manifestName.AssertIsNotNullOrEmpty("manifestNamee", "Cannot create a storage manifest with a name that is null or empty."); metadata.AssertIsNotNull("metadata", "Cannot create a storage manifest with null metadata."); segmentsPath.AssertIsNotNullOrEmpty("segmentsPath", "Cannot create storage manifest with a null or empty segments path."); var client = this.GetPocoClient(); var manifest = new DynamicLargeObjectManifest(containerName, manifestName, metadata, segmentsPath); return(await client.CreateStorageManifest(manifest)); }
/// <inheritdoc/> public async Task<StorageManifest> CreateStorageManifest(string containerName, string manifestName, IDictionary<string, string> metadata, string segmentsPath) { containerName.AssertIsNotNullOrEmpty("containerName", "Cannot create a storage manifest with a container name that is null or empty."); manifestName.AssertIsNotNullOrEmpty("manifestNamee", "Cannot create a storage manifest with a name that is null or empty."); metadata.AssertIsNotNull("metadata", "Cannot create a storage manifest with null metadata."); segmentsPath.AssertIsNotNullOrEmpty("segmentsPath", "Cannot create storage manifest with a null or empty segments path."); var client = this.GetPocoClient(); var manifest = new DynamicLargeObjectManifest(containerName, manifestName, metadata, segmentsPath); return await client.CreateStorageManifest(manifest); }
public async Task ExceptionThrownWhenCreatingaStorageManifestHasInternalServerError() { var containerName = "TestContainer"; var manifestName = "a/b/c/manifest"; var segPath = "TestContainer/a/b/c"; var manifest = new DynamicLargeObjectManifest(containerName, manifestName, segPath); var restResp = new HttpResponseAbstraction(new MemoryStream(), new HttpHeadersAbstraction(), HttpStatusCode.InternalServerError); this.StorageServiceRestClient.Responses.Enqueue(restResp); var client = new StorageServicePocoClient(GetValidContext(), this.ServiceLocator); await client.CreateStorageManifest(manifest); }
public async Task CanCreateDynamicManifestWithCreatedResponse() { var containerName = "TestContainer"; var manifestName = "a/b/c/manifest"; var segPath = "TestContainer/a/b/c"; var headers = new HttpHeadersAbstraction() { {"Content-Length", "1234"}, {"Content-Type", "application/octet-stream"}, {"Last-Modified", "Wed, 12 Mar 2014 23:42:23 GMT"}, {"ETag", "d41d8cd98f00b204e9800998ecf8427e"} }; var headers2 = new HttpHeadersAbstraction() { {"Content-Length", "1234"}, {"Content-Type", "application/octet-stream"}, {"Last-Modified", "Wed, 12 Mar 2014 23:42:23 GMT"}, {"ETag", "d41d8cd98f00b204e9800998ecf8427e"}, {"X-Object-Manifest",segPath} }; var restResp1 = new HttpResponseAbstraction(new MemoryStream(), headers, HttpStatusCode.Created); var restResp2 = new HttpResponseAbstraction(new MemoryStream(), headers2, HttpStatusCode.OK); this.StorageServiceRestClient.Responses.Enqueue(restResp1); this.StorageServiceRestClient.Responses.Enqueue(restResp2); var client = new StorageServicePocoClientFactory().Create(GetValidContext(), this.ServiceLocator) as StorageServicePocoClient; var manifest = new DynamicLargeObjectManifest(containerName, manifestName, segPath); var result = await client.CreateStorageManifest(manifest); Assert.IsTrue(this.StorageServiceRestClient.CreatedDynamicManifestCalled); Assert.IsInstanceOfType(result, typeof(DynamicLargeObjectManifest)); Assert.AreEqual(manifestName, result.FullName); Assert.AreEqual(containerName, result.ContainerName); Assert.AreEqual(segPath, ((DynamicLargeObjectManifest)result).SegmentsPath); }