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.
- checksums.yaml +7 -0
- data/.travis.yml +9 -9
- data/CHANGELOG.md +482 -477
- data/Gemfile +3 -3
- data/LICENSE.txt +21 -21
- data/README.md +94 -94
- data/Rakefile +9 -9
- data/examples/README.md +12 -12
- data/examples/api-samples/Gemfile +5 -5
- data/examples/api-samples/Gemfile.lock +49 -49
- data/examples/api-samples/README.md +23 -23
- data/examples/api-samples/public/css/style.css +229 -229
- data/examples/api-samples/public/docs/annotation-sample.html +167 -167
- data/examples/api-samples/public/docs/docco.css +500 -500
- data/examples/api-samples/public/docs/envelope-sample.html +374 -374
- data/examples/api-samples/public/docs/sample01.html +181 -181
- data/examples/api-samples/public/docs/sample02.html +199 -199
- data/examples/api-samples/public/docs/sample03.html +318 -318
- data/examples/api-samples/public/docs/sample04.html +217 -217
- data/examples/api-samples/public/docs/sample05.html +296 -296
- data/examples/api-samples/public/docs/sample06.html +347 -347
- data/examples/api-samples/public/docs/sample07.html +209 -209
- data/examples/api-samples/public/docs/sample08.html +277 -277
- data/examples/api-samples/public/docs/sample09.html +314 -314
- data/examples/api-samples/public/docs/sample10.html +270 -270
- data/examples/api-samples/public/docs/sample11.html +462 -462
- data/examples/api-samples/public/docs/sample12.html +199 -199
- data/examples/api-samples/public/docs/sample13.html +201 -201
- data/examples/api-samples/public/docs/sample14.html +204 -204
- data/examples/api-samples/public/docs/sample15.html +182 -182
- data/examples/api-samples/public/docs/sample16.html +234 -234
- data/examples/api-samples/public/docs/sample17.html +309 -309
- data/examples/api-samples/public/docs/sample18.html +721 -721
- data/examples/api-samples/public/docs/sample19.html +631 -631
- data/examples/api-samples/public/docs/sample20.html +230 -230
- data/examples/api-samples/public/docs/sample21.html +790 -790
- data/examples/api-samples/public/docs/sample22.html +408 -408
- data/examples/api-samples/public/docs/sample25.html +550 -550
- data/examples/api-samples/public/templates/base-simple_source.html +191 -191
- data/examples/api-samples/public/templates/testdocument.html +100 -100
- data/examples/api-samples/public/templates/welcome.htm +137 -137
- data/examples/api-samples/samples/annotation-sample.rb +56 -56
- data/examples/api-samples/samples/envelope-sample.rb +133 -133
- data/examples/api-samples/samples/sample01.rb +44 -44
- data/examples/api-samples/samples/sample02.rb +50 -50
- data/examples/api-samples/samples/sample03.rb +79 -79
- data/examples/api-samples/samples/sample04.rb +54 -54
- data/examples/api-samples/samples/sample05.rb +83 -83
- data/examples/api-samples/samples/sample06.rb +86 -86
- data/examples/api-samples/samples/sample07.rb +59 -59
- data/examples/api-samples/samples/sample08.rb +76 -76
- data/examples/api-samples/samples/sample09.rb +85 -85
- data/examples/api-samples/samples/sample10.rb +70 -70
- data/examples/api-samples/samples/sample11.rb +132 -132
- data/examples/api-samples/samples/sample12.rb +48 -48
- data/examples/api-samples/samples/sample13.rb +49 -49
- data/examples/api-samples/samples/sample14.rb +54 -54
- data/examples/api-samples/samples/sample15.rb +43 -43
- data/examples/api-samples/samples/sample16.rb +57 -57
- data/examples/api-samples/samples/sample17.rb +70 -70
- data/examples/api-samples/samples/sample18.rb +190 -190
- data/examples/api-samples/samples/sample19.rb +188 -188
- data/examples/api-samples/samples/sample20.rb +68 -68
- data/examples/api-samples/samples/sample21.rb +212 -212
- data/examples/api-samples/samples/sample22.rb +109 -109
- data/examples/api-samples/samples/sample25.rb +127 -127
- data/examples/api-samples/views/_others_samples.haml +233 -233
- data/examples/api-samples/views/annotation_sample.haml +63 -63
- data/examples/api-samples/views/envelope_sample.haml +72 -72
- data/examples/api-samples/views/index.haml +235 -235
- data/examples/api-samples/views/layout.haml +3 -3
- data/examples/api-samples/views/sample01.haml +63 -63
- data/examples/api-samples/views/sample02.haml +52 -52
- data/examples/api-samples/views/sample03.haml +87 -87
- data/examples/api-samples/views/sample04.haml +55 -55
- data/examples/api-samples/views/sample05.haml +86 -86
- data/examples/api-samples/views/sample06.haml +58 -58
- data/examples/api-samples/views/sample07.haml +52 -52
- data/examples/api-samples/views/sample08.haml +100 -100
- data/examples/api-samples/views/sample09.haml +95 -95
- data/examples/api-samples/views/sample10.haml +93 -93
- data/examples/api-samples/views/sample11.haml +140 -140
- data/examples/api-samples/views/sample12.haml +68 -68
- data/examples/api-samples/views/sample13.haml +64 -64
- data/examples/api-samples/views/sample14.haml +60 -60
- data/examples/api-samples/views/sample15.haml +51 -51
- data/examples/api-samples/views/sample16.haml +50 -50
- data/examples/api-samples/views/sample17.haml +54 -54
- data/examples/api-samples/views/sample18.haml +143 -143
- data/examples/api-samples/views/sample19.haml +92 -92
- data/examples/api-samples/views/sample20.haml +54 -54
- data/examples/api-samples/views/sample21.haml +123 -123
- data/examples/api-samples/views/sample22.haml +106 -106
- data/examples/api-samples/views/sample25.haml +101 -101
- data/examples/api-samples/views/sample31.haml +2 -2
- data/examples/api-samples/web.rb +20 -20
- data/examples/viewer/Gemfile +5 -5
- data/examples/viewer/app.rb +52 -52
- data/groupdocs.gemspec +31 -31
- data/lib/groupdocs.rb +62 -62
- data/lib/groupdocs/api.rb +6 -6
- data/lib/groupdocs/api/entity.rb +112 -112
- data/lib/groupdocs/api/helpers.rb +11 -11
- data/lib/groupdocs/api/helpers/access_mode_helper.rb +27 -27
- data/lib/groupdocs/api/helpers/access_rights_helper.rb +55 -55
- data/lib/groupdocs/api/helpers/accessor_helper.rb +30 -30
- data/lib/groupdocs/api/helpers/byte_flag_helper.rb +49 -49
- data/lib/groupdocs/api/helpers/credentials_helper.rb +35 -35
- data/lib/groupdocs/api/helpers/mime_helper.rb +21 -21
- data/lib/groupdocs/api/helpers/path_helper.rb +28 -28
- data/lib/groupdocs/api/helpers/rest_helper.rb +99 -99
- data/lib/groupdocs/api/helpers/signature_public_helper.rb +22 -22
- data/lib/groupdocs/api/helpers/status_helper.rb +27 -27
- data/lib/groupdocs/api/helpers/url_helper.rb +101 -101
- data/lib/groupdocs/api/request.rb +91 -91
- data/lib/groupdocs/datasource.rb +249 -249
- data/lib/groupdocs/datasource/field.rb +39 -39
- data/lib/groupdocs/document.rb +1550 -1550
- data/lib/groupdocs/document/annotation.rb +421 -421
- data/lib/groupdocs/document/annotation/reply.rb +173 -173
- data/lib/groupdocs/document/annotation/reviewer.rb +66 -66
- data/lib/groupdocs/document/change.rb +56 -56
- data/lib/groupdocs/document/field.rb +53 -53
- data/lib/groupdocs/document/metadata.rb +32 -32
- data/lib/groupdocs/document/rectangle.rb +18 -18
- data/lib/groupdocs/document/view.rb +36 -36
- data/lib/groupdocs/errors.rb +8 -8
- data/lib/groupdocs/job.rb +468 -468
- data/lib/groupdocs/questionnaire.rb +530 -530
- data/lib/groupdocs/questionnaire/collector.rb +335 -335
- data/lib/groupdocs/questionnaire/execution.rb +181 -181
- data/lib/groupdocs/questionnaire/page.rb +43 -43
- data/lib/groupdocs/questionnaire/question.rb +108 -108
- data/lib/groupdocs/questionnaire/question/answer.rb +15 -15
- data/lib/groupdocs/signature.rb +380 -380
- data/lib/groupdocs/signature/contact.rb +181 -181
- data/lib/groupdocs/signature/envelope.rb +747 -747
- data/lib/groupdocs/signature/envelope/log.rb +20 -20
- data/lib/groupdocs/signature/field.rb +286 -286
- data/lib/groupdocs/signature/field/location.rb +71 -71
- data/lib/groupdocs/signature/form.rb +804 -804
- data/lib/groupdocs/signature/list.rb +92 -92
- data/lib/groupdocs/signature/recipient.rb +79 -79
- data/lib/groupdocs/signature/role.rb +54 -54
- data/lib/groupdocs/signature/shared.rb +6 -6
- data/lib/groupdocs/signature/shared/document_methods.rb +158 -158
- data/lib/groupdocs/signature/shared/entity_fields.rb +76 -76
- data/lib/groupdocs/signature/shared/entity_methods.rb +144 -144
- data/lib/groupdocs/signature/shared/field_methods.rb +354 -354
- data/lib/groupdocs/signature/shared/recipient_methods.rb +75 -75
- data/lib/groupdocs/signature/shared/resource_methods.rb +65 -65
- data/lib/groupdocs/signature/template.rb +124 -124
- data/lib/groupdocs/storage.rb +44 -44
- data/lib/groupdocs/storage/file.rb +432 -432
- data/lib/groupdocs/storage/folder.rb +288 -288
- data/lib/groupdocs/storage/package.rb +48 -48
- data/lib/groupdocs/storage/provider.rb +32 -32
- data/lib/groupdocs/subscription.rb +323 -323
- data/lib/groupdocs/subscription/limit.rb +20 -20
- data/lib/groupdocs/user.rb +955 -930
- data/lib/groupdocs/version.rb +3 -3
- data/spec/groupdocs/api/entity_spec.rb +55 -55
- data/spec/groupdocs/api/helpers/access_mode_helper_spec.rb +21 -21
- data/spec/groupdocs/api/helpers/access_rights_helper_spec.rb +43 -43
- data/spec/groupdocs/api/helpers/accessor_helper_spec.rb +16 -16
- data/spec/groupdocs/api/helpers/byte_flag_helper_spec.rb +23 -23
- data/spec/groupdocs/api/helpers/credentials_helpers_spec.rb +48 -48
- data/spec/groupdocs/api/helpers/mime_helper_spec.rb +16 -16
- data/spec/groupdocs/api/helpers/path_helper_spec.rb +15 -15
- data/spec/groupdocs/api/helpers/rest_helper_spec.rb +161 -161
- data/spec/groupdocs/api/helpers/signature_public_helper_spec.rb +21 -21
- data/spec/groupdocs/api/helpers/status_helper_spec.rb +22 -22
- data/spec/groupdocs/api/helpers/url_helper_spec.rb +112 -112
- data/spec/groupdocs/api/request_spec.rb +112 -112
- data/spec/groupdocs/datasource/field_spec.rb +29 -29
- data/spec/groupdocs/datasource_spec.rb +145 -145
- data/spec/groupdocs/document/annotation/reply_spec.rb +154 -154
- data/spec/groupdocs/document/annotation/reviewer_spec.rb +51 -51
- data/spec/groupdocs/document/annotation_spec.rb +234 -234
- data/spec/groupdocs/document/change_spec.rb +39 -39
- data/spec/groupdocs/document/field_spec.rb +28 -28
- data/spec/groupdocs/document/metadata_spec.rb +21 -21
- data/spec/groupdocs/document/rectangle_spec.rb +14 -14
- data/spec/groupdocs/document/view_spec.rb +33 -33
- data/spec/groupdocs/document_spec.rb +859 -859
- data/spec/groupdocs/errors_spec.rb +7 -7
- data/spec/groupdocs/job_spec.rb +323 -323
- data/spec/groupdocs/questionnaire/collector_spec.rb +197 -197
- data/spec/groupdocs/questionnaire/execution_spec.rb +162 -162
- data/spec/groupdocs/questionnaire/page_spec.rb +47 -47
- data/spec/groupdocs/questionnaire/question/answer_spec.rb +9 -9
- data/spec/groupdocs/questionnaire/question_spec.rb +75 -75
- data/spec/groupdocs/questionnaire_spec.rb +295 -295
- data/spec/groupdocs/signature/contact_spec.rb +142 -142
- data/spec/groupdocs/signature/envelope/log_spec.rb +15 -15
- data/spec/groupdocs/signature/envelope_spec.rb +384 -384
- data/spec/groupdocs/signature/field/location_spec.rb +40 -40
- data/spec/groupdocs/signature/field_spec.rb +235 -235
- data/spec/groupdocs/signature/form_spec.rb +205 -205
- data/spec/groupdocs/signature/list_spec.rb +87 -87
- data/spec/groupdocs/signature/recipient_spec.rb +26 -26
- data/spec/groupdocs/signature/role_spec.rb +47 -47
- data/spec/groupdocs/signature/template_spec.rb +80 -80
- data/spec/groupdocs/signature_spec.rb +194 -194
- data/spec/groupdocs/storage/file_spec.rb +303 -303
- data/spec/groupdocs/storage/folder_spec.rb +270 -270
- data/spec/groupdocs/storage/package_spec.rb +38 -38
- data/spec/groupdocs/storage/provider_spec.rb +21 -21
- data/spec/groupdocs/storage_spec.rb +27 -27
- data/spec/groupdocs/subscription/limit_spec.rb +16 -16
- data/spec/groupdocs/subscription_spec.rb +74 -74
- data/spec/groupdocs/user_spec.rb +257 -257
- data/spec/groupdocs_spec.rb +63 -63
- data/spec/spec_helper.rb +73 -73
- data/spec/support/json/annotation_access_set.json +11 -11
- data/spec/support/json/annotation_collaborators_get.json +16 -16
- data/spec/support/json/annotation_collaborators_set.json +16 -16
- data/spec/support/json/annotation_create.json +12 -12
- data/spec/support/json/annotation_list.json +32 -32
- data/spec/support/json/annotation_marker_move.json +10 -10
- data/spec/support/json/annotation_move.json +8 -8
- data/spec/support/json/annotation_remove.json +9 -9
- data/spec/support/json/annotation_replies_create.json +9 -9
- data/spec/support/json/annotation_replies_get.json +25 -25
- data/spec/support/json/annotation_reviewers_get.json +18 -18
- data/spec/support/json/comparison_changes.json +46 -46
- data/spec/support/json/comparison_compare.json +8 -8
- data/spec/support/json/comparison_document.json +10 -10
- data/spec/support/json/contact_add.json +12 -12
- data/spec/support/json/contacts_get.json +19 -19
- data/spec/support/json/contacts_import.json +8 -8
- data/spec/support/json/datasource_add.json +8 -8
- data/spec/support/json/datasource_get.json +22 -22
- data/spec/support/json/datasource_remove.json +8 -8
- data/spec/support/json/datasource_update.json +8 -8
- data/spec/support/json/delete_account.json +9 -9
- data/spec/support/json/document_access_info_get.json +14 -14
- data/spec/support/json/document_convert.json +8 -8
- data/spec/support/json/document_datasource.json +10 -10
- data/spec/support/json/document_fields.json +34 -34
- data/spec/support/json/document_formats.json +8 -8
- data/spec/support/json/document_metadata.json +15 -15
- data/spec/support/json/document_page_images_get.json +20 -20
- data/spec/support/json/document_questionnaire_create.json +9 -9
- data/spec/support/json/document_questionnaires.json +23 -23
- data/spec/support/json/document_sharers_remove.json +8 -8
- data/spec/support/json/document_sharers_set.json +16 -16
- data/spec/support/json/document_thumbnails.json +24 -24
- data/spec/support/json/document_views.json +32 -32
- data/spec/support/json/envelope_get.json +46 -46
- data/spec/support/json/envelope_logs.json +16 -16
- data/spec/support/json/envelope_recipient_add.json +26 -26
- data/spec/support/json/envelopes_all.json +48 -48
- data/spec/support/json/envelopes_resources.json +31 -31
- data/spec/support/json/file_compress.json +8 -8
- data/spec/support/json/file_copy.json +14 -14
- data/spec/support/json/file_delete.json +5 -5
- data/spec/support/json/file_move.json +14 -14
- data/spec/support/json/file_upload.json +8 -8
- data/spec/support/json/folder_create.json +8 -8
- data/spec/support/json/folder_delete.json +5 -5
- data/spec/support/json/folder_list.json +22 -22
- data/spec/support/json/folder_move.json +8 -8
- data/spec/support/json/folder_sharers_get.json +16 -16
- data/spec/support/json/folder_sharers_remove.json +8 -8
- data/spec/support/json/folder_sharers_set.json +16 -16
- data/spec/support/json/form_get.json +21 -21
- data/spec/support/json/forms_all.json +23 -23
- data/spec/support/json/job_add_url.json +8 -8
- data/spec/support/json/job_create.json +8 -8
- data/spec/support/json/job_documents.json +40 -40
- data/spec/support/json/job_file_add.json +8 -8
- data/spec/support/json/job_get.json +30 -30
- data/spec/support/json/job_update.json +7 -7
- data/spec/support/json/jobs_get.json +58 -58
- data/spec/support/json/list_add.json +12 -12
- data/spec/support/json/lists_get.json +19 -19
- data/spec/support/json/package_create.json +7 -7
- data/spec/support/json/questionnaire_collector.json +17 -17
- data/spec/support/json/questionnaire_collectors.json +38 -38
- data/spec/support/json/questionnaire_collectors_add.json +10 -10
- data/spec/support/json/questionnaire_create.json +10 -10
- data/spec/support/json/questionnaire_datasources.json +26 -26
- data/spec/support/json/questionnaire_execution_add.json +9 -9
- data/spec/support/json/questionnaire_execution_status_set.json +8 -8
- data/spec/support/json/questionnaire_execution_update.json +8 -8
- data/spec/support/json/questionnaire_executions.json +28 -28
- data/spec/support/json/questionnaire_get.json +17 -17
- data/spec/support/json/questionnaire_remove.json +8 -8
- data/spec/support/json/questionnaire_update.json +8 -8
- data/spec/support/json/questionnaires_get.json +40 -40
- data/spec/support/json/sign_documents.json +16 -16
- data/spec/support/json/signature_create.json +12 -12
- data/spec/support/json/signature_field_add.json +25 -25
- data/spec/support/json/signature_fields_get.json +27 -27
- data/spec/support/json/signature_roles_get.json +17 -17
- data/spec/support/json/signatures_get.json +19 -19
- data/spec/support/json/storage_info.json +10 -10
- data/spec/support/json/subscription_plan_get.json +9 -9
- data/spec/support/json/subscription_plans_get.json +17 -17
- data/spec/support/json/template_get.json +35 -35
- data/spec/support/json/template_get_documents.json +15 -15
- data/spec/support/json/template_get_recipients.json +20 -20
- data/spec/support/json/templates_all.json +37 -37
- data/spec/support/json/templates_get.json +21 -21
- data/spec/support/json/update_account.json +10 -10
- data/spec/support/json/user_area.json +67 -67
- data/spec/support/json/user_embed_key.json +38 -38
- data/spec/support/json/user_get_embed_key.json +67 -67
- data/spec/support/json/user_login.json +67 -67
- data/spec/support/json/user_profile_get.json +24 -24
- data/spec/support/json/user_providers.json +31 -31
- data/spec/support/json/user_roles.json +25 -25
- data/spec/support/json/user_users_get.json +27 -27
- data/spec/support/shared_examples/api/entity.rb +39 -39
- data/spec/support/shared_examples/api/helpers/access_mode_helper.rb +11 -11
- data/spec/support/shared_examples/api/helpers/status_helper.rb +11 -11
- data/spec/support/shared_examples/signature/shared/document_methods.rb +68 -68
- data/spec/support/shared_examples/signature/shared/entity_fields.rb +56 -56
- data/spec/support/shared_examples/signature/shared/entity_methods.rb +116 -116
- data/spec/support/shared_examples/signature/shared/field_methods.rb +220 -220
- data/spec/support/shared_examples/signature/shared/recipient_methods.rb +46 -46
- data/spec/support/shared_examples/signature/shared/resource_methods.rb +46 -46
- 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
|