/// <summary>
        /// Builds a document using document template and XML or JSON data passed in request.
        /// </summary>
        /// <param name="request">Request. <see cref="AssembleDocumentRequest" /></param>
        /// <returns><see cref="System.IO.Stream"/></returns>
        public System.IO.Stream AssembleDocument(AssembleDocumentRequest request)
        {
            // create path and map variables
            var resourcePath = this.configuration.GetApiRootUrl() + "/assembly/assemble";

            resourcePath = Regex
                           .Replace(resourcePath, "\\*", string.Empty)
                           .Replace("&amp;", "&")
                           .Replace("/?", "?");
            var postBody = SerializationHelper.Serialize(request.AssembleOptions); // http body (model) parameter

            return(this.apiInvoker.InvokeBinaryApi(
                       resourcePath,
                       "POST",
                       postBody,
                       null,
                       null));
        }
        public void TestPostAssembleDocument()
        {
            var fileName    = "TableFeatures.odt";
            var dataName    = "TableData.json";
            var data        = File.ReadAllText(Path.Combine(BaseTestContext.LocalTestDataFolder, dataName));
            var saveOptions = new AssembleOptions()
            {
                SaveFormat = "pdf", ReportData = data, TemplateFileInfo = new TemplateFileInfo {
                    FilePath = Path.Combine(BaseTestContext.RemoteBaseTestDataFolder, "GroupDocs.Assembly", fileName)
                }
            };

            this.UploadFileToStorage(Path.Combine(BaseTestContext.RemoteBaseTestDataFolder, "GroupDocs.Assembly", fileName), null, null, File.ReadAllBytes(Path.Combine(BaseTestContext.LocalTestDataFolder, fileName)));

            var request = new AssembleDocumentRequest(saveOptions);
            var result  = this.AssemblyApi.AssembleDocument(request);

            Assert.IsTrue(result.Length > 0, "Error occurred while assemble document");
        }
Ejemplo n.º 3
0
        public void TestPostAssembleDocumentThrows()
        {
            var fileName    = "TableFeatures.odt";
            var saveOptions = new AssembleOptions()
            {
                SaveFormat = "pdf", ReportData = string.Empty, TemplateFileInfo = new TemplateFileInfo {
                    FilePath = Path.Combine(BaseTestContext.RemoteBaseTestDataFolder, "GroupDocs.Assembly", fileName)
                }
            };

            this.UploadFileToStorage(Path.Combine(BaseTestContext.RemoteBaseTestDataFolder, "GroupDocs.Assembly", fileName), null, null, File.ReadAllBytes(Path.Combine(BaseTestContext.LocalTestDataFolder, fileName)));

            var request = new AssembleDocumentRequest(saveOptions);

            try
            {
                this.AssemblyApi.AssembleDocument(request);
            }
            catch (ApiException e)
            {
                Assert.AreEqual(400, e.ErrorCode);
                Assert.AreEqual("assembleOptions.ReportData is required in the request body.", e.Message);
            }
        }