freeclimb 5.1.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 +9 -0
- data/Gemfile +4 -5
- data/Gemfile.lock +18 -5
- data/README.md +4 -4
- data/Rakefile +1 -1
- data/docs/CreateConferenceRequest.md +1 -1
- data/docs/DefaultApi.md +1 -1
- 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 +27 -29
- 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 +28 -33
- 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 +135 -139
- 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 +28 -33
- 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 +28 -33
- data/lib/freeclimb/models/terminate_conference.rb +28 -33
- data/lib/freeclimb/models/tfn.rb +31 -35
- data/lib/freeclimb/models/tfn_campaign.rb +76 -79
- 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 +28 -33
- 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 -158
- data/openapi.json +3 -0
- data/package.json +1 -1
- data/spec/api/default_api_spec.rb +492 -676
- data/spec/api_client_spec.rb +100 -102
- data/spec/configuration_spec.rb +16 -18
- data/spec/models/account_request_spec.rb +104 -233
- data/spec/models/account_result_spec.rb +393 -1013
- data/spec/models/account_status_spec.rb +27 -30
- data/spec/models/account_type_spec.rb +24 -27
- data/spec/models/add_to_conference_notification_webhook_spec.rb +464 -1197
- data/spec/models/add_to_conference_spec.rb +354 -850
- data/spec/models/add_to_queue_notification_webhook_spec.rb +341 -864
- data/spec/models/answered_by_spec.rb +24 -27
- data/spec/models/application_list_spec.rb +289 -646
- data/spec/models/application_request_spec.rb +265 -679
- data/spec/models/application_result_spec.rb +444 -1184
- data/spec/models/available_number_list_spec.rb +289 -646
- data/spec/models/available_number_spec.rb +271 -650
- data/spec/models/barge_in_reason_spec.rb +27 -30
- data/spec/models/buy_incoming_number_request_spec.rb +136 -322
- data/spec/models/call_control_webhook_spec.rb +203 -503
- data/spec/models/call_direction_spec.rb +27 -30
- data/spec/models/call_ended_reason_spec.rb +107 -110
- data/spec/models/call_list_spec.rb +289 -646
- data/spec/models/call_result_spec.rb +679 -1778
- data/spec/models/call_status_spec.rb +47 -50
- data/spec/models/call_status_webhook_spec.rb +413 -990
- data/spec/models/capabilities_spec.rb +202 -411
- data/spec/models/completion_request_spec.rb +75 -143
- data/spec/models/completion_result_spec.rb +104 -231
- data/spec/models/completion_result_status_spec.rb +24 -27
- data/spec/models/conference_list_spec.rb +289 -646
- data/spec/models/conference_participant_list_spec.rb +289 -646
- data/spec/models/conference_participant_result_spec.rb +384 -938
- data/spec/models/conference_recording_status_webhook_spec.rb +464 -1197
- data/spec/models/conference_result_spec.rb +489 -1263
- data/spec/models/conference_status_spec.rb +31 -34
- data/spec/models/conference_status_webhook_spec.rb +464 -1197
- data/spec/models/create_conference_request_spec.rb +204 -485
- data/spec/models/create_conference_spec.rb +237 -557
- data/spec/models/create_conference_webhook_spec.rb +464 -1197
- data/spec/models/create_web_rtc_token_spec.rb +136 -307
- data/spec/models/dequeue_spec.rb +14 -17
- data/spec/models/dequeue_webhook_spec.rb +400 -1021
- data/spec/models/enqueue_spec.rb +169 -412
- data/spec/models/filter_logs_request_spec.rb +73 -145
- data/spec/models/get_digits_reason_spec.rb +31 -34
- data/spec/models/get_digits_spec.rb +326 -737
- data/spec/models/get_digits_webhook_spec.rb +435 -1127
- data/spec/models/get_speech_reason_spec.rb +39 -42
- data/spec/models/get_speech_spec.rb +399 -1036
- data/spec/models/get_speech_webhook_spec.rb +608 -1553
- data/spec/models/grammar_file_built_in_spec.rb +75 -78
- data/spec/models/grammar_type_spec.rb +24 -27
- data/spec/models/hangup_spec.rb +73 -145
- data/spec/models/if_machine_spec.rb +24 -27
- data/spec/models/inbound_call_webhook_spec.rb +371 -951
- data/spec/models/incoming_number_list_spec.rb +289 -646
- data/spec/models/incoming_number_request_spec.rb +136 -322
- data/spec/models/incoming_number_result_spec.rb +573 -1489
- data/spec/models/language_spec.rb +120 -123
- data/spec/models/leave_conference_webhook_spec.rb +341 -864
- data/spec/models/log_level_spec.rb +27 -30
- data/spec/models/log_list_spec.rb +289 -646
- data/spec/models/log_result_spec.rb +272 -667
- data/spec/models/machine_detected_webhook_spec.rb +401 -1036
- data/spec/models/machine_type_spec.rb +24 -27
- data/spec/models/make_call_request_spec.rb +353 -905
- data/spec/models/message_delivery_webhook_spec.rb +357 -942
- data/spec/models/message_direction_spec.rb +24 -27
- data/spec/models/message_request_spec.rb +324 -818
- data/spec/models/message_result_spec.rb +647 -1710
- data/spec/models/message_status_spec.rb +60 -63
- data/spec/models/message_status_webhook_spec.rb +405 -1045
- data/spec/models/messages_list_spec.rb +289 -646
- data/spec/models/mutable_resource_model_spec.rb +168 -395
- data/spec/models/out_dial_api_connect_webhook_spec.rb +371 -951
- data/spec/models/out_dial_connect_webhook_spec.rb +371 -951
- data/spec/models/out_dial_spec.rb +354 -903
- data/spec/models/out_dial_start_webhook_spec.rb +401 -1038
- data/spec/models/pagination_model_spec.rb +259 -577
- data/spec/models/park_spec.rb +136 -322
- data/spec/models/pause_spec.rb +72 -128
- data/spec/models/percl_command_spec.rb +76 -145
- data/spec/models/percl_script_spec.rb +73 -127
- data/spec/models/play_beep_spec.rb +31 -34
- data/spec/models/play_early_media_spec.rb +73 -145
- data/spec/models/play_spec.rb +135 -287
- data/spec/models/queue_list_spec.rb +289 -646
- data/spec/models/queue_member_list_spec.rb +289 -646
- data/spec/models/queue_member_spec.rb +199 -467
- data/spec/models/queue_request_spec.rb +103 -216
- data/spec/models/queue_result_spec.rb +388 -965
- data/spec/models/queue_result_status_spec.rb +31 -34
- data/spec/models/queue_wait_webhook_spec.rb +429 -1091
- data/spec/models/record_utterance_spec.rb +263 -591
- data/spec/models/record_utterance_term_reason_spec.rb +31 -34
- data/spec/models/record_webhook_spec.rb +605 -1548
- data/spec/models/recording_list_spec.rb +289 -646
- data/spec/models/recording_result_spec.rb +323 -819
- data/spec/models/redirect_spec.rb +73 -145
- data/spec/models/redirect_webhook_spec.rb +371 -951
- data/spec/models/reject_spec.rb +73 -145
- data/spec/models/remove_from_conference_spec.rb +14 -17
- data/spec/models/remove_from_queue_notification_webhook_spec.rb +404 -1023
- data/spec/models/request_type_spec.rb +107 -110
- data/spec/models/say_spec.rb +168 -377
- data/spec/models/send_digits_spec.rb +135 -287
- data/spec/models/set_dtmf_pass_through_spec.rb +74 -127
- data/spec/models/set_listen_spec.rb +74 -127
- data/spec/models/set_talk_spec.rb +74 -127
- data/spec/models/sms_spec.rb +169 -412
- data/spec/models/sms_ten_dlc_brand_alt_business_id_type_spec.rb +31 -34
- data/spec/models/sms_ten_dlc_brand_entity_type_spec.rb +35 -38
- data/spec/models/sms_ten_dlc_brand_identity_status_spec.rb +31 -34
- data/spec/models/sms_ten_dlc_brand_relationship_spec.rb +35 -38
- data/spec/models/sms_ten_dlc_brand_spec.rb +1082 -2746
- data/spec/models/sms_ten_dlc_brand_stock_exchange_spec.rb +124 -127
- data/spec/models/sms_ten_dlc_brands_list_result_spec.rb +289 -646
- data/spec/models/sms_ten_dlc_campaign_spec.rb +1139 -2881
- data/spec/models/sms_ten_dlc_campaign_status_spec.rb +24 -27
- data/spec/models/sms_ten_dlc_campaigns_list_result_spec.rb +289 -646
- data/spec/models/sms_ten_dlc_partner_campaign_brand_spec.rb +406 -1004
- data/spec/models/sms_ten_dlc_partner_campaign_spec.rb +961 -2393
- data/spec/models/sms_ten_dlc_partner_campaign_status_spec.rb +24 -27
- data/spec/models/sms_ten_dlc_partner_campaigns_list_result_spec.rb +289 -646
- data/spec/models/sms_toll_free_campaign_registration_status_spec.rb +35 -38
- data/spec/models/sms_toll_free_campaign_spec.rb +270 -666
- data/spec/models/sms_toll_free_campaigns_list_result_spec.rb +289 -646
- data/spec/models/start_record_call_spec.rb +14 -17
- data/spec/models/terminate_conference_spec.rb +14 -17
- data/spec/models/tfn_campaign_spec.rb +330 -858
- data/spec/models/tfn_spec.rb +73 -145
- data/spec/models/transcribe_reason_spec.rb +35 -38
- data/spec/models/transcribe_term_reason_spec.rb +24 -27
- data/spec/models/transcribe_utterance_record_spec.rb +134 -270
- data/spec/models/transcribe_utterance_spec.rb +236 -523
- data/spec/models/transcribe_webhook_spec.rb +749 -1918
- data/spec/models/unpark_spec.rb +14 -17
- data/spec/models/update_call_request_spec.rb +74 -143
- data/spec/models/update_call_request_status_spec.rb +24 -27
- data/spec/models/update_conference_participant_request_spec.rb +137 -268
- data/spec/models/update_conference_request_spec.rb +140 -321
- data/spec/models/update_conference_request_status_spec.rb +24 -27
- data/spec/models/webhook_spec.rb +68 -137
- 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 +3 -151
data/spec/models/webhook_spec.rb
CHANGED
@@ -1,18 +1,16 @@
|
|
1
|
-
|
2
|
-
#
|
3
|
-
|
4
|
-
#
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
require
|
14
|
-
require 'json'
|
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"
|
16
14
|
include Freeclimb
|
17
15
|
|
18
16
|
# Unit tests for Freeclimb::Webhook
|
@@ -21,134 +19,93 @@ include Freeclimb
|
|
21
19
|
describe Freeclimb::Webhook do
|
22
20
|
let(:instance) { Freeclimb::Webhook.new }
|
23
21
|
|
24
|
-
describe
|
25
|
-
it
|
22
|
+
describe "test an instance of Webhook" do
|
23
|
+
it "should create an instance of Webhook" do
|
26
24
|
expect(instance).to be_instance_of(Freeclimb::Webhook)
|
27
25
|
end
|
28
26
|
end
|
29
|
-
|
30
27
|
|
31
28
|
describe 'test method "initialize"' do
|
32
|
-
it
|
33
|
-
expect {
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
)}.not_to raise_error()
|
29
|
+
it "properly initializes with values" do
|
30
|
+
expect {
|
31
|
+
Freeclimb::Webhook.new(
|
32
|
+
request_type: "TS"
|
33
|
+
)
|
34
|
+
}.not_to raise_error
|
40
35
|
end
|
41
|
-
it
|
42
|
-
expect {
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
)}.to raise_error(ArgumentError)
|
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)
|
50
44
|
end
|
51
|
-
it
|
52
|
-
expect {
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
)}.to raise_error(ArgumentError)
|
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)
|
60
53
|
end
|
61
54
|
end
|
62
|
-
|
55
|
+
|
63
56
|
describe 'test method "valid"' do
|
64
|
-
it
|
57
|
+
it "checks if properties are valid" do
|
65
58
|
instance = Freeclimb::Webhook.new(
|
66
|
-
|
67
|
-
request_type: "TS",
|
68
|
-
|
69
|
-
|
70
|
-
|
59
|
+
request_type: "TS"
|
71
60
|
)
|
72
61
|
expect(instance.valid?).to eq(true)
|
73
62
|
end
|
74
63
|
|
64
|
+
skip "checks if properties are invalid" do
|
65
|
+
instance = Freeclimb::Webhook.new
|
75
66
|
|
76
|
-
skip 'checks if properties are invalid' do
|
77
|
-
instance = Freeclimb::Webhook.new(
|
78
|
-
|
79
|
-
)
|
80
67
|
expect(instance.valid?).to eq(false)
|
81
68
|
end
|
82
|
-
|
83
69
|
end
|
84
70
|
|
85
71
|
describe 'test method "eql?"' do
|
86
|
-
it
|
87
|
-
|
72
|
+
it "checks if objects are equal" do
|
88
73
|
instance_1 = Freeclimb::Webhook.new(
|
89
|
-
|
90
|
-
request_type: "TS",
|
91
|
-
|
92
|
-
|
93
|
-
|
74
|
+
request_type: "TS"
|
94
75
|
)
|
95
76
|
instance_2 = Freeclimb::Webhook.new(
|
96
|
-
|
97
|
-
request_type: "TS",
|
98
|
-
|
99
|
-
|
100
|
-
|
77
|
+
request_type: "TS"
|
101
78
|
)
|
102
79
|
expect(instance_1.eql?(instance_2)).to eq(true)
|
103
80
|
end
|
104
|
-
|
105
|
-
it
|
81
|
+
|
82
|
+
it "checks if objects are not equal" do
|
106
83
|
instance_1 = Freeclimb::Webhook.new(
|
107
|
-
|
108
|
-
request_type: "TS",
|
109
|
-
|
110
|
-
|
111
|
-
|
84
|
+
request_type: "TS"
|
112
85
|
)
|
113
86
|
instance_2 = Freeclimb::Webhook.new(
|
114
|
-
|
115
|
-
request_type: "ST",
|
116
|
-
|
117
|
-
|
118
|
-
|
87
|
+
request_type: "ST"
|
119
88
|
)
|
120
89
|
expect(instance_1.eql?(instance_2)).to eq(false)
|
121
90
|
end
|
122
91
|
end
|
123
|
-
|
92
|
+
|
124
93
|
describe 'test method "hash"' do
|
125
|
-
it
|
94
|
+
it "calculates hash code" do
|
126
95
|
instance = Freeclimb::Webhook.new(
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
)
|
96
|
+
request_type: "TS"
|
97
|
+
)
|
133
98
|
expect(instance.hash).to be_a_kind_of(Integer)
|
134
99
|
end
|
135
100
|
end
|
136
101
|
|
137
102
|
describe 'test method "build_from_hash"' do
|
138
|
-
it
|
103
|
+
it "builds equivalent model from hash code" do
|
139
104
|
instance_1 = Freeclimb::Webhook.new(
|
140
|
-
|
141
|
-
request_type: "TS",
|
142
|
-
|
143
|
-
|
144
|
-
|
105
|
+
request_type: "TS"
|
145
106
|
)
|
146
107
|
instance_2 = Freeclimb::Webhook.new(
|
147
|
-
|
148
|
-
request_type: "TS",
|
149
|
-
|
150
|
-
|
151
|
-
|
108
|
+
request_type: "TS"
|
152
109
|
)
|
153
110
|
|
154
111
|
expect(instance_2.build_from_hash(instance_1.hash)).to eq(instance_1.build_from_hash(instance_1.hash))
|
@@ -157,58 +114,35 @@ describe Freeclimb::Webhook do
|
|
157
114
|
|
158
115
|
describe 'test method "_deserialize"' do
|
159
116
|
instance = Freeclimb::Webhook.new(
|
160
|
-
|
161
|
-
request_type: "TS",
|
162
|
-
|
163
|
-
|
164
|
-
|
117
|
+
request_type: "TS"
|
165
118
|
)
|
166
|
-
it
|
119
|
+
it "deserializes the data of request_type" do
|
167
120
|
expect(instance._deserialize("String", instance.request_type)).to be_a_kind_of(String)
|
168
121
|
end
|
169
|
-
|
170
|
-
|
171
122
|
end
|
172
123
|
|
173
124
|
describe 'test method "to_s"' do
|
174
|
-
it
|
125
|
+
it "returns the string representation of the object" do
|
175
126
|
instance = Freeclimb::Webhook.new(
|
176
|
-
|
177
|
-
request_type: "TS",
|
178
|
-
|
179
|
-
|
180
|
-
|
127
|
+
request_type: "TS"
|
181
128
|
)
|
182
129
|
expect(instance.to_s).to eq(instance.to_hash.to_s)
|
183
130
|
end
|
184
131
|
end
|
185
132
|
|
186
133
|
describe 'test method "to_hash"' do
|
187
|
-
it
|
134
|
+
it "returns the object in the form of hash" do
|
188
135
|
instance = Freeclimb::Webhook.new(
|
189
|
-
|
190
|
-
request_type: "TS",
|
191
|
-
|
192
|
-
|
193
|
-
|
136
|
+
request_type: "TS"
|
194
137
|
)
|
195
138
|
expect(instance.to_hash).to be_a_kind_of(Hash)
|
196
139
|
end
|
197
|
-
it
|
198
|
-
|
140
|
+
it "creates equal hash for two equal objects" do
|
199
141
|
instance_1 = Freeclimb::Webhook.new(
|
200
|
-
|
201
|
-
request_type: "TS",
|
202
|
-
|
203
|
-
|
204
|
-
|
142
|
+
request_type: "TS"
|
205
143
|
)
|
206
144
|
instance_2 = Freeclimb::Webhook.new(
|
207
|
-
|
208
|
-
request_type: "TS",
|
209
|
-
|
210
|
-
|
211
|
-
|
145
|
+
request_type: "TS"
|
212
146
|
)
|
213
147
|
expect(instance_1.to_hash).to eq(instance_2.to_hash)
|
214
148
|
end
|
@@ -216,13 +150,10 @@ describe Freeclimb::Webhook do
|
|
216
150
|
|
217
151
|
describe 'test method "_to_hash"' do
|
218
152
|
instance = Freeclimb::Webhook.new(
|
219
|
-
|
220
|
-
|
221
|
-
|
222
|
-
)
|
223
|
-
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
|
224
156
|
expect(instance._to_hash(instance.request_type)).to eq(instance.request_type)
|
225
157
|
end
|
226
158
|
end
|
227
|
-
|
228
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
|