aspose_words_cloud 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (121) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE +22 -0
  3. data/README.md +48 -0
  4. data/aspose_words_cloud.gemspec +26 -0
  5. data/lib/aspose_words_cloud/api/words_api.rb +4414 -0
  6. data/lib/aspose_words_cloud/api_client.rb +335 -0
  7. data/lib/aspose_words_cloud/api_error.rb +24 -0
  8. data/lib/aspose_words_cloud/configuration.rb +166 -0
  9. data/lib/aspose_words_cloud/models/base_object.rb +86 -0
  10. data/lib/aspose_words_cloud/models/base_response.rb +53 -0
  11. data/lib/aspose_words_cloud/models/bookmark.rb +53 -0
  12. data/lib/aspose_words_cloud/models/bookmark_data.rb +45 -0
  13. data/lib/aspose_words_cloud/models/bookmark_response.rb +61 -0
  14. data/lib/aspose_words_cloud/models/bookmarks.rb +47 -0
  15. data/lib/aspose_words_cloud/models/bookmarks_response.rb +61 -0
  16. data/lib/aspose_words_cloud/models/border.rb +77 -0
  17. data/lib/aspose_words_cloud/models/color.rb +61 -0
  18. data/lib/aspose_words_cloud/models/comment.rb +93 -0
  19. data/lib/aspose_words_cloud/models/comment_response.rb +61 -0
  20. data/lib/aspose_words_cloud/models/comments_collection.rb +47 -0
  21. data/lib/aspose_words_cloud/models/comments_response.rb +61 -0
  22. data/lib/aspose_words_cloud/models/document.rb +87 -0
  23. data/lib/aspose_words_cloud/models/document_entry.rb +45 -0
  24. data/lib/aspose_words_cloud/models/document_entry_list.rb +39 -0
  25. data/lib/aspose_words_cloud/models/document_position.rb +45 -0
  26. data/lib/aspose_words_cloud/models/document_properties.rb +47 -0
  27. data/lib/aspose_words_cloud/models/document_properties_response.rb +61 -0
  28. data/lib/aspose_words_cloud/models/document_property.rb +61 -0
  29. data/lib/aspose_words_cloud/models/document_property_response.rb +61 -0
  30. data/lib/aspose_words_cloud/models/document_response.rb +61 -0
  31. data/lib/aspose_words_cloud/models/document_stat_data.rb +63 -0
  32. data/lib/aspose_words_cloud/models/drawing_object.rb +79 -0
  33. data/lib/aspose_words_cloud/models/drawing_object_response.rb +61 -0
  34. data/lib/aspose_words_cloud/models/drawing_objects.rb +47 -0
  35. data/lib/aspose_words_cloud/models/drawing_objects_response.rb +61 -0
  36. data/lib/aspose_words_cloud/models/field.rb +61 -0
  37. data/lib/aspose_words_cloud/models/field_names.rb +47 -0
  38. data/lib/aspose_words_cloud/models/field_names_response.rb +61 -0
  39. data/lib/aspose_words_cloud/models/field_response.rb +61 -0
  40. data/lib/aspose_words_cloud/models/font.rb +381 -0
  41. data/lib/aspose_words_cloud/models/font_response.rb +61 -0
  42. data/lib/aspose_words_cloud/models/form_field.rb +117 -0
  43. data/lib/aspose_words_cloud/models/form_field_response.rb +61 -0
  44. data/lib/aspose_words_cloud/models/hyperlink.rb +53 -0
  45. data/lib/aspose_words_cloud/models/hyperlink_response.rb +61 -0
  46. data/lib/aspose_words_cloud/models/hyperlinks.rb +47 -0
  47. data/lib/aspose_words_cloud/models/hyperlinks_response.rb +61 -0
  48. data/lib/aspose_words_cloud/models/link.rb +61 -0
  49. data/lib/aspose_words_cloud/models/link_element.rb +37 -0
  50. data/lib/aspose_words_cloud/models/load_web_document_data.rb +45 -0
  51. data/lib/aspose_words_cloud/models/metafile_rendering_options_data.rb +53 -0
  52. data/lib/aspose_words_cloud/models/modification_operation_result.rb +45 -0
  53. data/lib/aspose_words_cloud/models/node_link.rb +45 -0
  54. data/lib/aspose_words_cloud/models/page_number.rb +61 -0
  55. data/lib/aspose_words_cloud/models/page_setup.rb +333 -0
  56. data/lib/aspose_words_cloud/models/page_stat_data.rb +53 -0
  57. data/lib/aspose_words_cloud/models/paragraph.rb +55 -0
  58. data/lib/aspose_words_cloud/models/paragraph_link.rb +45 -0
  59. data/lib/aspose_words_cloud/models/paragraph_link_collection.rb +47 -0
  60. data/lib/aspose_words_cloud/models/paragraph_link_collection_response.rb +61 -0
  61. data/lib/aspose_words_cloud/models/paragraph_response.rb +61 -0
  62. data/lib/aspose_words_cloud/models/protection_data.rb +37 -0
  63. data/lib/aspose_words_cloud/models/protection_data_response.rb +69 -0
  64. data/lib/aspose_words_cloud/models/protection_request.rb +53 -0
  65. data/lib/aspose_words_cloud/models/rectangle.rb +61 -0
  66. data/lib/aspose_words_cloud/models/replace_text_request.rb +61 -0
  67. data/lib/aspose_words_cloud/models/replace_text_response.rb +69 -0
  68. data/lib/aspose_words_cloud/models/response_message.rb +45 -0
  69. data/lib/aspose_words_cloud/models/revisions_modification_response.rb +61 -0
  70. data/lib/aspose_words_cloud/models/run.rb +53 -0
  71. data/lib/aspose_words_cloud/models/run_response.rb +61 -0
  72. data/lib/aspose_words_cloud/models/save_options_data.rb +69 -0
  73. data/lib/aspose_words_cloud/models/save_response.rb +61 -0
  74. data/lib/aspose_words_cloud/models/save_result.rb +55 -0
  75. data/lib/aspose_words_cloud/models/search_response.rb +69 -0
  76. data/lib/aspose_words_cloud/models/search_result.rb +45 -0
  77. data/lib/aspose_words_cloud/models/search_results_collection.rb +47 -0
  78. data/lib/aspose_words_cloud/models/section.rb +53 -0
  79. data/lib/aspose_words_cloud/models/section_link.rb +37 -0
  80. data/lib/aspose_words_cloud/models/section_link_collection.rb +47 -0
  81. data/lib/aspose_words_cloud/models/section_link_collection_response.rb +61 -0
  82. data/lib/aspose_words_cloud/models/section_page_setup_response.rb +61 -0
  83. data/lib/aspose_words_cloud/models/section_response.rb +61 -0
  84. data/lib/aspose_words_cloud/models/split_document_response.rb +61 -0
  85. data/lib/aspose_words_cloud/models/split_document_result.rb +55 -0
  86. data/lib/aspose_words_cloud/models/stat_data_response.rb +69 -0
  87. data/lib/aspose_words_cloud/models/story_child_nodes.rb +39 -0
  88. data/lib/aspose_words_cloud/models/text_item.rb +45 -0
  89. data/lib/aspose_words_cloud/models/text_items.rb +47 -0
  90. data/lib/aspose_words_cloud/models/text_items_response.rb +61 -0
  91. data/lib/aspose_words_cloud/models/tiff_save_options_data.rb +189 -0
  92. data/lib/aspose_words_cloud/models/watermark_text.rb +45 -0
  93. data/lib/aspose_words_cloud/version.rb +3 -0
  94. data/lib/aspose_words_cloud.rb +114 -0
  95. data/test/data/AppendWordDocumentsExample-TestFile-Destination.doc +0 -0
  96. data/test/data/AppendWordDocumentsExample-TestFile-Source.doc +0 -0
  97. data/test/data/Customers.txt +6 -0
  98. data/test/data/FormFilled.docx +0 -0
  99. data/test/data/SampleAppendDoc.docx +0 -0
  100. data/test/data/SampleAppendDoc2.docx +0 -0
  101. data/test/data/SampleBlankWatermarkDocument.docx +0 -0
  102. data/test/data/SampleBlankWordDocument.docx +0 -0
  103. data/test/data/SampleExecuteTemplate.doc +0 -0
  104. data/test/data/SampleExecuteTemplate.docx +0 -0
  105. data/test/data/SampleExecuteTemplateData.txt +49 -0
  106. data/test/data/SampleHeaderFooterWordDocument.docx +0 -0
  107. data/test/data/SampleInvoiceTemplate.doc +0 -0
  108. data/test/data/SampleInvoiceTemplateData.txt +24 -0
  109. data/test/data/SampleMailMergeTemplate.docx +0 -0
  110. data/test/data/SampleMailMergeTemplateData.txt +7 -0
  111. data/test/data/SampleMailMergeTemplateImage.doc +0 -0
  112. data/test/data/SampleMailMergeTemplateImageData.txt +12 -0
  113. data/test/data/SampleOlePdfData.docx +0 -0
  114. data/test/data/SampleProtectedBlankWordDocument.docx +0 -0
  115. data/test/data/SampleWordDocument.docx +0 -0
  116. data/test/data/Sample_EmbeddedOLE.docx +0 -0
  117. data/test/data/WordFormatConverterExampleTest.doc +0 -0
  118. data/test/data/aspose-cloud.png +0 -0
  119. data/test/data/header-logo.png +0 -0
  120. data/test/words_tests.rb +773 -0
  121. metadata +256 -0
