groupdocs 2.2.0 → 2.3.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 (324) hide show
  1. checksums.yaml +7 -0
  2. data/.travis.yml +9 -9
  3. data/CHANGELOG.md +482 -477
  4. data/Gemfile +3 -3
  5. data/LICENSE.txt +21 -21
  6. data/README.md +94 -94
  7. data/Rakefile +9 -9
  8. data/examples/README.md +12 -12
  9. data/examples/api-samples/Gemfile +5 -5
  10. data/examples/api-samples/Gemfile.lock +49 -49
  11. data/examples/api-samples/README.md +23 -23
  12. data/examples/api-samples/public/css/style.css +229 -229
  13. data/examples/api-samples/public/docs/annotation-sample.html +167 -167
  14. data/examples/api-samples/public/docs/docco.css +500 -500
  15. data/examples/api-samples/public/docs/envelope-sample.html +374 -374
  16. data/examples/api-samples/public/docs/sample01.html +181 -181
  17. data/examples/api-samples/public/docs/sample02.html +199 -199
  18. data/examples/api-samples/public/docs/sample03.html +318 -318
  19. data/examples/api-samples/public/docs/sample04.html +217 -217
  20. data/examples/api-samples/public/docs/sample05.html +296 -296
  21. data/examples/api-samples/public/docs/sample06.html +347 -347
  22. data/examples/api-samples/public/docs/sample07.html +209 -209
  23. data/examples/api-samples/public/docs/sample08.html +277 -277
  24. data/examples/api-samples/public/docs/sample09.html +314 -314
  25. data/examples/api-samples/public/docs/sample10.html +270 -270
  26. data/examples/api-samples/public/docs/sample11.html +462 -462
  27. data/examples/api-samples/public/docs/sample12.html +199 -199
  28. data/examples/api-samples/public/docs/sample13.html +201 -201
  29. data/examples/api-samples/public/docs/sample14.html +204 -204
  30. data/examples/api-samples/public/docs/sample15.html +182 -182
  31. data/examples/api-samples/public/docs/sample16.html +234 -234
  32. data/examples/api-samples/public/docs/sample17.html +309 -309
  33. data/examples/api-samples/public/docs/sample18.html +721 -721
  34. data/examples/api-samples/public/docs/sample19.html +631 -631
  35. data/examples/api-samples/public/docs/sample20.html +230 -230
  36. data/examples/api-samples/public/docs/sample21.html +790 -790
  37. data/examples/api-samples/public/docs/sample22.html +408 -408
  38. data/examples/api-samples/public/docs/sample25.html +550 -550
  39. data/examples/api-samples/public/templates/base-simple_source.html +191 -191
  40. data/examples/api-samples/public/templates/testdocument.html +100 -100
  41. data/examples/api-samples/public/templates/welcome.htm +137 -137
  42. data/examples/api-samples/samples/annotation-sample.rb +56 -56
  43. data/examples/api-samples/samples/envelope-sample.rb +133 -133
  44. data/examples/api-samples/samples/sample01.rb +44 -44
  45. data/examples/api-samples/samples/sample02.rb +50 -50
  46. data/examples/api-samples/samples/sample03.rb +79 -79
  47. data/examples/api-samples/samples/sample04.rb +54 -54
  48. data/examples/api-samples/samples/sample05.rb +83 -83
  49. data/examples/api-samples/samples/sample06.rb +86 -86
  50. data/examples/api-samples/samples/sample07.rb +59 -59
  51. data/examples/api-samples/samples/sample08.rb +76 -76
  52. data/examples/api-samples/samples/sample09.rb +85 -85
  53. data/examples/api-samples/samples/sample10.rb +70 -70
  54. data/examples/api-samples/samples/sample11.rb +132 -132
  55. data/examples/api-samples/samples/sample12.rb +48 -48
  56. data/examples/api-samples/samples/sample13.rb +49 -49
  57. data/examples/api-samples/samples/sample14.rb +54 -54
  58. data/examples/api-samples/samples/sample15.rb +43 -43
  59. data/examples/api-samples/samples/sample16.rb +57 -57
  60. data/examples/api-samples/samples/sample17.rb +70 -70
  61. data/examples/api-samples/samples/sample18.rb +190 -190
  62. data/examples/api-samples/samples/sample19.rb +188 -188
  63. data/examples/api-samples/samples/sample20.rb +68 -68
  64. data/examples/api-samples/samples/sample21.rb +212 -212
  65. data/examples/api-samples/samples/sample22.rb +109 -109
  66. data/examples/api-samples/samples/sample25.rb +127 -127
  67. data/examples/api-samples/views/_others_samples.haml +233 -233
  68. data/examples/api-samples/views/annotation_sample.haml +63 -63
  69. data/examples/api-samples/views/envelope_sample.haml +72 -72
  70. data/examples/api-samples/views/index.haml +235 -235
  71. data/examples/api-samples/views/layout.haml +3 -3
  72. data/examples/api-samples/views/sample01.haml +63 -63
  73. data/examples/api-samples/views/sample02.haml +52 -52
  74. data/examples/api-samples/views/sample03.haml +87 -87
  75. data/examples/api-samples/views/sample04.haml +55 -55
  76. data/examples/api-samples/views/sample05.haml +86 -86
  77. data/examples/api-samples/views/sample06.haml +58 -58
  78. data/examples/api-samples/views/sample07.haml +52 -52
  79. data/examples/api-samples/views/sample08.haml +100 -100
  80. data/examples/api-samples/views/sample09.haml +95 -95
  81. data/examples/api-samples/views/sample10.haml +93 -93
  82. data/examples/api-samples/views/sample11.haml +140 -140
  83. data/examples/api-samples/views/sample12.haml +68 -68
  84. data/examples/api-samples/views/sample13.haml +64 -64
  85. data/examples/api-samples/views/sample14.haml +60 -60
  86. data/examples/api-samples/views/sample15.haml +51 -51
  87. data/examples/api-samples/views/sample16.haml +50 -50
  88. data/examples/api-samples/views/sample17.haml +54 -54
  89. data/examples/api-samples/views/sample18.haml +143 -143
  90. data/examples/api-samples/views/sample19.haml +92 -92
  91. data/examples/api-samples/views/sample20.haml +54 -54
  92. data/examples/api-samples/views/sample21.haml +123 -123
  93. data/examples/api-samples/views/sample22.haml +106 -106
  94. data/examples/api-samples/views/sample25.haml +101 -101
  95. data/examples/api-samples/views/sample31.haml +2 -2
  96. data/examples/api-samples/web.rb +20 -20
  97. data/examples/viewer/Gemfile +5 -5
  98. data/examples/viewer/app.rb +52 -52
  99. data/groupdocs.gemspec +31 -31
  100. data/lib/groupdocs.rb +62 -62
  101. data/lib/groupdocs/api.rb +6 -6
  102. data/lib/groupdocs/api/entity.rb +112 -112
  103. data/lib/groupdocs/api/helpers.rb +11 -11
  104. data/lib/groupdocs/api/helpers/access_mode_helper.rb +27 -27
  105. data/lib/groupdocs/api/helpers/access_rights_helper.rb +55 -55
  106. data/lib/groupdocs/api/helpers/accessor_helper.rb +30 -30
  107. data/lib/groupdocs/api/helpers/byte_flag_helper.rb +49 -49
  108. data/lib/groupdocs/api/helpers/credentials_helper.rb +35 -35
  109. data/lib/groupdocs/api/helpers/mime_helper.rb +21 -21
  110. data/lib/groupdocs/api/helpers/path_helper.rb +28 -28
  111. data/lib/groupdocs/api/helpers/rest_helper.rb +99 -99
  112. data/lib/groupdocs/api/helpers/signature_public_helper.rb +22 -22
  113. data/lib/groupdocs/api/helpers/status_helper.rb +27 -27
  114. data/lib/groupdocs/api/helpers/url_helper.rb +101 -101
  115. data/lib/groupdocs/api/request.rb +91 -91
  116. data/lib/groupdocs/datasource.rb +249 -249
  117. data/lib/groupdocs/datasource/field.rb +39 -39
  118. data/lib/groupdocs/document.rb +1550 -1550
  119. data/lib/groupdocs/document/annotation.rb +421 -421
  120. data/lib/groupdocs/document/annotation/reply.rb +173 -173
  121. data/lib/groupdocs/document/annotation/reviewer.rb +66 -66
  122. data/lib/groupdocs/document/change.rb +56 -56
  123. data/lib/groupdocs/document/field.rb +53 -53
  124. data/lib/groupdocs/document/metadata.rb +32 -32
  125. data/lib/groupdocs/document/rectangle.rb +18 -18
  126. data/lib/groupdocs/document/view.rb +36 -36
  127. data/lib/groupdocs/errors.rb +8 -8
  128. data/lib/groupdocs/job.rb +468 -468
  129. data/lib/groupdocs/questionnaire.rb +530 -530
  130. data/lib/groupdocs/questionnaire/collector.rb +335 -335
  131. data/lib/groupdocs/questionnaire/execution.rb +181 -181
  132. data/lib/groupdocs/questionnaire/page.rb +43 -43
  133. data/lib/groupdocs/questionnaire/question.rb +108 -108
  134. data/lib/groupdocs/questionnaire/question/answer.rb +15 -15
  135. data/lib/groupdocs/signature.rb +380 -380
  136. data/lib/groupdocs/signature/contact.rb +181 -181
  137. data/lib/groupdocs/signature/envelope.rb +747 -747
  138. data/lib/groupdocs/signature/envelope/log.rb +20 -20
  139. data/lib/groupdocs/signature/field.rb +286 -286
  140. data/lib/groupdocs/signature/field/location.rb +71 -71
  141. data/lib/groupdocs/signature/form.rb +804 -804
  142. data/lib/groupdocs/signature/list.rb +92 -92
  143. data/lib/groupdocs/signature/recipient.rb +79 -79
  144. data/lib/groupdocs/signature/role.rb +54 -54
  145. data/lib/groupdocs/signature/shared.rb +6 -6
  146. data/lib/groupdocs/signature/shared/document_methods.rb +158 -158
  147. data/lib/groupdocs/signature/shared/entity_fields.rb +76 -76
  148. data/lib/groupdocs/signature/shared/entity_methods.rb +144 -144
  149. data/lib/groupdocs/signature/shared/field_methods.rb +354 -354
  150. data/lib/groupdocs/signature/shared/recipient_methods.rb +75 -75
  151. data/lib/groupdocs/signature/shared/resource_methods.rb +65 -65
  152. data/lib/groupdocs/signature/template.rb +124 -124
  153. data/lib/groupdocs/storage.rb +44 -44
  154. data/lib/groupdocs/storage/file.rb +432 -432
  155. data/lib/groupdocs/storage/folder.rb +288 -288
  156. data/lib/groupdocs/storage/package.rb +48 -48
  157. data/lib/groupdocs/storage/provider.rb +32 -32
  158. data/lib/groupdocs/subscription.rb +323 -323
  159. data/lib/groupdocs/subscription/limit.rb +20 -20
  160. data/lib/groupdocs/user.rb +955 -930
  161. data/lib/groupdocs/version.rb +3 -3
  162. data/spec/groupdocs/api/entity_spec.rb +55 -55
  163. data/spec/groupdocs/api/helpers/access_mode_helper_spec.rb +21 -21
  164. data/spec/groupdocs/api/helpers/access_rights_helper_spec.rb +43 -43
  165. data/spec/groupdocs/api/helpers/accessor_helper_spec.rb +16 -16
  166. data/spec/groupdocs/api/helpers/byte_flag_helper_spec.rb +23 -23
  167. data/spec/groupdocs/api/helpers/credentials_helpers_spec.rb +48 -48
  168. data/spec/groupdocs/api/helpers/mime_helper_spec.rb +16 -16
  169. data/spec/groupdocs/api/helpers/path_helper_spec.rb +15 -15
  170. data/spec/groupdocs/api/helpers/rest_helper_spec.rb +161 -161
  171. data/spec/groupdocs/api/helpers/signature_public_helper_spec.rb +21 -21
  172. data/spec/groupdocs/api/helpers/status_helper_spec.rb +22 -22
  173. data/spec/groupdocs/api/helpers/url_helper_spec.rb +112 -112
  174. data/spec/groupdocs/api/request_spec.rb +112 -112
  175. data/spec/groupdocs/datasource/field_spec.rb +29 -29
  176. data/spec/groupdocs/datasource_spec.rb +145 -145
  177. data/spec/groupdocs/document/annotation/reply_spec.rb +154 -154
  178. data/spec/groupdocs/document/annotation/reviewer_spec.rb +51 -51
  179. data/spec/groupdocs/document/annotation_spec.rb +234 -234
  180. data/spec/groupdocs/document/change_spec.rb +39 -39
  181. data/spec/groupdocs/document/field_spec.rb +28 -28
  182. data/spec/groupdocs/document/metadata_spec.rb +21 -21
  183. data/spec/groupdocs/document/rectangle_spec.rb +14 -14
  184. data/spec/groupdocs/document/view_spec.rb +33 -33
  185. data/spec/groupdocs/document_spec.rb +859 -859
  186. data/spec/groupdocs/errors_spec.rb +7 -7
  187. data/spec/groupdocs/job_spec.rb +323 -323
  188. data/spec/groupdocs/questionnaire/collector_spec.rb +197 -197
  189. data/spec/groupdocs/questionnaire/execution_spec.rb +162 -162
  190. data/spec/groupdocs/questionnaire/page_spec.rb +47 -47
  191. data/spec/groupdocs/questionnaire/question/answer_spec.rb +9 -9
  192. data/spec/groupdocs/questionnaire/question_spec.rb +75 -75
  193. data/spec/groupdocs/questionnaire_spec.rb +295 -295
  194. data/spec/groupdocs/signature/contact_spec.rb +142 -142
  195. data/spec/groupdocs/signature/envelope/log_spec.rb +15 -15
  196. data/spec/groupdocs/signature/envelope_spec.rb +384 -384
  197. data/spec/groupdocs/signature/field/location_spec.rb +40 -40
  198. data/spec/groupdocs/signature/field_spec.rb +235 -235
  199. data/spec/groupdocs/signature/form_spec.rb +205 -205
  200. data/spec/groupdocs/signature/list_spec.rb +87 -87
  201. data/spec/groupdocs/signature/recipient_spec.rb +26 -26
  202. data/spec/groupdocs/signature/role_spec.rb +47 -47
  203. data/spec/groupdocs/signature/template_spec.rb +80 -80
  204. data/spec/groupdocs/signature_spec.rb +194 -194
  205. data/spec/groupdocs/storage/file_spec.rb +303 -303
  206. data/spec/groupdocs/storage/folder_spec.rb +270 -270
  207. data/spec/groupdocs/storage/package_spec.rb +38 -38
  208. data/spec/groupdocs/storage/provider_spec.rb +21 -21
  209. data/spec/groupdocs/storage_spec.rb +27 -27
  210. data/spec/groupdocs/subscription/limit_spec.rb +16 -16
  211. data/spec/groupdocs/subscription_spec.rb +74 -74
  212. data/spec/groupdocs/user_spec.rb +257 -257
  213. data/spec/groupdocs_spec.rb +63 -63
  214. data/spec/spec_helper.rb +73 -73
  215. data/spec/support/json/annotation_access_set.json +11 -11
  216. data/spec/support/json/annotation_collaborators_get.json +16 -16
  217. data/spec/support/json/annotation_collaborators_set.json +16 -16
  218. data/spec/support/json/annotation_create.json +12 -12
  219. data/spec/support/json/annotation_list.json +32 -32
  220. data/spec/support/json/annotation_marker_move.json +10 -10
  221. data/spec/support/json/annotation_move.json +8 -8
  222. data/spec/support/json/annotation_remove.json +9 -9
  223. data/spec/support/json/annotation_replies_create.json +9 -9
  224. data/spec/support/json/annotation_replies_get.json +25 -25
  225. data/spec/support/json/annotation_reviewers_get.json +18 -18
  226. data/spec/support/json/comparison_changes.json +46 -46
  227. data/spec/support/json/comparison_compare.json +8 -8
  228. data/spec/support/json/comparison_document.json +10 -10
  229. data/spec/support/json/contact_add.json +12 -12
  230. data/spec/support/json/contacts_get.json +19 -19
  231. data/spec/support/json/contacts_import.json +8 -8
  232. data/spec/support/json/datasource_add.json +8 -8
  233. data/spec/support/json/datasource_get.json +22 -22
  234. data/spec/support/json/datasource_remove.json +8 -8
  235. data/spec/support/json/datasource_update.json +8 -8
  236. data/spec/support/json/delete_account.json +9 -9
  237. data/spec/support/json/document_access_info_get.json +14 -14
  238. data/spec/support/json/document_convert.json +8 -8
  239. data/spec/support/json/document_datasource.json +10 -10
  240. data/spec/support/json/document_fields.json +34 -34
  241. data/spec/support/json/document_formats.json +8 -8
  242. data/spec/support/json/document_metadata.json +15 -15
  243. data/spec/support/json/document_page_images_get.json +20 -20
  244. data/spec/support/json/document_questionnaire_create.json +9 -9
  245. data/spec/support/json/document_questionnaires.json +23 -23
  246. data/spec/support/json/document_sharers_remove.json +8 -8
  247. data/spec/support/json/document_sharers_set.json +16 -16
  248. data/spec/support/json/document_thumbnails.json +24 -24
  249. data/spec/support/json/document_views.json +32 -32
  250. data/spec/support/json/envelope_get.json +46 -46
  251. data/spec/support/json/envelope_logs.json +16 -16
  252. data/spec/support/json/envelope_recipient_add.json +26 -26
  253. data/spec/support/json/envelopes_all.json +48 -48
  254. data/spec/support/json/envelopes_resources.json +31 -31
  255. data/spec/support/json/file_compress.json +8 -8
  256. data/spec/support/json/file_copy.json +14 -14
  257. data/spec/support/json/file_delete.json +5 -5
  258. data/spec/support/json/file_move.json +14 -14
  259. data/spec/support/json/file_upload.json +8 -8
  260. data/spec/support/json/folder_create.json +8 -8
  261. data/spec/support/json/folder_delete.json +5 -5
  262. data/spec/support/json/folder_list.json +22 -22
  263. data/spec/support/json/folder_move.json +8 -8
  264. data/spec/support/json/folder_sharers_get.json +16 -16
  265. data/spec/support/json/folder_sharers_remove.json +8 -8
  266. data/spec/support/json/folder_sharers_set.json +16 -16
  267. data/spec/support/json/form_get.json +21 -21
  268. data/spec/support/json/forms_all.json +23 -23
  269. data/spec/support/json/job_add_url.json +8 -8
  270. data/spec/support/json/job_create.json +8 -8
  271. data/spec/support/json/job_documents.json +40 -40
  272. data/spec/support/json/job_file_add.json +8 -8
  273. data/spec/support/json/job_get.json +30 -30
  274. data/spec/support/json/job_update.json +7 -7
  275. data/spec/support/json/jobs_get.json +58 -58
  276. data/spec/support/json/list_add.json +12 -12
  277. data/spec/support/json/lists_get.json +19 -19
  278. data/spec/support/json/package_create.json +7 -7
  279. data/spec/support/json/questionnaire_collector.json +17 -17
  280. data/spec/support/json/questionnaire_collectors.json +38 -38
  281. data/spec/support/json/questionnaire_collectors_add.json +10 -10
  282. data/spec/support/json/questionnaire_create.json +10 -10
  283. data/spec/support/json/questionnaire_datasources.json +26 -26
  284. data/spec/support/json/questionnaire_execution_add.json +9 -9
  285. data/spec/support/json/questionnaire_execution_status_set.json +8 -8
  286. data/spec/support/json/questionnaire_execution_update.json +8 -8
  287. data/spec/support/json/questionnaire_executions.json +28 -28
  288. data/spec/support/json/questionnaire_get.json +17 -17
  289. data/spec/support/json/questionnaire_remove.json +8 -8
  290. data/spec/support/json/questionnaire_update.json +8 -8
  291. data/spec/support/json/questionnaires_get.json +40 -40
  292. data/spec/support/json/sign_documents.json +16 -16
  293. data/spec/support/json/signature_create.json +12 -12
  294. data/spec/support/json/signature_field_add.json +25 -25
  295. data/spec/support/json/signature_fields_get.json +27 -27
  296. data/spec/support/json/signature_roles_get.json +17 -17
  297. data/spec/support/json/signatures_get.json +19 -19
  298. data/spec/support/json/storage_info.json +10 -10
  299. data/spec/support/json/subscription_plan_get.json +9 -9
  300. data/spec/support/json/subscription_plans_get.json +17 -17
  301. data/spec/support/json/template_get.json +35 -35
  302. data/spec/support/json/template_get_documents.json +15 -15
  303. data/spec/support/json/template_get_recipients.json +20 -20
  304. data/spec/support/json/templates_all.json +37 -37
  305. data/spec/support/json/templates_get.json +21 -21
  306. data/spec/support/json/update_account.json +10 -10
  307. data/spec/support/json/user_area.json +67 -67
  308. data/spec/support/json/user_embed_key.json +38 -38
  309. data/spec/support/json/user_get_embed_key.json +67 -67
  310. data/spec/support/json/user_login.json +67 -67
  311. data/spec/support/json/user_profile_get.json +24 -24
  312. data/spec/support/json/user_providers.json +31 -31
  313. data/spec/support/json/user_roles.json +25 -25
  314. data/spec/support/json/user_users_get.json +27 -27
  315. data/spec/support/shared_examples/api/entity.rb +39 -39
  316. data/spec/support/shared_examples/api/helpers/access_mode_helper.rb +11 -11
  317. data/spec/support/shared_examples/api/helpers/status_helper.rb +11 -11
  318. data/spec/support/shared_examples/signature/shared/document_methods.rb +68 -68
  319. data/spec/support/shared_examples/signature/shared/entity_fields.rb +56 -56
  320. data/spec/support/shared_examples/signature/shared/entity_methods.rb +116 -116
  321. data/spec/support/shared_examples/signature/shared/field_methods.rb +220 -220
  322. data/spec/support/shared_examples/signature/shared/recipient_methods.rb +46 -46
  323. data/spec/support/shared_examples/signature/shared/resource_methods.rb +46 -46
  324. metadata +35 -55
