aspose_words_cloud 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
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