@@ -0,0 +1,773 @@
1
+ require "minitest/autorun"
2
+ require "minitest/unit"
3
+
4
+ require_relative '../lib/aspose_words_cloud'
5
+
6
+ class WordsTests < Minitest::Test
7
+ include MiniTest::Assertions
8
+ include AsposeWordsCloud
9
+ include AsposeStorageCloud
10
+
11
+ def setup
12
+ #Get App key and App SID from https://cloud.aspose.com
13
+ AsposeApp.app_key_and_sid("", "")
14
+ @words_api = WordsApi.new
15
+ end
16
+
17
+ def teardown
18
+ end
19
+
20
+ def upload_file(file_name)
21
+ @storage_api = StorageApi.new
22
+ response = @storage_api.put_create(file_name, File.open("data/" << file_name,"r") { |io| io.read } )
23
+ assert(response, message="Failed to upload {file_name} file.")
24
+ end
25
+
26
+ def test_put_convert_document
27
+ file_name = "SampleWordDocument.docx"
28
+ convert_to_format = "pdf"
29
+ response = @words_api.put_convert_document(File.open("data/" << file_name,"r") { |io| io.read }, {format: convert_to_format})
30
+ assert(response, message="Failed to convert document from request content to {convert_to_format} format.")
31
+ end
32
+
33
+ def test_put_execute_mail_merge_online
34
+ file_name = "SampleMailMergeTemplate.docx"
35
+ data_file_name = "SampleMailMergeTemplateData.txt"
36
+ with_regions = false
37
+
38
+ file = File.open("data/" << file_name,"r") { |io| io.read }
39
+ data = File.open("data/" << data_file_name,"r") { |io| io.read }
40
+ response = @words_api.put_execute_mail_merge_online(with_regions, file, data)
41
+ assert(response, message="Failed to execute document mail merge online.")
42
+ end
43
+
44
+ def test_put_execute_template_online
45
+ file_name = "SampleExecuteTemplate.doc"
46
+ data_file_name = "SampleExecuteTemplateData.txt"
47
+
48
+ file = File.open("data/" << file_name,"r") { |io| io.read }
49
+ data = File.open("data/" << data_file_name,"r") { |io| io.read }
50
+ response = @words_api.put_execute_template_online(file, data)
51
+ assert(response, message="Failed to populate document template with data online.")
52
+ end
53
+
54
+ def test_post_load_web_document
55
+ load_web_document_data = LoadWebDocumentData.new
56
+ load_web_document_data.loading_document_url = "http://google.com"
57
+
58
+ save_options = SaveOptionsData.new
59
+ save_options.save_format = "doc"
60
+ save_options.file_name = "google.doc"
61
+
62
+ load_web_document_data.save_options = save_options
63
+
64
+ response = @words_api.post_load_web_document(load_web_document_data)
65
+ assert(response, message="Failed to load new document from web into the file with any supported format of data")
66
+ end
67
+
68
+ def test_put_document_field_names
69
+ response = @words_api.put_document_field_names({use_non_merge_fields: false})
70
+ assert(response, message="Failed to read document field names")
71
+ end
72
+
73
+ def test_post_run_task
74
+ file_name = "SampleWordDocument.docx"
75
+ response = @words_api.post_run_task(File.open("data/" << file_name,"r") { |io| io.read })
76
+ assert(response, message="Failed to run tasks")
77
+ end
78
+
79
+ def test_get_document
80
+ file_name = "SampleWordDocument.docx"
81
+ upload_file(file_name)
82
+
83
+ response = @words_api.get_document(file_name)
84
+ assert(response, message="Failed to read document common info")
85
+ end
86
+
87
+ def test_get_document_with_format
88
+ file_name = "SampleWordDocument.docx"
89
+ upload_file(file_name)
90
+
91
+ format = "pdf"
92
+ response = @words_api.get_document_with_format(file_name, format)
93
+ assert(response, message="Failed to get document in desired format")
94
+ end
95
+
96
+ def test_post_document_save_as
97
+ file_name = "SampleWordDocument.docx"
98
+ upload_file(file_name)
99
+
100
+ save_options = SaveOptionsData.new
101
+ save_options.save_format = "pdf"
102
+ save_options.file_name = "SampleWordDocument.pdf"
103
+ response = @words_api.post_document_save_as(file_name, save_options)
104
+ assert(response, message="Failed to convert document to destination format with detailed settings and save result to storage.")
105
+ end
106
+
107
+ def test_put_document_save_as_tiff
108
+ file_name = "SampleWordDocument.docx"
109
+ upload_file(file_name)
110
+
111
+ tiff_save_options = TiffSaveOptionsData.new
112
+ tiff_save_options.file_name = "SampleWordDocument.tiff"
113
+ tiff_save_options.save_format = "tiff"
114
+ response = @words_api.put_document_save_as_tiff(file_name, tiff_save_options)
115
+ assert(response, message="Failed to convert document to tiff with detailed settings and save result to storage")
116
+ end
117
+
118
+ def test_post_append_document
119
+ file_name = "SampleWordDocument.docx"
120
+ upload_file(file_name)
121
+ append_doc_1_file_name = "SampleAppendDoc.docx"
122
+ upload_file(append_doc_1_file_name)
123
+ append_doc_2_file_name = "SampleAppendDoc2.docx"
124
+ upload_file(append_doc_2_file_name)
125
+
126
+ document_1 = DocumentEntry.new
127
+ document_1.href = append_doc_1_file_name
128
+ document_1.import_format_mode = "KeepSourceFormatting"
129
+
130
+ document_2 = DocumentEntry.new
131
+ document_2.href = append_doc_2_file_name
132
+ document_2.import_format_mode = "KeepSourceFormatting"
133
+
134
+ document_list = DocumentEntryList.new
135
+ document_list.document_entries = [document_1, document_2]
136
+
137
+ response = @words_api.post_append_document(file_name, document_list)
138
+ assert(response, message="Failed to append documents to original document")
139
+ end
140
+
141
+ def test_get_document_bookmarks
142
+ file_name = "SampleWordDocument.docx"
143
+ upload_file(file_name)
144
+
145
+ response = @words_api.get_document_bookmarks(file_name)
146
+ assert(response, message="Failed to read document bookmarks common info")
147
+ end
148
+
149
+ def test_get_document_bookmark_by_name
150
+ file_name = "SampleWordDocument.docx"
151
+ upload_file(file_name)
152
+
153
+ bookmark_name = "aspose"
154
+ response = @words_api.get_document_bookmark_by_name(file_name, bookmark_name)
155
+ assert(response, message="Failed to read document bookmark data by its name")
156
+ end
157
+
158
+ def test_post_update_document_bookmark
159
+ file_name = "SampleWordDocument.docx"
160
+ upload_file(file_name)
161
+
162
+ bookmark_data = BookmarkData.new
163
+ bookmark_data.name = "aspose"
164
+ bookmark_data.text = "Aspose APIs"
165
+
166
+ bookmark_name = "aspose"
167
+ response = @words_api.post_update_document_bookmark(file_name, bookmark_name, bookmark_data)
168
+ assert(response, message="Failed to update document bookmark")
169
+ end
170
+
171
+ def test_get_comments
172
+ file_name = "SampleWordDocument.docx"
173
+ upload_file(file_name)
174
+
175
+ response = @words_api.get_comments(file_name)
176
+ assert(response, message="Failed to get comments from document")
177
+ end
178
+
179
+ def test_put_comment
180
+ file_name = "SampleWordDocument.docx"
181
+ upload_file(file_name)
182
+
183
+ comment = Comment.new
184
+ comment.author = "Adam"
185
+ comment.text = "Machine Learning"
186
+ comment.initial = "MS"
187
+
188
+ comment.content = StoryChildNodes.new
189
+ comment.content.child_nodes = []
190
+
191
+ comment.range_start = DocumentPosition.new
192
+ comment.range_start.node = NodeLink.new
193
+ comment.range_start.node.node_id = "0.7.6"
194
+ comment.range_start.offset = 0
195
+
196
+ comment.range_end = DocumentPosition.new
197
+ comment.range_end.node = NodeLink.new
198
+ comment.range_end.node.node_id = "0.7.5"
199
+ comment.range_end.offset = 0
200
+
201
+ response = @words_api.put_comment(file_name, comment)
202
+ assert(response, message="Failed to add comment to document")
203
+ end
204
+
205
+ def test_get_comment
206
+ file_name = "SampleWordDocument.docx"
207
+ upload_file(file_name)
208
+
209
+ comment_index = 0
210
+ response = @words_api.get_comment(file_name, comment_index)
211
+ assert(response, message="Failed to get comment from document")
212
+ end
213
+
214
+ def test_post_comment
215
+ file_name = "SampleWordDocument.docx"
216
+ upload_file(file_name)
217
+
218
+ comment = Comment.new
219
+ comment.author = "Adam"
220
+ comment.text = "Machine Learning"
221
+
222
+ comment.content = StoryChildNodes.new
223
+ comment.content.child_nodes = []
224
+
225
+ comment.range_start = DocumentPosition.new
226
+ comment.range_start.node = NodeLink.new
227
+ comment.range_start.node.node_id = "0.7.6"
228
+ comment.range_start.offset = 0
229
+
230
+ comment.range_end = DocumentPosition.new
231
+ comment.range_end.node = NodeLink.new
232
+ comment.range_end.node.node_id = "0.7.5"
233
+ comment.range_end.offset = 0
234
+
235
+ comment_index = 0
236
+ response = @words_api.post_comment(file_name, comment_index, comment)
237
+ assert(response, message="Failed to updates the comment")
238
+ end
239
+
240
+ def test_delete_comment
241
+ file_name = "SampleWordDocument.docx"
242
+ upload_file(file_name)
243
+
244
+ comment_index = 0
245
+ response = @words_api.delete_comment(file_name, comment_index)
246
+ assert(response, message="Failed to remove comment from document")
247
+ end
248
+
249
+ def test_get_document_properties
250
+ file_name = "SampleWordDocument.docx"
251
+ upload_file(file_name)
252
+
253
+ response = @words_api.get_document_properties(file_name)
254
+ assert(response, message="Failed to read document properties info")
255
+ end
256
+
257
+ def test_get_document_property
258
+ file_name = "SampleWordDocument.docx"
259
+ upload_file(file_name)
260
+
261
+ property_name = "Author"
262
+ response = @words_api.get_document_property(file_name, property_name)
263
+ assert(response, message="Failed to read document property info by the property name")
264
+ end
265
+
266
+ def test_put_update_document_property
267
+ file_name = "SampleWordDocument.docx"
268
+ upload_file(file_name)
269
+
270
+ property = DocumentProperty.new
271
+ property.name = "Provider"
272
+ property.value = "Jobs"
273
+
274
+ property_name = "Provider"
275
+ response = @words_api.put_update_document_property(file_name, property_name, property)
276
+ assert(response, message="Failed to update existing document property")
277
+ end
278
+
279
+ def test_delete_document_property
280
+ file_name = "SampleWordDocument.docx"
281
+ upload_file(file_name)
282
+
283
+ property_name = "AsposeAuthor"
284
+ response = @words_api.delete_document_property(file_name, property_name)
285
+ assert(response, message="Failed to delete document property")
286
+ end
287
+
288
+ def test_get_document_drawing_objects
289
+ file_name = "SampleWordDocument.docx"
290
+ upload_file(file_name)
291
+
292
+ response = @words_api.get_document_drawing_objects(file_name)
293
+ assert(response, message="Failed to read document drawing objects common info")
294
+ end
295
+
296
+ def test_get_document_drawing_object_by_index
297
+ file_name = "SampleWordDocument.docx"
298
+ upload_file(file_name)
299
+
300
+ object_index = 1
301
+ response = @words_api.get_document_drawing_object_by_index(file_name, object_index)
302
+ assert(response, message="Failed to read document drawing object common info by its index")
303
+ end
304
+
305
+ def test_get_document_drawing_object_by_index_with_format
306
+ file_name = "SampleWordDocument.docx"
307
+ upload_file(file_name)
308
+
309
+ object_index = 1
310
+ format = "png"
311
+ response = @words_api.get_document_drawing_object_by_index_with_format(file_name, object_index, format)
312
+ assert(response, message="Failed to get document drawing object")
313
+ end
314
+
315
+ def test_get_document_drawing_object_image_data
316
+ file_name = "SampleWordDocument.docx"
317
+ upload_file(file_name)
318
+
319
+ object_index = 2
320
+ response = @words_api.get_document_drawing_object_image_data(file_name, object_index)
321
+ assert(response, message="Failed to read drawing object image data")
322
+ end
323
+
324
+ def test_get_document_drawing_object_ole_data
325
+ file_name = "Sample_EmbeddedOLE.docx"
326
+ upload_file(file_name)
327
+
328
+ object_index = 0
329
+ response = @words_api.get_document_drawing_object_ole_data(file_name, object_index)
330
+ assert(response, message="Failed to get drawing object OLE data")
331
+ end
332
+
333
+ def test_post_document_execute_mail_merge
334
+ file_name = "SampleMailMergeTemplateImage.doc"
335
+ upload_file(file_name)
336
+ image_name = "header-logo.png"
337
+ upload_file(image_name)
338
+
339
+ with_regions = false
340
+
341
+ response = @words_api.post_document_execute_mail_merge(file_name, with_regions, File.open("data/SampleMailMergeTemplateImageData.txt","r") { |io| io.read })
342
+ assert(response, message="Failed to execute document mail merge operation")
343
+ end
344
+
345
+ def test_post_execute_template
346
+ file_name = "SampleExecuteTemplate.doc"
347
+ upload_file(file_name)
348
+
349
+ response = @words_api.post_execute_template(file_name, File.open("data/SampleExecuteTemplateData.txt","r") { |io| io.read })
350
+ assert(response, message="Failed to populate document template with data")
351
+ end
352
+
353
+ def test_delete_document_fields
354
+ file_name = "SampleWordDocument.docx"
355
+ upload_file(file_name)
356
+
357
+ response = @words_api.delete_document_fields(file_name)
358
+ assert(response, message="Failed to remove fields from document")
359
+ end
360
+
361
+ def test_delete_headers_footers
362
+ file_name = "SampleWordDocument.docx"
363
+ upload_file(file_name)
364
+
365
+ response = @words_api.delete_headers_footers(file_name)
366
+ assert(response, message="Failed to delete document headers and footers")
367
+ end
368
+
369
+ def test_get_document_hyperlinks
370
+ file_name = "SampleWordDocument.docx"
371
+ upload_file(file_name)
372
+
373
+ response = @words_api.get_document_hyperlinks(file_name)
374
+ assert(response, message="Failed to read document hyperlinks common info")
375
+ end
376
+
377
+ def test_get_document_hyperlink_by_index
378
+ file_name = "SampleWordDocument.docx"
379
+ upload_file(file_name)
380
+
381
+ hyperlink_index = 0
382
+ response = @words_api.get_document_hyperlink_by_index(file_name, hyperlink_index)
383
+ assert(response, message="Failed to read document hyperlink by its index")
384
+ end
385
+
386
+ def test_post_insert_page_numbers
387
+ file_name = "SampleWordDocument.docx"
388
+ upload_file(file_name)
389
+
390
+ page_number = PageNumber.new
391
+ page_number.format = "{PAGE} of {NUMPAGES}"
392
+ page_number.alignment = "center"
393
+
394
+ response = @words_api.post_insert_page_numbers(file_name, page_number)
395
+ assert(response, message="Failed to insert document page numbers")
396
+ end
397
+
398
+ def test_post_insert_watermark_image
399
+ file_name = "SampleWordDocument.docx"
400
+ upload_file(file_name)
401
+
402
+ response = @words_api.post_insert_watermark_image(file_name, {rotation_angle: 45, image: "aspose-cloud.png"})
403
+ assert(response, message="Failed to insert document watermark image")
404
+ end
405
+
406
+ def test_post_insert_watermark_text
407
+ file_name = "SampleWordDocument.docx"
408
+ upload_file(file_name)
409
+
410
+ watermark_text = WatermarkText.new
411
+ watermark_text.text = "Welcome Aspose"
412
+ watermark_text.rotation_angle = 45
413
+
414
+ response = @words_api.post_insert_watermark_text(file_name, watermark_text)
415
+ assert(response, message="Failed to insert document watermark text")
416
+ end
417
+
418
+ def test_delete_document_macros
419
+ file_name = "SampleWordDocument.docx"
420
+ upload_file(file_name)
421
+
422
+ response = @words_api.delete_document_macros(file_name)
423
+ assert(response, message="Failed to remove macros from document")
424
+ end
425
+
426
+ def test_get_document_field_names
427
+ file_name = "SampleWordDocument.docx"
428
+ upload_file(file_name)
429
+
430
+ response = @words_api.get_document_field_names(file_name)
431
+ assert(response, message="Failed to read document field names")
432
+ end
433
+
434
+ def test_get_document_paragraphs
435
+ file_name = "SampleWordDocument.docx"
436
+ upload_file(file_name)
437
+
438
+ response = @words_api.get_document_paragraphs(file_name)
439
+ assert(response, message="Failed to return a list of paragraphs that are contained in the document")
440
+ end
441
+
442
+ def test_get_document_paragraph
443
+ file_name = "SampleWordDocument.docx"
444
+ upload_file(file_name)
445
+
446
+ paragraph_index = 1
447
+ response = @words_api.get_document_paragraph(file_name, paragraph_index)
448
+ assert(response, message="Failed to get paragraph contained in the document")
449
+ end
450
+
451
+ def test_delete_paragraph_fields
452
+ file_name = "SampleWordDocument.docx"
453
+ upload_file(file_name)
454
+
455
+ paragraph_index = 0
456
+ response = @words_api.delete_paragraph_fields(file_name, paragraph_index)
457
+ assert(response, message="Failed to remove fields from paragraph")
458
+ end
459
+
460
+ def test_get_document_paragraph_run
461
+ file_name = "SampleWordDocument.docx"
462
+ upload_file(file_name)
463
+
464
+ paragraph_index = 0
465
+ run_index = 0
466
+ response = @words_api.get_document_paragraph_run(file_name, paragraph_index, run_index)
467
+ assert(response, message="Failed to get a paragraph contained in the document")
468
+ end
469
+
470
+ def test_get_document_paragraph_run_font
471
+ file_name = "SampleWordDocument.docx"
472
+ upload_file(file_name)
473
+
474
+ paragraph_index = 0
475
+ run_index = 0
476
+ response = @words_api.get_document_paragraph_run_font(file_name, paragraph_index, run_index)
477
+ assert(response, message="Failed to get a paragraph contained in the document")
478
+ end
479
+
480
+ def test_post_document_paragraph_run_font
481
+ file_name = "SampleWordDocument.docx"
482
+ upload_file(file_name)
483
+
484
+ font = Font.new
485
+ font.name = "Arial"
486
+ font.bold = true
487
+
488
+ paragraph_index = 0
489
+ run_index = 0
490
+ response = @words_api.post_document_paragraph_run_font(file_name, paragraph_index, run_index, font)
491
+ assert(response, message="Failed to post document paragraph run font")
492
+ end
493
+
494
+ def test_get_document_protection
495
+ file_name = "SampleWordDocument.docx"
496
+ upload_file(file_name)
497
+
498
+ response = @words_api.get_document_protection(file_name)
499
+ assert(response, message="Failed to read document protection common info")
500
+ end
501
+
502
+ def test_put_protect_document
503
+ file_name = "SampleWordDocument.docx"
504
+ upload_file(file_name)
505
+
506
+ protection_data = ProtectionRequest.new
507
+ protection_data.password = "myPassword"
508
+
509
+ response = @words_api.put_protect_document(file_name, protection_data)
510
+ assert(response, message="Failed to protect document")
511
+ end
512
+
513
+ def test_post_change_document_protection
514
+ file_name = "SampleWordDocument.docx"
515
+ upload_file(file_name)
516
+
517
+ protection_data = ProtectionRequest.new
518
+ protection_data.password = "newPassword"
519
+
520
+ response = @words_api.post_change_document_protection(file_name, protection_data)
521
+ assert(response, message="Failed to change document protection")
522
+ end
523
+
524
+ def test_delete_unprotect_document
525
+ file_name = "SampleWordDocument.docx"
526
+ upload_file(file_name)
527
+
528
+ protection_data = ProtectionRequest.new
529
+ protection_data.password = "myPassword"
530
+
531
+ response = @words_api.delete_unprotect_document(file_name, protection_data)
532
+ assert(response, message="Failed to unprotect document")
533
+ end
534
+
535
+ def test_post_replace_text
536
+ file_name = "SampleWordDocument.docx"
537
+ upload_file(file_name)
538
+
539
+ replace_text = ReplaceTextRequest.new
540
+ replace_text.old_value = "Times New Roman"
541
+ replace_text.current_value = "Arial Black"
542
+
543
+ response = @words_api.post_replace_text(file_name, replace_text)
544
+ assert(response, message="Failed to replace document text")
545
+ end
546
+
547
+ def test_accept_all_revisions
548
+ file_name = "SampleWordDocument.docx"
549
+ upload_file(file_name)
550
+
551
+ response = @words_api.accept_all_revisions(file_name)
552
+ assert(response, message="Failed to accept all revisions in document")
553
+ end
554
+
555
+ def test_reject_all_revisions
556
+ file_name = "SampleWordDocument.docx"
557
+ upload_file(file_name)
558
+
559
+ response = @words_api.reject_all_revisions(file_name)
560
+ assert(response, message="Failed to reject all revisions in document")
561
+ end
562
+
563
+ def test_get_words_search
564
+ file_name = "SampleWordDocument.docx"
565
+ upload_file(file_name)
566
+
567
+ pattern = "mat"
568
+ response = @words_api.get_words_search(file_name, pattern)
569
+ assert(response, message="Failed to do words search")
570
+ end
571
+
572
+ def test_get_sections
573
+ file_name = "SampleWordDocument.docx"
574
+ upload_file(file_name)
575
+
576
+ response = @words_api.get_sections(file_name)
577
+ assert(response, message="Failed to get a list of sections that are contained in the document")
578
+ end
579
+
580
+ def test_get_section
581
+ file_name = "SampleWordDocument.docx"
582
+ upload_file(file_name)
583
+
584
+ section_index = 0
585
+ response = @words_api.get_section(file_name, section_index)
586
+ assert(response, message="Failed to get document section by index")
587
+ end
588
+
589
+ def test_delete_section_fields
590
+ file_name = "SampleWordDocument.docx"
591
+ upload_file(file_name)
592
+
593
+ section_index = 0
594
+ response = @words_api.delete_section_fields(file_name, section_index)
595
+ assert(response, message="Failed to remove fields from section")
596
+ end
597
+
598
+ def test_get_section_page_setup
599
+ file_name = "SampleWordDocument.docx"
600
+ upload_file(file_name)
601
+
602
+ section_index = 0
603
+ response = @words_api.get_section_page_setup(file_name, section_index)
604
+ assert(response, message="Failed to get page setup of section")
605
+ end
606
+
607
+ def test_update_section_page_setup
608
+ file_name = "SampleWordDocument.docx"
609
+ upload_file(file_name)
610
+
611
+ page_setup = PageSetup.new
612
+ page_setup.rtl_gutter = true
613
+ page_setup.left_margin = 10.0
614
+ page_setup.orientation = "Landscape"
615
+ page_setup.paper_size = "A5"
616
+
617
+ section_index = 0
618
+ response = @words_api.update_section_page_setup(file_name, section_index, page_setup)
619
+ assert(response, message="Failed to update page setup of section")
620
+ end
621
+
622
+ def test_put_field
623
+ file_name = "SampleWordDocument.docx"
624
+ upload_file(file_name)
625
+
626
+ field = Field.new
627
+ field.result = "John Doe"
628
+ field.field_code = "{ FORMTEXT }"
629
+ field.node_id = "0.1"
630
+
631
+ section_index = 0
632
+ paragraph_index = 0
633
+ response = @words_api.put_field(file_name, section_index, paragraph_index, field)
634
+ assert(response, message="Failed to add field")
635
+ end
636
+
637
+ def test_get_field
638
+ file_name = "SampleWordDocument.docx"
639
+ upload_file(file_name)
640
+
641
+ section_index = 0
642
+ paragraph_index = 0
643
+ field_index = 0
644
+ response = @words_api.get_field(file_name, section_index, paragraph_index, field_index)
645
+ assert(response, message="Failed to get field")
646
+ end
647
+
648
+ def test_post_field
649
+ file_name = "SampleWordDocument.docx"
650
+ upload_file(file_name)
651
+
652
+ field = Field.new
653
+ field.result = "John Doe"
654
+
655
+ section_index = 0
656
+ paragraph_index = 0
657
+ field_index = 0
658
+ response = @words_api.post_field(file_name, section_index, paragraph_index, field_index, field)
659
+ assert(response, message="Failed to update field")
660
+ end
661
+
662
+ def test_put_form_field
663
+ file_name = "FormFilled.docx"
664
+ upload_file(file_name)
665
+
666
+ form_field = FormField.new
667
+ form_field.name = "FullName"
668
+ form_field.status_text = "Enter your name and surname (trimmed to 30 characters)"
669
+ form_field.enabled = true
670
+
671
+ section_index = 0
672
+ paragraph_index = 0
673
+ response = @words_api.put_form_field(file_name, section_index, paragraph_index, form_field)
674
+ assert(response, message="Failed to add form field to paragraph")
675
+ end
676
+
677
+ def test_get_form_field
678
+ file_name = "FormFilled.docx"
679
+ upload_file(file_name)
680
+
681
+ section_index = 0
682
+ paragraph_index = 0
683
+ formfield_index = 0
684
+ response = @words_api.get_form_field(file_name, section_index, paragraph_index, formfield_index)
685
+ assert(response, message="Failed to get a form field")
686
+ end
687
+
688
+ def test_post_form_field
689
+ file_name = "FormFilled.docx"
690
+ upload_file(file_name)
691
+
692
+ form_field = FormField.new
693
+ form_field.name = "CheckBox"
694
+ form_field.status_text = "Helpful?"
695
+ form_field.enabled = true
696
+
697
+ section_index = 0
698
+ paragraph_index = 0
699
+ formfield_index = 0
700
+ response = @words_api.post_form_field(file_name, section_index, paragraph_index, formfield_index, form_field)
701
+ assert(response, message="Failed to update form field's properties")
702
+ end
703
+
704
+ def test_delete_form_field
705
+ file_name = "FormFilled.docx"
706
+ upload_file(file_name)
707
+
708
+ section_index = 0
709
+ paragraph_index = 0
710
+ formfield_index = 0
711
+ response = @words_api.delete_form_field(file_name, section_index, paragraph_index, formfield_index)
712
+ assert(response, message="Failed to remove form field from document")
713
+ end
714
+
715
+ def test_post_split_document
716
+ file_name = "SampleWordDocument.docx"
717
+ upload_file(file_name)
718
+
719
+ response = @words_api.post_split_document(file_name, {format: "text", from: 1, to: 2, zip_output: false})
720
+ assert(response, message="Failed to split document")
721
+ end
722
+
723
+ def test_get_document_statistics
724
+ file_name = "SampleWordDocument.docx"
725
+ upload_file(file_name)
726
+
727
+ response = @words_api.get_document_statistics(file_name, {include_comments: true, include_footnotes: true, include_text_in_shapes: true})
728
+ assert(response, message="Failed to read document statistics")
729
+ end
730
+
731
+ def test_get_document_text_items
732
+ file_name = "SampleWordDocument.docx"
733
+ upload_file(file_name)
734
+
735
+ response = @words_api.get_document_text_items(file_name)
736
+ assert(response, message="Failed to read document text items")
737
+ end
738
+
739
+ def test_post_update_document_fields
740
+ file_name = "SampleWordDocument.docx"
741
+ upload_file(file_name)
742
+
743
+ response = @words_api.post_update_document_fields(file_name)
744
+ assert(response, message="Failed to update (reevaluate) fields in document")
745
+ end
746
+
747
+ def test_delete_document_watermark
748
+ file_name = "SampleBlankWatermarkDocument.docx"
749
+ upload_file(file_name)
750
+
751
+ response = @words_api.delete_document_watermark(file_name)
752
+ assert(response, message="Failed to delete watermark")
753
+ end
754
+
755
+ def test_post_insert_document_watermark_image
756
+ file_name = "SampleWordDocument.docx"
757
+ upload_file(file_name)
758
+
759
+ response = @words_api.post_insert_document_watermark_image(file_name, {rotation_angle: 45, image: "aspose-cloud.png"})
760
+ assert(response, message="Failed to insert document watermark image")
761
+ end
762
+
763
+ def test_post_insert_document_watermark_text
764
+ file_name = "SampleWordDocument.docx"
765
+ upload_file(file_name)
766
+
767
+ watermark_text = WatermarkText.new
768
+ watermark_text.text = "Welcome Aspose"
769
+ watermark_text.rotation_angle = 45
770
+ response = @words_api.post_insert_document_watermark_text(file_name, watermark_text)
771
+ assert(response, message="Failed to insert document watermark text")
772
+ end
773
+ end