/// <summary> /// Uploads a book for publishing to the bloomharvest bucket. /// </summary> /// <param name="downloadUrl">Precondition: The URL should not be encoded.</param> /// <param name="downloadBookDir"></param> private void UploadBook(string downloadUrl, string downloadBookDir) { // ENHANCE: Maybe you can delete some files that you don't need out of here. RenameFilesForHarvestUpload(downloadBookDir); var components = new S3UrlComponents(downloadUrl); string bucketLocationSuffix = $"{components.Submitter}/{components.BookGuid}/bloomdigital"; _s3UploadClient.UploadDirectory(downloadBookDir, bucketLocationSuffix); }
public void TestConstruction() { string url = "https://s3.amazonaws.com/BloomLibraryBooks-Sandbox/[email protected]/b227733c-d902-413c-b12d-59b43e423270/Cricket and Grasshopper/"; var components = new S3UrlComponents(url); Assert.AreEqual("https", components.Protocol, "Protocol should match"); Assert.AreEqual("s3.amazonaws.com", components.Domain, "Domain should match"); Assert.AreEqual("BloomLibraryBooks-Sandbox", components.Bucket, "Bucket should match"); Assert.AreEqual("*****@*****.**", components.Submitter, "Uploader should match"); Assert.AreEqual("b227733c-d902-413c-b12d-59b43e423270", components.BookGuid, "GUID should match"); Assert.AreEqual("Cricket and Grasshopper", components.BookTitle, "Title should match"); }