BloomTests.WebLibraryIntegration.BookTransferTests.UploadBook_FillsInMetaData C# (CSharp) Method

UploadBook_FillsInMetaData() private method

private UploadBook_FillsInMetaData ( ) : void
return void
        public void UploadBook_FillsInMetaData()
        {
            var bookFolder = MakeBook("My incomplete book", "", "", "data");
            File.WriteAllText(Path.Combine(bookFolder, "thumbnail.png"), @"this should be a binary picture");

            Login();
            string s3Id = _transfer.UploadBook(bookFolder, new NullProgress());
            _transfer.WaitUntilS3DataIsOnServer(BloomS3Client.UnitTestBucketName, bookFolder);
            var dest = _workFolderPath.CombineForPath("output");
            Directory.CreateDirectory(dest);
            var newBookFolder = _transfer.DownloadBook(BloomS3Client.UnitTestBucketName, s3Id, dest);
            var metadata = BookMetaData.FromString(File.ReadAllText(Path.Combine(newBookFolder, BookInfo.MetaDataFileName)));
            Assert.That(string.IsNullOrEmpty(metadata.Id), Is.False, "should have filled in missing ID");
            Assert.That(metadata.Uploader.ObjectId, Is.EqualTo(_parseClient.UserId), "should have set uploader to id of logged-in user");
            Assert.That(metadata.DownloadSource, Is.EqualTo(s3Id));

            var record = _parseClient.GetSingleBookRecord(metadata.Id);
            string baseUrl = record.baseUrl;
            Assert.That(baseUrl.StartsWith("https://s3.amazonaws.com/BloomLibraryBooks"), "baseUrl should start with s3 prefix");

            string order = record.bookOrder;
            Assert.That(order, Is.StringContaining("My+incomplete+book.BloomBookOrder"), "order url should include correct file name");
            Assert.That(order.StartsWith(BloomLinkArgs.kBloomUrlPrefix + BloomLinkArgs.kOrderFile + "="), "order url should start with Bloom URL prefix");

            Assert.That(File.Exists(Path.Combine(newBookFolder, "My incomplete book.BloomBookOrder")), "Should have created, uploaded and downloaded the book order");
        }