@@ -1,112 +1,112 @@
1
- require 'spec_helper'
2
-
3
- describe GroupDocs::Api::Request do
4
-
5
- subject { described_class.new(:method => :GET, :path => '/folders') }
6
-
7
- it { should respond_to(:resource) }
8
- it { should have_accessor(:response) }
9
- it { should have_accessor(:options) }
10
-
11
- describe '#initialize' do
12
- it 'allows passing options' do
13
- options = { :method => :GET, :path => '/folders' }
14
- request = described_class.new(options)
15
- request.options.should == options
16
- end
17
-
18
- it 'allows passing block to configure options' do
19
- api = described_class.new do |request|
20
- request[:access] = { :client_id => 'client_id', :private_key => 'private_key' }
21
- request[:method] = :GET
22
- request[:path] = '/folders'
23
- request[:sign] = false
24
- end
25
- api.options.should == { :method => :GET, :path => '/folders', :sign => false, :access => { :client_id => 'client_id', :private_key => 'private_key' }}
26
- end
27
-
28
- it 'sets access hash to empty if it was not passed' do
29
- access = subject.options[:access]
30
- access.should be_a(Hash)
31
- access.should be_empty
32
- end
33
-
34
- it 'creates resource as API server' do
35
- GroupDocs.stub(:api_server => 'https://dev-api.groupdocs.com')
36
- subject.resource.should be_a(RestClient::Resource)
37
- end
38
- end
39
-
40
- describe '#prepare_and_sign_url' do
41
- it 'URL encodes path' do
42
- subject.should_receive(:url_encode_path)
43
- subject.prepare_and_sign_url
44
- end
45
-
46
- it 'replaces client identifier path' do
47
- subject.should_receive(:replace_client_id)
48
- subject.prepare_and_sign_url
49
- end
50
-
51
- it 'does not replace client identifier path' do
52
- subject.options[:sign] = false
53
- subject.should_not_receive(:replace_client_id)
54
- subject.prepare_and_sign_url
55
- end
56
-
57
- it 'does not sign url if sign options is passed' do
58
- subject.options[:sign] = false
59
- subject.should_not_receive(:sign_url)
60
- subject.prepare_and_sign_url
61
- end
62
-
63
- it 'signs url' do
64
- subject.should_receive(:sign_url)
65
- subject.prepare_and_sign_url
66
- end
67
-
68
- it 'returns prepared and signed url' do
69
- subject.prepare_and_sign_url.should be_a(String)
70
- end
71
-
72
- it 'does nothing if url is already signed' do
73
- subject.prepare_and_sign_url.should == subject.prepare_and_sign_url
74
- end
75
- end
76
-
77
- describe '#execute!' do
78
- before(:each) do
79
- GroupDocs.stub(:private_key => 'private_key')
80
- subject.options[:method] = :get
81
- subject.options[:path] = '/folders'
82
- subject.options[:headers] = {}
83
- mock_api_server('{"status":"Ok"}')
84
- end
85
-
86
- it 'prepends path with version' do
87
- subject.should_receive(:prepend_version)
88
- subject.execute!
89
- end
90
-
91
- it 'prepares and signs url' do
92
- subject.should_receive(:prepare_and_sign_url)
93
- subject.execute!
94
- end
95
-
96
- it 'prepares request' do
97
- subject.should_receive(:prepare_request)
98
- subject.execute!
99
- end
100
-
101
- it 'sends request' do
102
- subject.should_receive(:send_request)
103
- mock_response('{"status": "Ok"}')
104
- subject.execute!
105
- end
106
-
107
- it 'parses response' do
108
- subject.should_receive(:parse_response)
109
- subject.execute!
110
- end
111
- end
112
- end
1
+ require 'spec_helper'
2
+
3
+ describe GroupDocs::Api::Request do
4
+
5
+ subject { described_class.new(:method => :GET, :path => '/folders') }
6
+
7
+ it { should respond_to(:resource) }
8
+ it { should have_accessor(:response) }
9
+ it { should have_accessor(:options) }
10
+
11
+ describe '#initialize' do
12
+ it 'allows passing options' do
13
+ options = { :method => :GET, :path => '/folders' }
14
+ request = described_class.new(options)
15
+ request.options.should == options
16
+ end
17
+
18
+ it 'allows passing block to configure options' do
19
+ api = described_class.new do |request|
20
+ request[:access] = { :client_id => 'client_id', :private_key => 'private_key' }
21
+ request[:method] = :GET
22
+ request[:path] = '/folders'
23
+ request[:sign] = false
24
+ end
25
+ api.options.should == { :method => :GET, :path => '/folders', :sign => false, :access => { :client_id => 'client_id', :private_key => 'private_key' }}
26
+ end
27
+
28
+ it 'sets access hash to empty if it was not passed' do
29
+ access = subject.options[:access]
30
+ access.should be_a(Hash)
31
+ access.should be_empty
32
+ end
33
+
34
+ it 'creates resource as API server' do
35
+ GroupDocs.stub(:api_server => 'https://dev-api.groupdocs.com')
36
+ subject.resource.should be_a(RestClient::Resource)
37
+ end
38
+ end
39
+
40
+ describe '#prepare_and_sign_url' do
41
+ it 'URL encodes path' do
42
+ subject.should_receive(:url_encode_path)
43
+ subject.prepare_and_sign_url
44
+ end
45
+
46
+ it 'replaces client identifier path' do
47
+ subject.should_receive(:replace_client_id)
48
+ subject.prepare_and_sign_url
49
+ end
50
+
51
+ it 'does not replace client identifier path' do
52
+ subject.options[:sign] = false
53
+ subject.should_not_receive(:replace_client_id)
54
+ subject.prepare_and_sign_url
55
+ end
56
+
57
+ it 'does not sign url if sign options is passed' do
58
+ subject.options[:sign] = false
59
+ subject.should_not_receive(:sign_url)
60
+ subject.prepare_and_sign_url
61
+ end
62
+
63
+ it 'signs url' do
64
+ subject.should_receive(:sign_url)
65
+ subject.prepare_and_sign_url
66
+ end
67
+
68
+ it 'returns prepared and signed url' do
69
+ subject.prepare_and_sign_url.should be_a(String)
70
+ end
71
+
72
+ it 'does nothing if url is already signed' do
73
+ subject.prepare_and_sign_url.should == subject.prepare_and_sign_url
74
+ end
75
+ end
76
+
77
+ describe '#execute!' do
78
+ before(:each) do
79
+ GroupDocs.stub(:private_key => 'private_key')
80
+ subject.options[:method] = :get
81
+ subject.options[:path] = '/folders'
82
+ subject.options[:headers] = {}
83
+ mock_api_server('{"status":"Ok"}')
84
+ end
85
+
86
+ it 'prepends path with version' do
87
+ subject.should_receive(:prepend_version)
88
+ subject.execute!
89
+ end
90
+
91
+ it 'prepares and signs url' do
92
+ subject.should_receive(:prepare_and_sign_url)
93
+ subject.execute!
94
+ end
95
+
96
+ it 'prepares request' do
97
+ subject.should_receive(:prepare_request)
98
+ subject.execute!
99
+ end
100
+
101
+ it 'sends request' do
102
+ subject.should_receive(:send_request)
103
+ mock_response('{"status": "Ok"}')
104
+ subject.execute!
105
+ end
106
+
107
+ it 'parses response' do
108
+ subject.should_receive(:parse_response)
109
+ subject.execute!
110
+ end
111
+ end
112
+ end
@@ -1,29 +1,29 @@
1
- require 'spec_helper'
2
-
3
- describe GroupDocs::DataSource::Field do
4
-
5
- it_behaves_like GroupDocs::Api::Entity
6
-
7
- it { should have_accessor(:name) }
8
- it { should have_accessor(:type) }
9
- it { should have_accessor(:values) }
10
-
11
- describe '#type=' do
12
- it 'saves type in machine readable format if symbol is passed' do
13
- subject.type = :binary
14
- subject.instance_variable_get(:@type).should == 'Binary'
15
- end
16
-
17
- it 'does nothing if parameter is not symbol' do
18
- subject.type = 'Binary'
19
- subject.instance_variable_get(:@type).should == 'Binary'
20
- end
21
- end
22
-
23
- describe '#type' do
24
- it 'returns type in human-readable format' do
25
- subject.type = 'Binary'
26
- subject.type.should == :binary
27
- end
28
- end
29
- end
1
+ require 'spec_helper'
2
+
3
+ describe GroupDocs::DataSource::Field do
4
+
5
+ it_behaves_like GroupDocs::Api::Entity
6
+
7
+ it { should have_accessor(:name) }
8
+ it { should have_accessor(:type) }
9
+ it { should have_accessor(:values) }
10
+
11
+ describe '#type=' do
12
+ it 'saves type in machine readable format if symbol is passed' do
13
+ subject.type = :binary
14
+ subject.instance_variable_get(:@type).should == 'Binary'
15
+ end
16
+
17
+ it 'does nothing if parameter is not symbol' do
18
+ subject.type = 'Binary'
19
+ subject.instance_variable_get(:@type).should == 'Binary'
20
+ end
21
+ end
22
+
23
+ describe '#type' do
24
+ it 'returns type in human-readable format' do
25
+ subject.type = 'Binary'
26
+ subject.type.should == :binary
27
+ end
28
+ end
29
+ end
@@ -1,145 +1,145 @@
1
- require 'spec_helper'
2
-
3
- describe GroupDocs::DataSource do
4
-
5
- it_behaves_like GroupDocs::Api::Entity
6
-
7
- describe '.get!' do
8
- before(:each) do
9
- mock_api_server(load_json('datasource_get'))
10
- end
11
-
12
- it 'accepts access credentials hash' do
13
- lambda do
14
- described_class.get!(1, {}, :client_id => 'client_id', :private_key => 'private_key')
15
- end.should_not raise_error()
16
- end
17
-
18
- it 'accepts options hash' do
19
- lambda do
20
- described_class.get!(1, :field => %w(field1 field2))
21
- end.should_not raise_error()
22
- end
23
-
24
- it 'returns GroupDocs::DataSource object if datasource is found' do
25
- described_class.get!(1).should be_a(GroupDocs::DataSource)
26
- end
27
-
28
- it 'returns nil if ResourceNotFound was raised' do
29
- GroupDocs::Api::Request.any_instance.should_receive(:execute!).and_raise(RestClient::ResourceNotFound)
30
- described_class.get!(99).should be_nil
31
- end
32
- end
33
-
34
- it { should have_accessor(:id) }
35
- it { should have_accessor(:descr) }
36
- it { should have_accessor(:questionnaire_id) }
37
- it { should have_accessor(:created_on) }
38
- it { should have_accessor(:modified_on) }
39
- it { should have_accessor(:fields) }
40
-
41
- it { should alias_accessor(:description, :descr) }
42
-
43
- describe '#created_on' do
44
- it 'returns converted to Time object Unix timestamp' do
45
- subject.created_on = 1332950825000
46
- subject.created_on.should == Time.at(1332950825)
47
- end
48
- end
49
-
50
- describe '#modified_on' do
51
- it 'returns converted to Time object Unix timestamp' do
52
- subject.modified_on = 1332950825000
53
- subject.modified_on.should == Time.at(1332950825)
54
- end
55
- end
56
-
57
- describe '#fields=' do
58
- it 'converts each field to GroupDocs::DataSource::Field object if hash is passed' do
59
- subject.fields = [{ :name => 'field1', :values => %w(value1 value2), :type => 1 }]
60
- fields = subject.fields
61
- fields.should be_an(Array)
62
- fields.each do |field|
63
- field.should be_a(GroupDocs::DataSource::Field)
64
- end
65
- end
66
-
67
- it 'saves each field if it is GroupDocs::DataSource::Field object' do
68
- field1 = GroupDocs::DataSource::Field.new(:name => 'field1')
69
- field2 = GroupDocs::DataSource::Field.new(:name => 'field2')
70
- subject.fields = [field1, field2]
71
- subject.fields.should include(field1)
72
- subject.fields.should include(field2)
73
- end
74
-
75
- it 'does nothing if nil is passed' do
76
- lambda do
77
- subject.fields = nil
78
- end.should_not change(subject, :fields)
79
- end
80
- end
81
-
82
- describe '#add_field' do
83
- it 'raises error if field is not GroupDocs::DataSource::Field object' do
84
- lambda { subject.add_field('Field') }.should raise_error(ArgumentError)
85
- end
86
-
87
- it 'saves field' do
88
- field = GroupDocs::DataSource::Field.new
89
- subject.add_field(field)
90
- subject.fields.should == [field]
91
- end
92
- end
93
-
94
- describe '#add!' do
95
- before(:each) do
96
- mock_api_server(load_json('datasource_add'))
97
- end
98
-
99
- it 'accepts access credentials hash' do
100
- lambda do
101
- subject.add!(:client_id => 'client_id', :private_key => 'private_key')
102
- end.should_not raise_error()
103
- end
104
-
105
- it 'uses hashed version of self as request body' do
106
- subject.should_receive(:to_hash)
107
- subject.add!
108
- end
109
-
110
- it 'updates identifier of datasource' do
111
- lambda do
112
- subject.add!
113
- end.should change(subject, :id)
114
- end
115
- end
116
-
117
- describe '#update!' do
118
- before(:each) do
119
- mock_api_server(load_json('datasource_update'))
120
- end
121
-
122
- it 'accepts access credentials hash' do
123
- lambda do
124
- subject.update!(:client_id => 'client_id', :private_key => 'private_key')
125
- end.should_not raise_error()
126
- end
127
-
128
- it 'uses hashed version of self as request body' do
129
- subject.should_receive(:to_hash)
130
- subject.add!
131
- end
132
- end
133
-
134
- describe '#remove!' do
135
- before(:each) do
136
- mock_api_server(load_json('datasource_remove'))
137
- end
138
-
139
- it 'accepts access credentials hash' do
140
- lambda do
141
- subject.remove!(:client_id => 'client_id', :private_key => 'private_key')
142
- end.should_not raise_error()
143
- end
144
- end
145
- end
1
+ require 'spec_helper'
2
+
3
+ describe GroupDocs::DataSource do
4
+
5
+ it_behaves_like GroupDocs::Api::Entity
6
+
7
+ describe '.get!' do
8
+ before(:each) do
9
+ mock_api_server(load_json('datasource_get'))
10
+ end
11
+
12
+ it 'accepts access credentials hash' do
13
+ lambda do
14
+ described_class.get!(1, {}, :client_id => 'client_id', :private_key => 'private_key')
15
+ end.should_not raise_error()
16
+ end
17
+
18
+ it 'accepts options hash' do
19
+ lambda do
20
+ described_class.get!(1, :field => %w(field1 field2))
21
+ end.should_not raise_error()
22
+ end
23
+
24
+ it 'returns GroupDocs::DataSource object if datasource is found' do
25
+ described_class.get!(1).should be_a(GroupDocs::DataSource)
26
+ end
27
+
28
+ it 'returns nil if ResourceNotFound was raised' do
29
+ GroupDocs::Api::Request.any_instance.should_receive(:execute!).and_raise(RestClient::ResourceNotFound)
30
+ described_class.get!(99).should be_nil
31
+ end
32
+ end
33
+
34
+ it { should have_accessor(:id) }
35
+ it { should have_accessor(:descr) }
36
+ it { should have_accessor(:questionnaire_id) }
37
+ it { should have_accessor(:created_on) }
38
+ it { should have_accessor(:modified_on) }
39
+ it { should have_accessor(:fields) }
40
+
41
+ it { should alias_accessor(:description, :descr) }
42
+
43
+ describe '#created_on' do
44
+ it 'returns converted to Time object Unix timestamp' do
45
+ subject.created_on = 1332950825000
46
+ subject.created_on.should == Time.at(1332950825)
47
+ end
48
+ end
49
+
50
+ describe '#modified_on' do
51
+ it 'returns converted to Time object Unix timestamp' do
52
+ subject.modified_on = 1332950825000
53
+ subject.modified_on.should == Time.at(1332950825)
54
+ end
55
+ end
56
+
57
+ describe '#fields=' do
58
+ it 'converts each field to GroupDocs::DataSource::Field object if hash is passed' do
59
+ subject.fields = [{ :name => 'field1', :values => %w(value1 value2), :type => 1 }]
60
+ fields = subject.fields
61
+ fields.should be_an(Array)
62
+ fields.each do |field|
63
+ field.should be_a(GroupDocs::DataSource::Field)
64
+ end
65
+ end
66
+
67
+ it 'saves each field if it is GroupDocs::DataSource::Field object' do
68
+ field1 = GroupDocs::DataSource::Field.new(:name => 'field1')
69
+ field2 = GroupDocs::DataSource::Field.new(:name => 'field2')
70
+ subject.fields = [field1, field2]
71
+ subject.fields.should include(field1)
72
+ subject.fields.should include(field2)
73
+ end
74
+
75
+ it 'does nothing if nil is passed' do
76
+ lambda do
77
+ subject.fields = nil
78
+ end.should_not change(subject, :fields)
79
+ end
80
+ end
81
+
82
+ describe '#add_field' do
83
+ it 'raises error if field is not GroupDocs::DataSource::Field object' do
84
+ lambda { subject.add_field('Field') }.should raise_error(ArgumentError)
85
+ end
86
+
87
+ it 'saves field' do
88
+ field = GroupDocs::DataSource::Field.new
89
+ subject.add_field(field)
90
+ subject.fields.should == [field]
91
+ end
92
+ end
93
+
94
+ describe '#add!' do
95
+ before(:each) do
96
+ mock_api_server(load_json('datasource_add'))
97
+ end
98
+
99
+ it 'accepts access credentials hash' do
100
+ lambda do
101
+ subject.add!(:client_id => 'client_id', :private_key => 'private_key')
102
+ end.should_not raise_error()
103
+ end
104
+
105
+ it 'uses hashed version of self as request body' do
106
+ subject.should_receive(:to_hash)
107
+ subject.add!
108
+ end
109
+
110
+ it 'updates identifier of datasource' do
111
+ lambda do
112
+ subject.add!
113
+ end.should change(subject, :id)
114
+ end
115
+ end
116
+
117
+ describe '#update!' do
118
+ before(:each) do
119
+ mock_api_server(load_json('datasource_update'))
120
+ end
121
+
122
+ it 'accepts access credentials hash' do
123
+ lambda do
124
+ subject.update!(:client_id => 'client_id', :private_key => 'private_key')
125
+ end.should_not raise_error()
126
+ end
127
+
128
+ it 'uses hashed version of self as request body' do
129
+ subject.should_receive(:to_hash)
130
+ subject.add!
131
+ end
132
+ end
133
+
134
+ describe '#remove!' do
135
+ before(:each) do
136
+ mock_api_server(load_json('datasource_remove'))
137
+ end
138
+
139
+ it 'accepts access credentials hash' do
140
+ lambda do
141
+ subject.remove!(:client_id => 'client_id', :private_key => 'private_key')
142
+ end.should_not raise_error()
143
+ end
144
+ end
145
+ end