freeclimb 5.0.0 → 5.2.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 +4 -4
- data/CHANGELOG.md +21 -1
- data/Gemfile +4 -4
- data/Gemfile.lock +34 -15
- data/README.md +5 -4
- data/Rakefile +1 -1
- data/docs/CreateConferenceRequest.md +1 -1
- data/docs/DefaultApi.md +1 -1
- data/docs/MessageResult.md +7 -1
- data/docs/TFNCampaign.md +34 -0
- data/freeclimb.gemspec +21 -26
- data/lib/freeclimb/api/default_api.rb +878 -878
- data/lib/freeclimb/api_client.rb +78 -83
- data/lib/freeclimb/api_error.rb +17 -19
- data/lib/freeclimb/configuration.rb +28 -31
- data/lib/freeclimb/models/account_request.rb +36 -41
- data/lib/freeclimb/models/account_result.rb +88 -92
- data/lib/freeclimb/models/account_status.rb +12 -14
- data/lib/freeclimb/models/account_type.rb +12 -14
- data/lib/freeclimb/models/add_to_conference.rb +81 -85
- data/lib/freeclimb/models/add_to_conference_notification_webhook.rb +99 -103
- data/lib/freeclimb/models/add_to_queue_notification_webhook.rb +78 -82
- data/lib/freeclimb/models/answered_by.rb +12 -14
- data/lib/freeclimb/models/application_list.rb +74 -78
- data/lib/freeclimb/models/application_request.rb +66 -70
- data/lib/freeclimb/models/application_result.rb +100 -104
- data/lib/freeclimb/models/available_number.rb +66 -70
- data/lib/freeclimb/models/available_number_list.rb +74 -78
- data/lib/freeclimb/models/barge_in_reason.rb +12 -14
- data/lib/freeclimb/models/buy_incoming_number_request.rb +41 -45
- data/lib/freeclimb/models/call_control_webhook.rb +56 -61
- data/lib/freeclimb/models/call_direction.rb +12 -14
- data/lib/freeclimb/models/call_ended_reason.rb +12 -14
- data/lib/freeclimb/models/call_list.rb +74 -78
- data/lib/freeclimb/models/call_result.rb +142 -146
- data/lib/freeclimb/models/call_status.rb +12 -14
- data/lib/freeclimb/models/call_status_webhook.rb +84 -88
- data/lib/freeclimb/models/capabilities.rb +55 -59
- data/lib/freeclimb/models/completion_request.rb +32 -36
- data/lib/freeclimb/models/completion_result.rb +36 -40
- data/lib/freeclimb/models/completion_result_status.rb +12 -14
- data/lib/freeclimb/models/conference_list.rb +74 -78
- data/lib/freeclimb/models/conference_participant_list.rb +74 -78
- data/lib/freeclimb/models/conference_participant_result.rb +88 -92
- data/lib/freeclimb/models/conference_recording_status_webhook.rb +99 -103
- data/lib/freeclimb/models/conference_result.rb +106 -110
- data/lib/freeclimb/models/conference_status.rb +12 -14
- data/lib/freeclimb/models/conference_status_webhook.rb +102 -106
- data/lib/freeclimb/models/create_conference.rb +60 -63
- data/lib/freeclimb/models/create_conference_request.rb +55 -54
- data/lib/freeclimb/models/create_conference_webhook.rb +102 -106
- data/lib/freeclimb/models/create_web_rtc_token.rb +42 -46
- data/lib/freeclimb/models/dequeue.rb +30 -37
- data/lib/freeclimb/models/dequeue_webhook.rb +89 -93
- data/lib/freeclimb/models/enqueue.rb +48 -52
- data/lib/freeclimb/models/filter_logs_request.rb +31 -35
- data/lib/freeclimb/models/get_digits.rb +73 -77
- data/lib/freeclimb/models/get_digits_reason.rb +12 -14
- data/lib/freeclimb/models/get_digits_webhook.rb +93 -97
- data/lib/freeclimb/models/get_speech.rb +94 -97
- data/lib/freeclimb/models/get_speech_reason.rb +12 -14
- data/lib/freeclimb/models/get_speech_webhook.rb +118 -122
- data/lib/freeclimb/models/grammar_file_built_in.rb +12 -14
- data/lib/freeclimb/models/grammar_type.rb +12 -14
- data/lib/freeclimb/models/hangup.rb +34 -39
- data/lib/freeclimb/models/if_machine.rb +12 -14
- data/lib/freeclimb/models/inbound_call_webhook.rb +85 -89
- data/lib/freeclimb/models/incoming_number_list.rb +74 -78
- data/lib/freeclimb/models/incoming_number_request.rb +41 -45
- data/lib/freeclimb/models/incoming_number_result.rb +122 -126
- data/lib/freeclimb/models/language.rb +12 -14
- data/lib/freeclimb/models/leave_conference_webhook.rb +79 -83
- data/lib/freeclimb/models/log_level.rb +12 -14
- data/lib/freeclimb/models/log_list.rb +74 -78
- data/lib/freeclimb/models/log_result.rb +67 -71
- data/lib/freeclimb/models/machine_detected_webhook.rb +89 -93
- data/lib/freeclimb/models/machine_type.rb +12 -14
- data/lib/freeclimb/models/make_call_request.rb +77 -81
- data/lib/freeclimb/models/message_delivery_webhook.rb +81 -86
- data/lib/freeclimb/models/message_direction.rb +12 -14
- data/lib/freeclimb/models/message_request.rb +72 -75
- data/lib/freeclimb/models/message_result.rb +150 -123
- data/lib/freeclimb/models/message_status.rb +12 -14
- data/lib/freeclimb/models/message_status_webhook.rb +86 -90
- data/lib/freeclimb/models/messages_list.rb +74 -78
- data/lib/freeclimb/models/mutable_resource_model.rb +46 -51
- data/lib/freeclimb/models/out_dial.rb +80 -84
- data/lib/freeclimb/models/out_dial_api_connect_webhook.rb +84 -88
- data/lib/freeclimb/models/out_dial_connect_webhook.rb +84 -88
- data/lib/freeclimb/models/out_dial_start_webhook.rb +90 -94
- data/lib/freeclimb/models/pagination_model.rb +67 -71
- data/lib/freeclimb/models/park.rb +44 -48
- data/lib/freeclimb/models/pause.rb +33 -37
- data/lib/freeclimb/models/percl_command.rb +36 -40
- data/lib/freeclimb/models/percl_script.rb +32 -36
- data/lib/freeclimb/models/play.rb +44 -48
- data/lib/freeclimb/models/play_beep.rb +12 -14
- data/lib/freeclimb/models/play_early_media.rb +33 -37
- data/lib/freeclimb/models/queue_list.rb +74 -78
- data/lib/freeclimb/models/queue_member.rb +55 -59
- data/lib/freeclimb/models/queue_member_list.rb +74 -78
- data/lib/freeclimb/models/queue_request.rb +37 -42
- data/lib/freeclimb/models/queue_result.rb +88 -92
- data/lib/freeclimb/models/queue_result_status.rb +12 -14
- data/lib/freeclimb/models/queue_wait_webhook.rb +94 -98
- data/lib/freeclimb/models/record_utterance.rb +63 -67
- data/lib/freeclimb/models/record_utterance_term_reason.rb +12 -14
- data/lib/freeclimb/models/record_webhook.rb +119 -123
- data/lib/freeclimb/models/recording_list.rb +74 -78
- data/lib/freeclimb/models/recording_result.rb +76 -80
- data/lib/freeclimb/models/redirect.rb +33 -37
- data/lib/freeclimb/models/redirect_webhook.rb +84 -88
- data/lib/freeclimb/models/reject.rb +34 -39
- data/lib/freeclimb/models/remove_from_conference.rb +30 -37
- data/lib/freeclimb/models/remove_from_queue_notification_webhook.rb +89 -93
- data/lib/freeclimb/models/request_type.rb +12 -14
- data/lib/freeclimb/models/say.rb +49 -53
- data/lib/freeclimb/models/send_digits.rb +43 -47
- data/lib/freeclimb/models/set_dtmf_pass_through.rb +34 -39
- data/lib/freeclimb/models/set_listen.rb +34 -39
- data/lib/freeclimb/models/set_talk.rb +34 -39
- data/lib/freeclimb/models/sms.rb +48 -52
- data/lib/freeclimb/models/sms_ten_dlc_brand.rb +187 -190
- data/lib/freeclimb/models/sms_ten_dlc_brand_alt_business_id_type.rb +12 -14
- data/lib/freeclimb/models/sms_ten_dlc_brand_entity_type.rb +12 -14
- data/lib/freeclimb/models/sms_ten_dlc_brand_identity_status.rb +12 -14
- data/lib/freeclimb/models/sms_ten_dlc_brand_relationship.rb +12 -14
- data/lib/freeclimb/models/sms_ten_dlc_brand_stock_exchange.rb +12 -14
- data/lib/freeclimb/models/sms_ten_dlc_brands_list_result.rb +74 -78
- data/lib/freeclimb/models/sms_ten_dlc_campaign.rb +226 -229
- data/lib/freeclimb/models/sms_ten_dlc_campaign_status.rb +12 -14
- data/lib/freeclimb/models/sms_ten_dlc_campaigns_list_result.rb +74 -78
- data/lib/freeclimb/models/sms_ten_dlc_partner_campaign.rb +186 -189
- data/lib/freeclimb/models/sms_ten_dlc_partner_campaign_brand.rb +84 -87
- data/lib/freeclimb/models/sms_ten_dlc_partner_campaign_status.rb +12 -14
- data/lib/freeclimb/models/sms_ten_dlc_partner_campaigns_list_result.rb +74 -78
- data/lib/freeclimb/models/sms_toll_free_campaign.rb +61 -64
- data/lib/freeclimb/models/sms_toll_free_campaign_registration_status.rb +12 -14
- data/lib/freeclimb/models/sms_toll_free_campaigns_list_result.rb +74 -78
- data/lib/freeclimb/models/start_record_call.rb +30 -37
- data/lib/freeclimb/models/terminate_conference.rb +30 -37
- data/lib/freeclimb/models/tfn.rb +31 -35
- data/lib/freeclimb/models/tfn_campaign.rb +367 -0
- data/lib/freeclimb/models/transcribe_reason.rb +12 -14
- data/lib/freeclimb/models/transcribe_term_reason.rb +12 -14
- data/lib/freeclimb/models/transcribe_utterance.rb +61 -65
- data/lib/freeclimb/models/transcribe_utterance_record.rb +43 -47
- data/lib/freeclimb/models/transcribe_webhook.rb +150 -154
- data/lib/freeclimb/models/unpark.rb +30 -37
- data/lib/freeclimb/models/update_call_request.rb +31 -35
- data/lib/freeclimb/models/update_call_request_status.rb +12 -14
- data/lib/freeclimb/models/update_conference_participant_request.rb +41 -46
- data/lib/freeclimb/models/update_conference_request.rb +41 -45
- data/lib/freeclimb/models/update_conference_request_status.rb +12 -14
- data/lib/freeclimb/models/webhook.rb +32 -37
- data/lib/freeclimb/utils/request_verifier.rb +14 -14
- data/lib/freeclimb/utils/signature_information.rb +8 -8
- data/lib/freeclimb/version.rb +10 -12
- data/lib/freeclimb.rb +156 -157
- data/openapi.json +96 -38
- data/package.json +1 -1
- data/spec/api/default_api_spec.rb +531 -793
- data/spec/api_client_spec.rb +100 -102
- data/spec/configuration_spec.rb +16 -18
- data/spec/models/account_request_spec.rb +106 -124
- data/spec/models/account_result_spec.rb +396 -453
- data/spec/models/account_status_spec.rb +28 -30
- data/spec/models/account_type_spec.rb +25 -27
- data/spec/models/add_to_conference_notification_webhook_spec.rb +465 -549
- data/spec/models/add_to_conference_spec.rb +355 -382
- data/spec/models/add_to_queue_notification_webhook_spec.rb +342 -402
- data/spec/models/answered_by_spec.rb +25 -27
- data/spec/models/application_list_spec.rb +290 -326
- data/spec/models/application_request_spec.rb +266 -289
- data/spec/models/application_result_spec.rb +445 -476
- data/spec/models/available_number_list_spec.rb +290 -326
- data/spec/models/available_number_spec.rb +279 -299
- data/spec/models/barge_in_reason_spec.rb +28 -30
- data/spec/models/buy_incoming_number_request_spec.rb +137 -156
- data/spec/models/call_control_webhook_spec.rb +204 -225
- data/spec/models/call_direction_spec.rb +28 -30
- data/spec/models/call_ended_reason_spec.rb +108 -110
- data/spec/models/call_list_spec.rb +290 -326
- data/spec/models/call_result_spec.rb +684 -772
- data/spec/models/call_status_spec.rb +48 -50
- data/spec/models/call_status_webhook_spec.rb +414 -492
- data/spec/models/capabilities_spec.rb +203 -223
- data/spec/models/completion_request_spec.rb +76 -92
- data/spec/models/completion_result_spec.rb +107 -143
- data/spec/models/completion_result_status_spec.rb +25 -27
- data/spec/models/conference_list_spec.rb +290 -326
- data/spec/models/conference_participant_list_spec.rb +290 -326
- data/spec/models/conference_participant_result_spec.rb +385 -414
- data/spec/models/conference_recording_status_webhook_spec.rb +465 -549
- data/spec/models/conference_result_spec.rb +492 -553
- data/spec/models/conference_status_spec.rb +32 -34
- data/spec/models/conference_status_webhook_spec.rb +465 -549
- data/spec/models/create_conference_request_spec.rb +205 -245
- data/spec/models/create_conference_spec.rb +237 -278
- data/spec/models/create_conference_webhook_spec.rb +465 -549
- data/spec/models/create_web_rtc_token_spec.rb +137 -159
- data/spec/models/dequeue_spec.rb +15 -17
- data/spec/models/dequeue_webhook_spec.rb +401 -465
- data/spec/models/enqueue_spec.rb +170 -190
- data/spec/models/filter_logs_request_spec.rb +74 -91
- data/spec/models/get_digits_reason_spec.rb +32 -34
- data/spec/models/get_digits_spec.rb +327 -361
- data/spec/models/get_digits_webhook_spec.rb +436 -517
- data/spec/models/get_speech_reason_spec.rb +40 -42
- data/spec/models/get_speech_spec.rb +400 -492
- data/spec/models/get_speech_webhook_spec.rb +608 -698
- data/spec/models/grammar_file_built_in_spec.rb +76 -78
- data/spec/models/grammar_type_spec.rb +25 -27
- data/spec/models/hangup_spec.rb +74 -91
- data/spec/models/if_machine_spec.rb +25 -27
- data/spec/models/inbound_call_webhook_spec.rb +372 -433
- data/spec/models/incoming_number_list_spec.rb +290 -326
- data/spec/models/incoming_number_request_spec.rb +137 -156
- data/spec/models/incoming_number_result_spec.rb +584 -613
- data/spec/models/language_spec.rb +121 -123
- data/spec/models/leave_conference_webhook_spec.rb +342 -402
- data/spec/models/log_level_spec.rb +28 -30
- data/spec/models/log_list_spec.rb +290 -326
- data/spec/models/log_result_spec.rb +275 -311
- data/spec/models/machine_detected_webhook_spec.rb +402 -482
- data/spec/models/machine_type_spec.rb +25 -27
- data/spec/models/make_call_request_spec.rb +354 -383
- data/spec/models/message_delivery_webhook_spec.rb +358 -384
- data/spec/models/message_direction_spec.rb +25 -27
- data/spec/models/message_request_spec.rb +325 -352
- data/spec/models/message_result_spec.rb +674 -598
- data/spec/models/message_status_spec.rb +61 -63
- data/spec/models/message_status_webhook_spec.rb +406 -451
- data/spec/models/messages_list_spec.rb +290 -326
- data/spec/models/mutable_resource_model_spec.rb +169 -191
- data/spec/models/out_dial_api_connect_webhook_spec.rb +372 -433
- data/spec/models/out_dial_connect_webhook_spec.rb +372 -433
- data/spec/models/out_dial_spec.rb +355 -401
- data/spec/models/out_dial_start_webhook_spec.rb +402 -464
- data/spec/models/pagination_model_spec.rb +260 -295
- data/spec/models/park_spec.rb +137 -156
- data/spec/models/pause_spec.rb +73 -92
- data/spec/models/percl_command_spec.rb +77 -94
- data/spec/models/percl_script_spec.rb +74 -91
- data/spec/models/play_beep_spec.rb +32 -34
- data/spec/models/play_early_media_spec.rb +74 -91
- data/spec/models/play_spec.rb +136 -157
- data/spec/models/queue_list_spec.rb +290 -326
- data/spec/models/queue_member_list_spec.rb +290 -326
- data/spec/models/queue_member_spec.rb +200 -225
- data/spec/models/queue_request_spec.rb +105 -125
- data/spec/models/queue_result_spec.rb +391 -419
- data/spec/models/queue_result_status_spec.rb +32 -34
- data/spec/models/queue_wait_webhook_spec.rb +430 -497
- data/spec/models/record_utterance_spec.rb +264 -291
- data/spec/models/record_utterance_term_reason_spec.rb +32 -34
- data/spec/models/record_webhook_spec.rb +605 -693
- data/spec/models/recording_list_spec.rb +290 -326
- data/spec/models/recording_result_spec.rb +324 -353
- data/spec/models/redirect_spec.rb +74 -91
- data/spec/models/redirect_webhook_spec.rb +372 -433
- data/spec/models/reject_spec.rb +74 -91
- data/spec/models/remove_from_conference_spec.rb +15 -17
- data/spec/models/remove_from_queue_notification_webhook_spec.rb +405 -487
- data/spec/models/request_type_spec.rb +108 -110
- data/spec/models/say_spec.rb +169 -191
- data/spec/models/send_digits_spec.rb +136 -157
- data/spec/models/set_dtmf_pass_through_spec.rb +75 -91
- data/spec/models/set_listen_spec.rb +75 -91
- data/spec/models/set_talk_spec.rb +75 -91
- data/spec/models/sms_spec.rb +170 -190
- data/spec/models/sms_ten_dlc_brand_alt_business_id_type_spec.rb +32 -34
- data/spec/models/sms_ten_dlc_brand_entity_type_spec.rb +36 -38
- data/spec/models/sms_ten_dlc_brand_identity_status_spec.rb +32 -34
- data/spec/models/sms_ten_dlc_brand_relationship_spec.rb +36 -38
- data/spec/models/sms_ten_dlc_brand_spec.rb +1083 -1201
- data/spec/models/sms_ten_dlc_brand_stock_exchange_spec.rb +125 -127
- data/spec/models/sms_ten_dlc_brands_list_result_spec.rb +290 -326
- data/spec/models/sms_ten_dlc_campaign_spec.rb +1140 -1208
- data/spec/models/sms_ten_dlc_campaign_status_spec.rb +25 -27
- data/spec/models/sms_ten_dlc_campaigns_list_result_spec.rb +290 -326
- data/spec/models/sms_ten_dlc_partner_campaign_brand_spec.rb +407 -425
- data/spec/models/sms_ten_dlc_partner_campaign_spec.rb +965 -1015
- data/spec/models/sms_ten_dlc_partner_campaign_status_spec.rb +25 -27
- data/spec/models/sms_ten_dlc_partner_campaigns_list_result_spec.rb +290 -326
- data/spec/models/sms_toll_free_campaign_registration_status_spec.rb +36 -38
- data/spec/models/sms_toll_free_campaign_spec.rb +271 -314
- data/spec/models/sms_toll_free_campaigns_list_result_spec.rb +290 -326
- data/spec/models/start_record_call_spec.rb +15 -17
- data/spec/models/terminate_conference_spec.rb +15 -17
- data/spec/models/tfn_campaign_spec.rb +561 -0
- data/spec/models/tfn_spec.rb +74 -91
- data/spec/models/transcribe_reason_spec.rb +36 -38
- data/spec/models/transcribe_term_reason_spec.rb +25 -27
- data/spec/models/transcribe_utterance_record_spec.rb +135 -158
- data/spec/models/transcribe_utterance_spec.rb +245 -265
- data/spec/models/transcribe_webhook_spec.rb +750 -874
- data/spec/models/unpark_spec.rb +15 -17
- data/spec/models/update_call_request_spec.rb +75 -109
- data/spec/models/update_call_request_status_spec.rb +25 -27
- data/spec/models/update_conference_participant_request_spec.rb +138 -156
- data/spec/models/update_conference_request_spec.rb +141 -195
- data/spec/models/update_conference_request_status_spec.rb +25 -27
- data/spec/models/webhook_spec.rb +69 -86
- data/spec/quickstart_spec.rb +5 -5
- data/spec/spec_helper.rb +92 -100
- data/spec/utils/request_verifier_spec.rb +70 -71
- data/spec/utils/signature_information_spec.rb +23 -23
- data/yarn.lock +9 -0
- metadata +9 -153
data/spec/models/webhook_spec.rb
CHANGED
@@ -1,18 +1,17 @@
|
|
1
|
-
|
2
|
-
#
|
3
|
-
|
4
|
-
#
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
require
|
14
|
-
|
15
|
-
require 'date'
|
1
|
+
# #FreeClimb API
|
2
|
+
#
|
3
|
+
# FreeClimb is a cloud-based application programming interface (API) that puts the power of the Vail platform in your hands. FreeClimb simplifies the process of creating applications that can use a full range of telephony features without requiring specialized or on-site telephony equipment. Using the FreeClimb REST API to write applications is easy! You have the option to use the language of your choice or hit the API directly. Your application can execute a command by issuing a RESTful request to the FreeClimb API. The base URL to send HTTP requests to the FreeClimb REST API is: /apiserver. FreeClimb authenticates and processes your request.
|
4
|
+
#
|
5
|
+
# The version of the OpenAPI document: 1.0.0
|
6
|
+
# Contact: support@freeclimb.com
|
7
|
+
# Generated by: https://openapi-generator.tech
|
8
|
+
# OpenAPI Generator version: 7.9.0
|
9
|
+
#
|
10
|
+
|
11
|
+
require "spec_helper"
|
12
|
+
require "json"
|
13
|
+
require "date"
|
14
|
+
include Freeclimb
|
16
15
|
|
17
16
|
# Unit tests for Freeclimb::Webhook
|
18
17
|
# Automatically generated by openapi-generator (https://openapi-generator.tech)
|
@@ -20,101 +19,93 @@ require 'date'
|
|
20
19
|
describe Freeclimb::Webhook do
|
21
20
|
let(:instance) { Freeclimb::Webhook.new }
|
22
21
|
|
23
|
-
describe
|
24
|
-
it
|
22
|
+
describe "test an instance of Webhook" do
|
23
|
+
it "should create an instance of Webhook" do
|
25
24
|
expect(instance).to be_instance_of(Freeclimb::Webhook)
|
26
25
|
end
|
27
26
|
end
|
28
|
-
|
29
27
|
|
30
28
|
describe 'test method "initialize"' do
|
31
|
-
it
|
32
|
-
expect {
|
33
|
-
|
34
|
-
|
35
|
-
|
29
|
+
it "properly initializes with values" do
|
30
|
+
expect {
|
31
|
+
Freeclimb::Webhook.new(
|
32
|
+
request_type: "TS"
|
33
|
+
)
|
34
|
+
}.not_to raise_error
|
36
35
|
end
|
37
|
-
it
|
38
|
-
expect {
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
36
|
+
it "fails to initialize with input argument that is not a hash in Freeclimb::Webhook" do
|
37
|
+
expect {
|
38
|
+
Freeclimb::Webhook.new(
|
39
|
+
request_type: "TS",
|
40
|
+
|
41
|
+
invalid_attribute: true
|
42
|
+
)
|
43
|
+
}.to raise_error(ArgumentError)
|
43
44
|
end
|
44
|
-
it
|
45
|
-
expect {
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
45
|
+
it "fails to initialize with invalid attribute" do
|
46
|
+
expect {
|
47
|
+
Freeclimb::Webhook.new(
|
48
|
+
request_type: "TS",
|
49
|
+
|
50
|
+
invalid_attribute: true
|
51
|
+
)
|
52
|
+
}.to raise_error(ArgumentError)
|
50
53
|
end
|
51
54
|
end
|
52
|
-
|
55
|
+
|
53
56
|
describe 'test method "valid"' do
|
54
|
-
it
|
57
|
+
it "checks if properties are valid" do
|
55
58
|
instance = Freeclimb::Webhook.new(
|
56
|
-
|
57
|
-
|
59
|
+
request_type: "TS"
|
58
60
|
)
|
59
61
|
expect(instance.valid?).to eq(true)
|
60
62
|
end
|
61
63
|
|
64
|
+
skip "checks if properties are invalid" do
|
65
|
+
instance = Freeclimb::Webhook.new
|
62
66
|
|
63
|
-
skip 'checks if properties are invalid' do
|
64
|
-
instance = Freeclimb::Webhook.new(
|
65
|
-
|
66
|
-
)
|
67
67
|
expect(instance.valid?).to eq(false)
|
68
68
|
end
|
69
|
-
|
70
69
|
end
|
71
70
|
|
72
71
|
describe 'test method "eql?"' do
|
73
|
-
it
|
74
|
-
obj = Object.new()
|
72
|
+
it "checks if objects are equal" do
|
75
73
|
instance_1 = Freeclimb::Webhook.new(
|
76
|
-
|
77
|
-
|
74
|
+
request_type: "TS"
|
78
75
|
)
|
79
76
|
instance_2 = Freeclimb::Webhook.new(
|
80
|
-
|
81
|
-
|
77
|
+
request_type: "TS"
|
82
78
|
)
|
83
79
|
expect(instance_1.eql?(instance_2)).to eq(true)
|
84
80
|
end
|
85
|
-
|
86
|
-
it
|
81
|
+
|
82
|
+
it "checks if objects are not equal" do
|
87
83
|
instance_1 = Freeclimb::Webhook.new(
|
88
|
-
|
89
|
-
|
84
|
+
request_type: "TS"
|
90
85
|
)
|
91
86
|
instance_2 = Freeclimb::Webhook.new(
|
92
|
-
|
93
|
-
|
87
|
+
request_type: "ST"
|
94
88
|
)
|
95
89
|
expect(instance_1.eql?(instance_2)).to eq(false)
|
96
90
|
end
|
97
91
|
end
|
98
|
-
|
92
|
+
|
99
93
|
describe 'test method "hash"' do
|
100
|
-
it
|
94
|
+
it "calculates hash code" do
|
101
95
|
instance = Freeclimb::Webhook.new(
|
102
|
-
|
103
|
-
|
104
|
-
)
|
96
|
+
request_type: "TS"
|
97
|
+
)
|
105
98
|
expect(instance.hash).to be_a_kind_of(Integer)
|
106
99
|
end
|
107
100
|
end
|
108
101
|
|
109
102
|
describe 'test method "build_from_hash"' do
|
110
|
-
it
|
103
|
+
it "builds equivalent model from hash code" do
|
111
104
|
instance_1 = Freeclimb::Webhook.new(
|
112
|
-
request_type: "TS"
|
113
|
-
|
105
|
+
request_type: "TS"
|
114
106
|
)
|
115
107
|
instance_2 = Freeclimb::Webhook.new(
|
116
|
-
request_type: "TS"
|
117
|
-
|
108
|
+
request_type: "TS"
|
118
109
|
)
|
119
110
|
|
120
111
|
expect(instance_2.build_from_hash(instance_1.hash)).to eq(instance_1.build_from_hash(instance_1.hash))
|
@@ -123,41 +114,35 @@ describe Freeclimb::Webhook do
|
|
123
114
|
|
124
115
|
describe 'test method "_deserialize"' do
|
125
116
|
instance = Freeclimb::Webhook.new(
|
126
|
-
|
127
|
-
|
117
|
+
request_type: "TS"
|
128
118
|
)
|
129
|
-
it
|
119
|
+
it "deserializes the data of request_type" do
|
130
120
|
expect(instance._deserialize("String", instance.request_type)).to be_a_kind_of(String)
|
131
121
|
end
|
132
122
|
end
|
133
123
|
|
134
124
|
describe 'test method "to_s"' do
|
135
|
-
it
|
125
|
+
it "returns the string representation of the object" do
|
136
126
|
instance = Freeclimb::Webhook.new(
|
137
|
-
request_type: "TS"
|
138
|
-
|
127
|
+
request_type: "TS"
|
139
128
|
)
|
140
129
|
expect(instance.to_s).to eq(instance.to_hash.to_s)
|
141
130
|
end
|
142
131
|
end
|
143
132
|
|
144
133
|
describe 'test method "to_hash"' do
|
145
|
-
it
|
134
|
+
it "returns the object in the form of hash" do
|
146
135
|
instance = Freeclimb::Webhook.new(
|
147
|
-
request_type: "TS"
|
148
|
-
|
136
|
+
request_type: "TS"
|
149
137
|
)
|
150
138
|
expect(instance.to_hash).to be_a_kind_of(Hash)
|
151
139
|
end
|
152
|
-
it
|
153
|
-
obj = Object.new()
|
140
|
+
it "creates equal hash for two equal objects" do
|
154
141
|
instance_1 = Freeclimb::Webhook.new(
|
155
|
-
request_type: "TS"
|
156
|
-
|
142
|
+
request_type: "TS"
|
157
143
|
)
|
158
144
|
instance_2 = Freeclimb::Webhook.new(
|
159
|
-
request_type: "TS"
|
160
|
-
|
145
|
+
request_type: "TS"
|
161
146
|
)
|
162
147
|
expect(instance_1.to_hash).to eq(instance_2.to_hash)
|
163
148
|
end
|
@@ -165,12 +150,10 @@ describe Freeclimb::Webhook do
|
|
165
150
|
|
166
151
|
describe 'test method "_to_hash"' do
|
167
152
|
instance = Freeclimb::Webhook.new(
|
168
|
-
|
169
|
-
|
170
|
-
|
171
|
-
it 'returns request_type in the form of hash' do
|
153
|
+
request_type: "TS"
|
154
|
+
)
|
155
|
+
it "returns request_type in the form of hash" do
|
172
156
|
expect(instance._to_hash(instance.request_type)).to eq(instance.request_type)
|
173
157
|
end
|
174
158
|
end
|
175
|
-
|
176
159
|
end
|
data/spec/quickstart_spec.rb
CHANGED
@@ -1,11 +1,11 @@
|
|
1
|
-
require
|
1
|
+
require "json"
|
2
2
|
|
3
3
|
describe "quickstart" do
|
4
4
|
it "generates percl to say the text 'Hello, World!'" do
|
5
|
-
say = Freeclimb::Say.new(text:
|
6
|
-
get_speech = Freeclimb::GetSpeech.new(action_url:
|
5
|
+
say = Freeclimb::Say.new(text: "Hello, World!")
|
6
|
+
get_speech = Freeclimb::GetSpeech.new(action_url: "https://example.com/update")
|
7
7
|
script = Freeclimb::PerclScript.new(commands: [say, get_speech])
|
8
|
-
json = script.to_json
|
8
|
+
json = script.to_json
|
9
9
|
expect(json).to eq("[{\"Say\":{\"text\":\"Hello, World!\",\"loop\":1}},{\"GetSpeech\":{\"actionUrl\":\"https://example.com/update\"}}]")
|
10
10
|
end
|
11
|
-
end
|
11
|
+
end
|
data/spec/spec_helper.rb
CHANGED
@@ -1,20 +1,18 @@
|
|
1
|
-
|
2
|
-
#
|
3
|
-
|
4
|
-
#
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
=end
|
1
|
+
# #FreeClimb API
|
2
|
+
#
|
3
|
+
# FreeClimb is a cloud-based application programming interface (API) that puts the power of the Vail platform in your hands. FreeClimb simplifies the process of creating applications that can use a full range of telephony features without requiring specialized or on-site telephony equipment. Using the FreeClimb REST API to write applications is easy! You have the option to use the language of your choice or hit the API directly. Your application can execute a command by issuing a RESTful request to the FreeClimb API. The base URL to send HTTP requests to the FreeClimb REST API is: /apiserver. FreeClimb authenticates and processes your request.
|
4
|
+
#
|
5
|
+
# The version of the OpenAPI document: 1.0.0
|
6
|
+
# Contact: support@freeclimb.com
|
7
|
+
# Generated by: https://openapi-generator.tech
|
8
|
+
# OpenAPI Generator version: 7.9.0
|
9
|
+
#
|
12
10
|
|
13
11
|
# load the gem
|
14
|
-
require
|
15
|
-
require
|
16
|
-
require
|
17
|
-
require
|
12
|
+
require "freeclimb"
|
13
|
+
require "webmock/rspec"
|
14
|
+
require "factory_bot"
|
15
|
+
require "facets/string/camelcase"
|
18
16
|
|
19
17
|
include WebMock::API
|
20
18
|
|
@@ -60,59 +58,57 @@ RSpec.configure do |config|
|
|
60
58
|
mocks.verify_partial_doubles = true
|
61
59
|
end
|
62
60
|
|
63
|
-
# The settings below are suggested to provide a good initial experience
|
64
|
-
# with RSpec, but feel free to customize to your heart's content.
|
65
|
-
|
66
|
-
#
|
67
|
-
#
|
68
|
-
#
|
69
|
-
#
|
70
|
-
config.
|
71
|
-
|
72
|
-
|
73
|
-
#
|
74
|
-
#
|
75
|
-
#
|
76
|
-
|
77
|
-
|
78
|
-
#
|
79
|
-
#
|
80
|
-
# - http://
|
81
|
-
# - http://
|
82
|
-
#
|
83
|
-
|
84
|
-
|
85
|
-
#
|
86
|
-
#
|
87
|
-
|
88
|
-
|
89
|
-
#
|
90
|
-
#
|
91
|
-
#
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
#
|
100
|
-
#
|
101
|
-
#
|
102
|
-
|
103
|
-
|
104
|
-
#
|
105
|
-
#
|
106
|
-
#
|
107
|
-
#
|
108
|
-
|
109
|
-
|
110
|
-
#
|
111
|
-
#
|
112
|
-
#
|
113
|
-
#
|
114
|
-
Kernel.srand config.seed
|
115
|
-
=end
|
61
|
+
# The settings below are suggested to provide a good initial experience
|
62
|
+
# with RSpec, but feel free to customize to your heart's content.
|
63
|
+
# # These two settings work together to allow you to limit a spec run
|
64
|
+
# # to individual examples or groups you care about by tagging them with
|
65
|
+
# # `:focus` metadata. When nothing is tagged with `:focus`, all examples
|
66
|
+
# # get run.
|
67
|
+
# config.filter_run :focus
|
68
|
+
# config.run_all_when_everything_filtered = true
|
69
|
+
#
|
70
|
+
# # Allows RSpec to persist some state between runs in order to support
|
71
|
+
# # the `--only-failures` and `--next-failure` CLI options. We recommend
|
72
|
+
# # you configure your source control system to ignore this file.
|
73
|
+
# config.example_status_persistence_file_path = "spec/examples.txt"
|
74
|
+
#
|
75
|
+
# # Limits the available syntax to the non-monkey patched syntax that is
|
76
|
+
# # recommended. For more details, see:
|
77
|
+
# # - http://rspec.info/blog/2012/06/rspecs-new-expectation-syntax/
|
78
|
+
# # - http://www.teaisaweso.me/blog/2013/05/27/rspecs-new-message-expectation-syntax/
|
79
|
+
# # - http://rspec.info/blog/2014/05/notable-changes-in-rspec-3/#zero-monkey-patching-mode
|
80
|
+
# config.disable_monkey_patching!
|
81
|
+
#
|
82
|
+
# # This setting enables warnings. It's recommended, but in some cases may
|
83
|
+
# # be too noisy due to issues in dependencies.
|
84
|
+
# config.warnings = true
|
85
|
+
#
|
86
|
+
# # Many RSpec users commonly either run the entire suite or an individual
|
87
|
+
# # file, and it's useful to allow more verbose output when running an
|
88
|
+
# # individual spec file.
|
89
|
+
# if config.files_to_run.one?
|
90
|
+
# # Use the documentation formatter for detailed output,
|
91
|
+
# # unless a formatter has already been configured
|
92
|
+
# # (e.g. via a command-line flag).
|
93
|
+
# config.default_formatter = 'doc'
|
94
|
+
# end
|
95
|
+
#
|
96
|
+
# # Print the 10 slowest examples and example groups at the
|
97
|
+
# # end of the spec run, to help surface which specs are running
|
98
|
+
# # particularly slow.
|
99
|
+
# config.profile_examples = 10
|
100
|
+
#
|
101
|
+
# # Run specs in random order to surface order dependencies. If you find an
|
102
|
+
# # order dependency and want to debug it, you can fix the order by providing
|
103
|
+
# # the seed, which is printed after each run.
|
104
|
+
# # --seed 1234
|
105
|
+
# config.order = :random
|
106
|
+
#
|
107
|
+
# # Seed global randomization in this process using the `--seed` CLI option.
|
108
|
+
# # Setting this allows you to use `--seed` to deterministically reproduce
|
109
|
+
# # test failures related to randomization by passing the same `--seed` value
|
110
|
+
# # as the one that triggered the failure.
|
111
|
+
# Kernel.srand config.seed
|
116
112
|
|
117
113
|
config.include FactoryBot::Syntax::Methods
|
118
114
|
|
@@ -123,48 +119,44 @@ end
|
|
123
119
|
|
124
120
|
Freeclimb.configure do |config|
|
125
121
|
# Configure HTTP basic authorization: fc
|
126
|
-
config.username =
|
127
|
-
config.password =
|
122
|
+
config.username = "TEST_ACCOUNT_ID"
|
123
|
+
config.password = "TEST_API_KEY"
|
128
124
|
end
|
129
125
|
|
130
126
|
# Prevents external http requests
|
131
|
-
WebMock.disable_net_connect!(:
|
132
|
-
|
127
|
+
WebMock.disable_net_connect!(allow_localhost: true)
|
133
128
|
|
134
129
|
def build_value(sym)
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
'TEST_' + sym.to_s.upcase
|
146
|
-
end
|
130
|
+
if sym.to_s == "direction"
|
131
|
+
"inbound"
|
132
|
+
else
|
133
|
+
build(sym)
|
134
|
+
end
|
135
|
+
rescue => error
|
136
|
+
if error.message.include? "invalid value"
|
137
|
+
raise error
|
138
|
+
else
|
139
|
+
"TEST_" + sym.to_s.upcase
|
147
140
|
end
|
148
141
|
end
|
149
142
|
|
150
143
|
def build_query_parameters(params)
|
151
|
-
params.to_hash.
|
152
|
-
if
|
153
|
-
|
154
|
-
elsif
|
155
|
-
|
156
|
-
elsif
|
157
|
-
|
158
|
-
elsif
|
159
|
-
|
160
|
-
elsif
|
161
|
-
|
162
|
-
elsif
|
163
|
-
|
144
|
+
params.to_hash.each_with_object({}) do |(key, val), acc|
|
145
|
+
next_key = if key.to_s == "_alias"
|
146
|
+
"alias"
|
147
|
+
elsif key.to_s == "capabilities_ten_dlc"
|
148
|
+
"capabilities.tenDLC"
|
149
|
+
elsif key.to_s == "capabilities_short_code"
|
150
|
+
"capabilities.shortCode"
|
151
|
+
elsif key.to_s == "capabilities_voice"
|
152
|
+
"capabilities.voice"
|
153
|
+
elsif key.to_s == "capabilities_sms"
|
154
|
+
"capabilities.sms"
|
155
|
+
elsif key.to_s == "capabilities_toll_free"
|
156
|
+
"capabilities.tollFree"
|
164
157
|
else
|
165
|
-
|
158
|
+
key.to_s.camelcase
|
166
159
|
end
|
167
160
|
acc[next_key] = val
|
168
|
-
acc
|
169
161
|
end
|
170
|
-
end
|
162
|
+
end
|