files.com 1.1.782 → 1.1.784
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 +4 -4
- data/_VERSION +1 -1
- data/lib/files.com/api_client.rb +47 -15
- data/lib/files.com/models/account_line_item.rb +2 -0
- data/lib/files.com/models/action.rb +2 -0
- data/lib/files.com/models/action_log.rb +10 -8
- data/lib/files.com/models/action_notification_export.rb +14 -12
- data/lib/files.com/models/action_notification_export_result.rb +7 -5
- data/lib/files.com/models/agent_node.rb +2 -0
- data/lib/files.com/models/agent_node_connection.rb +2 -0
- data/lib/files.com/models/agent_node_instance.rb +2 -0
- data/lib/files.com/models/agent_push_update.rb +2 -0
- data/lib/files.com/models/ai_assistant_personality.rb +27 -25
- data/lib/files.com/models/ai_task.rb +73 -71
- data/lib/files.com/models/api_key.rb +38 -36
- data/lib/files.com/models/api_request_log.rb +10 -8
- data/lib/files.com/models/app.rb +7 -5
- data/lib/files.com/models/as2_incoming_message.rb +10 -8
- data/lib/files.com/models/as2_outgoing_message.rb +10 -8
- data/lib/files.com/models/as2_partner.rb +55 -53
- data/lib/files.com/models/as2_station.rb +36 -34
- data/lib/files.com/models/auto.rb +2 -0
- data/lib/files.com/models/automation.rb +114 -112
- data/lib/files.com/models/automation_authoring_schema.rb +2 -0
- data/lib/files.com/models/automation_execution_node.rb +2 -0
- data/lib/files.com/models/automation_log.rb +10 -8
- data/lib/files.com/models/automation_run.rb +27 -25
- data/lib/files.com/models/bandwidth_snapshot.rb +10 -8
- data/lib/files.com/models/behavior.rb +42 -40
- data/lib/files.com/models/bundle.rb +90 -88
- data/lib/files.com/models/bundle_action.rb +13 -11
- data/lib/files.com/models/bundle_download.rb +12 -10
- data/lib/files.com/models/bundle_notification.rb +22 -20
- data/lib/files.com/models/bundle_path.rb +2 -0
- data/lib/files.com/models/bundle_recipient.rb +17 -15
- data/lib/files.com/models/bundle_registration.rb +7 -5
- data/lib/files.com/models/chat_message.rb +2 -0
- data/lib/files.com/models/chat_session.rb +8 -6
- data/lib/files.com/models/child_site_management_policy.rb +32 -30
- data/lib/files.com/models/clickwrap.rb +30 -28
- data/lib/files.com/models/custom_domain.rb +36 -34
- data/lib/files.com/models/desktop_configuration_profile.rb +26 -24
- data/lib/files.com/models/direct_connection_info.rb +2 -0
- data/lib/files.com/models/dns_record.rb +4 -2
- data/lib/files.com/models/email_incoming_message.rb +11 -9
- data/lib/files.com/models/email_log.rb +9 -7
- data/lib/files.com/models/errors.rb +2 -0
- data/lib/files.com/models/event_channel.rb +26 -24
- data/lib/files.com/models/event_delivery_attempt.rb +8 -6
- data/lib/files.com/models/event_record.rb +13 -11
- data/lib/files.com/models/event_subscription.rb +42 -40
- data/lib/files.com/models/event_target.rb +30 -28
- data/lib/files.com/models/exavault_api_request_log.rb +10 -8
- data/lib/files.com/models/expectation.rb +79 -77
- data/lib/files.com/models/expectation_evaluation.rb +8 -6
- data/lib/files.com/models/expectation_incident.rb +24 -22
- data/lib/files.com/models/external_event.rb +16 -14
- data/lib/files.com/models/file.rb +138 -136
- data/lib/files.com/models/file_action.rb +2 -0
- data/lib/files.com/models/file_comment.rb +22 -20
- data/lib/files.com/models/file_comment_reaction.rb +11 -9
- data/lib/files.com/models/file_migration.rb +4 -2
- data/lib/files.com/models/file_migration_log.rb +9 -7
- data/lib/files.com/models/file_upload_part.rb +2 -0
- data/lib/files.com/models/folder.rb +15 -13
- data/lib/files.com/models/form_field.rb +2 -0
- data/lib/files.com/models/form_field_set.rb +25 -23
- data/lib/files.com/models/ftp_action_log.rb +10 -8
- data/lib/files.com/models/gpg_key.rb +42 -40
- data/lib/files.com/models/group.rb +44 -42
- data/lib/files.com/models/group_user.rb +34 -32
- data/lib/files.com/models/history.rb +40 -38
- data/lib/files.com/models/history_export.rb +26 -24
- data/lib/files.com/models/history_export_result.rb +7 -5
- data/lib/files.com/models/holiday_calendar.rb +22 -20
- data/lib/files.com/models/holiday_region.rb +4 -2
- data/lib/files.com/models/image.rb +2 -0
- data/lib/files.com/models/inbound_s3_log.rb +10 -8
- data/lib/files.com/models/inbox_recipient.rb +15 -13
- data/lib/files.com/models/inbox_registration.rb +5 -3
- data/lib/files.com/models/inbox_upload.rb +10 -8
- data/lib/files.com/models/integration_centric_profile.rb +27 -25
- data/lib/files.com/models/invoice.rb +6 -4
- data/lib/files.com/models/invoice_line_item.rb +2 -0
- data/lib/files.com/models/ip_address.rb +10 -8
- data/lib/files.com/models/key_lifecycle_rule.rb +31 -29
- data/lib/files.com/models/lock.rb +20 -18
- data/lib/files.com/models/metadata_category.rb +26 -24
- data/lib/files.com/models/notification.rb +45 -43
- data/lib/files.com/models/outbound_connection_log.rb +10 -8
- data/lib/files.com/models/partner.rb +48 -46
- data/lib/files.com/models/partner_channel.rb +44 -42
- data/lib/files.com/models/partner_channel_template.rb +46 -44
- data/lib/files.com/models/partner_connection.rb +2 -0
- data/lib/files.com/models/partner_site.rb +6 -4
- data/lib/files.com/models/partner_site_request.rb +21 -19
- data/lib/files.com/models/payment.rb +6 -4
- data/lib/files.com/models/payment_line_item.rb +2 -0
- data/lib/files.com/models/pending_work_event.rb +12 -10
- data/lib/files.com/models/permission.rb +25 -23
- data/lib/files.com/models/preview.rb +2 -0
- data/lib/files.com/models/public_hosting_request_log.rb +10 -8
- data/lib/files.com/models/public_ip_address.rb +2 -0
- data/lib/files.com/models/public_key.rb +32 -30
- data/lib/files.com/models/remote_bandwidth_snapshot.rb +10 -8
- data/lib/files.com/models/remote_mount_backend.rb +51 -49
- data/lib/files.com/models/remote_server.rb +261 -259
- data/lib/files.com/models/remote_server_configuration_file.rb +2 -0
- data/lib/files.com/models/remote_server_credential.rb +121 -119
- data/lib/files.com/models/request.rb +21 -19
- data/lib/files.com/models/restore.rb +11 -9
- data/lib/files.com/models/schedule.rb +33 -31
- data/lib/files.com/models/scheduled_export.rb +57 -55
- data/lib/files.com/models/scim_log.rb +7 -5
- data/lib/files.com/models/secret.rb +31 -29
- data/lib/files.com/models/session.rb +6 -4
- data/lib/files.com/models/settings_change.rb +6 -4
- data/lib/files.com/models/sftp_action_log.rb +10 -8
- data/lib/files.com/models/sftp_host_key.rb +23 -21
- data/lib/files.com/models/share_group.rb +27 -25
- data/lib/files.com/models/share_group_member.rb +2 -0
- data/lib/files.com/models/siem_http_destination.rb +95 -93
- data/lib/files.com/models/siem_http_destination_event.rb +12 -10
- data/lib/files.com/models/site.rb +80 -78
- data/lib/files.com/models/site_subdomain_redirect.rb +11 -9
- data/lib/files.com/models/snapshot.rb +28 -26
- data/lib/files.com/models/sso_event.rb +13 -11
- data/lib/files.com/models/sso_strategy.rb +11 -9
- data/lib/files.com/models/status.rb +2 -0
- data/lib/files.com/models/style.rb +14 -12
- data/lib/files.com/models/sync.rb +82 -80
- data/lib/files.com/models/sync_log.rb +9 -7
- data/lib/files.com/models/sync_run.rb +13 -11
- data/lib/files.com/models/sync_run_live_transfer.rb +2 -0
- data/lib/files.com/models/usage_by_top_level_dir.rb +2 -0
- data/lib/files.com/models/usage_daily_snapshot.rb +10 -8
- data/lib/files.com/models/usage_snapshot.rb +4 -2
- data/lib/files.com/models/user.rb +152 -150
- data/lib/files.com/models/user_additional_email_recipient.rb +23 -21
- data/lib/files.com/models/user_cipher_use.rb +11 -9
- data/lib/files.com/models/user_lifecycle_rule.rb +43 -41
- data/lib/files.com/models/user_request.rb +17 -15
- data/lib/files.com/models/user_security_event.rb +12 -10
- data/lib/files.com/models/user_sftp_client_use.rb +6 -4
- data/lib/files.com/models/web_dav_action_log.rb +10 -8
- data/lib/files.com/models/webhook_test.rb +11 -9
- data/lib/files.com/models/workspace.rb +20 -18
- data/lib/files.com/models/zip_list_entry.rb +2 -0
- data/lib/files.com/util.rb +31 -12
- data/lib/files.com/version.rb +1 -1
- data/spec/lib/api_client_spec.rb +86 -0
- metadata +1 -1
data/spec/lib/api_client_spec.rb
CHANGED
|
@@ -316,6 +316,92 @@ RSpec.describe Files::ApiClient do
|
|
|
316
316
|
end
|
|
317
317
|
end
|
|
318
318
|
|
|
319
|
+
describe "request bodies" do
|
|
320
|
+
it "sends a file part as multipart form data and other parameters as a URL-encoded form" do
|
|
321
|
+
requests = []
|
|
322
|
+
connection = described_class.build_default_conn
|
|
323
|
+
connection.builder.adapter(:test) do |stub|
|
|
324
|
+
stub.patch("/api/rest/v1/bundles/7") do |env|
|
|
325
|
+
body = env.body.respond_to?(:read) ? env.body.read : env.body
|
|
326
|
+
requests << { content_type: env.request_headers["Content-Type"], body: body.b }
|
|
327
|
+
[ 200, { "Content-Type" => "application/json" }, '{"id":7}' ]
|
|
328
|
+
end
|
|
329
|
+
end
|
|
330
|
+
client = described_class.new(connection)
|
|
331
|
+
file = StringIO.new("\x00\xFFbin".b)
|
|
332
|
+
attachment = Faraday::Multipart::FilePart.new(file, "application/octet-stream", "fixture.bin")
|
|
333
|
+
|
|
334
|
+
client.execute_request(:patch, "/bundles/7", api_key: "key", params: { description: "plain", watermark_attachment_file: attachment })
|
|
335
|
+
client.execute_request(:patch, "/bundles/7", api_key: "key", params: { description: "plain", paths: [ "a.txt", "b.txt" ] })
|
|
336
|
+
|
|
337
|
+
multipart, form = requests
|
|
338
|
+
expect(multipart[:content_type]).to start_with("multipart/form-data; boundary=")
|
|
339
|
+
expect(multipart[:body]).to include('name="watermark_attachment_file"; filename="fixture.bin"', "Content-Type: application/octet-stream", "\r\n\r\n\x00\xFFbin\r\n".b)
|
|
340
|
+
expect(multipart[:body]).not_to include("UploadIO")
|
|
341
|
+
expect(file).not_to be_closed
|
|
342
|
+
expect(form[:content_type]).to eq("application/x-www-form-urlencoded")
|
|
343
|
+
expect(Faraday::Utils.parse_nested_query(form[:body])).to eq("description" => "plain", "paths" => [ "a.txt", "b.txt" ])
|
|
344
|
+
end
|
|
345
|
+
end
|
|
346
|
+
|
|
347
|
+
describe "client loggers" do
|
|
348
|
+
around do |example|
|
|
349
|
+
original = [ Files.logger, Files.log_level, Files.max_network_retries ]
|
|
350
|
+
Files.max_network_retries = 0
|
|
351
|
+
example.run
|
|
352
|
+
ensure
|
|
353
|
+
Files.logger, Files.log_level, Files.max_network_retries = original
|
|
354
|
+
end
|
|
355
|
+
|
|
356
|
+
it "logs each client's requests to its own logger without changing the library-wide settings" do
|
|
357
|
+
connection = Faraday.new do |builder|
|
|
358
|
+
builder.response :raise_error
|
|
359
|
+
builder.adapter :test do |stub|
|
|
360
|
+
(1..5).each do |id|
|
|
361
|
+
stub.get("/api/rest/v1/workspaces/#{id}") { [ 200, { "Content-Type" => "application/json" }, { id: id }.to_json ] }
|
|
362
|
+
end
|
|
363
|
+
stub.get("/api/rest/v1/workspaces/6") { [ 404, { "Content-Type" => "application/json" }, { error: "Not Found", type: "not-found" }.to_json ] }
|
|
364
|
+
end
|
|
365
|
+
end
|
|
366
|
+
global_output = StringIO.new
|
|
367
|
+
global_logger = Logger.new(global_output, level: Logger::INFO)
|
|
368
|
+
Files.logger = global_logger
|
|
369
|
+
Files.log_level = Files::LEVEL_INFO
|
|
370
|
+
a_output = StringIO.new
|
|
371
|
+
a_logger = Logger.new(a_output, level: Logger::INFO)
|
|
372
|
+
b_output = StringIO.new
|
|
373
|
+
b_logger = Logger.new(b_output, level: Logger::ERROR)
|
|
374
|
+
client_a = described_class.new(connection, logger: a_logger)
|
|
375
|
+
client_b = described_class.new(connection, logger: b_logger, log_level: Files::LEVEL_DEBUG)
|
|
376
|
+
|
|
377
|
+
Files::Workspace.find(1, {}, api_key: "key", client: client_a)
|
|
378
|
+
Files::Workspace.find(2, {}, api_key: "key", client: client_b)
|
|
379
|
+
Files::Workspace.find(3, {}, api_key: "key", client: client_a)
|
|
380
|
+
|
|
381
|
+
expect(a_output.string).to include("message=Request method=get num_retries=0 path=/workspaces/1", "message=Request method=get num_retries=0 path=/workspaces/3")
|
|
382
|
+
expect(a_output.string.scan(/message=Response .*status=200/).size).to eq(2)
|
|
383
|
+
expect(a_output.string).not_to include("/workspaces/2")
|
|
384
|
+
expect(b_output.string).to be_empty
|
|
385
|
+
expect(global_output.string).to be_empty
|
|
386
|
+
expect([ a_logger.level, b_logger.level ]).to eq([ Logger::INFO, Logger::ERROR ])
|
|
387
|
+
expect(Files.logger).to equal(global_logger)
|
|
388
|
+
expect(Files.log_level).to eq(Files::LEVEL_INFO)
|
|
389
|
+
|
|
390
|
+
expect { Files::Workspace.find(6, {}, api_key: "key", client: client_b) }.to raise_error(Files::NotFoundError)
|
|
391
|
+
expect(b_output.string).to include("message=API error status=404")
|
|
392
|
+
expect(a_output.string).not_to include("API error")
|
|
393
|
+
expect(global_output.string).to be_empty
|
|
394
|
+
expect([ a_logger.level, b_logger.level ]).to eq([ Logger::INFO, Logger::ERROR ])
|
|
395
|
+
|
|
396
|
+
Files::Workspace.find(4, {}, api_key: "key", client: described_class.new(connection))
|
|
397
|
+
expect(global_output.string).to include("message=Request method=get num_retries=0 path=/workspaces/4")
|
|
398
|
+
|
|
399
|
+
quiet_client = described_class.new(connection, logger: nil, log_level: nil)
|
|
400
|
+
expect { Files::Workspace.find(5, {}, api_key: "key", client: quiet_client) }.not_to output.to_stdout
|
|
401
|
+
expect(global_output.string).not_to include("/workspaces/5")
|
|
402
|
+
end
|
|
403
|
+
end
|
|
404
|
+
|
|
319
405
|
describe "network timeouts" do
|
|
320
406
|
around do |example|
|
|
321
407
|
original = [ Files.open_timeout, Files.read_timeout ]
|