telnyx 2.9.0 → 3.0.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.github/scripts/before_install.sh +10 -9
- data/.github/workflows/publish-gem-on-release.yml +6 -6
- data/.github/workflows/ruby.yml +4 -4
- data/.rubocop.yml +1 -1
- data/Gemfile +7 -8
- data/README.md +30 -9
- data/Spec3.json +77839 -0
- data/VERSION +1 -1
- data/lib/telnyx/access_control_ip.rb +13 -0
- data/lib/telnyx/access_ip_range.rb +12 -0
- data/lib/telnyx/address.rb +9 -0
- data/lib/telnyx/api_operations/delete.rb +1 -1
- data/lib/telnyx/api_resource.rb +4 -1
- data/lib/telnyx/authentication_providers.rb +12 -0
- data/lib/telnyx/available_phone_number.rb +5 -0
- data/lib/telnyx/balance.rb +12 -0
- data/lib/telnyx/batch_mdr_report.rb +15 -0
- data/lib/telnyx/brand.rb +20 -0
- data/lib/telnyx/bulk_creation.rb +21 -0
- data/lib/telnyx/bulk_credential.rb +16 -0
- data/lib/telnyx/bulk_phone_number_campaign.rb +23 -0
- data/lib/telnyx/bulk_sim_card_action.rb +9 -0
- data/lib/telnyx/business_identitie.rb +9 -0
- data/lib/telnyx/call.rb +2 -2
- data/lib/telnyx/call_event.rb +9 -0
- data/lib/telnyx/call_recording.rb +12 -0
- data/lib/telnyx/campaign.rb +42 -0
- data/lib/telnyx/cdr_usage_report.rb +13 -0
- data/lib/telnyx/channel_zone.rb +10 -0
- data/lib/telnyx/comment.rb +20 -0
- data/lib/telnyx/conference.rb +1 -1
- data/lib/telnyx/connection.rb +5 -0
- data/lib/telnyx/csv_download.rb +10 -0
- data/lib/telnyx/custom_storage_credential.rb +7 -0
- data/lib/telnyx/detail_record.rb +9 -0
- data/lib/telnyx/dialogflow_connection.rb +20 -0
- data/lib/telnyx/document.rb +20 -0
- data/lib/telnyx/dynamic_emergency_address.rb +12 -0
- data/lib/telnyx/dynamic_emergency_endpoint.rb +12 -0
- data/lib/telnyx/embedding.rb +14 -0
- data/lib/telnyx/enum.rb +22 -0
- data/lib/telnyx/fax.rb +14 -0
- data/lib/telnyx/global_ip.rb +10 -0
- data/lib/telnyx/global_ip_allowed_port.rb +8 -0
- data/lib/telnyx/global_ip_assignment.rb +12 -0
- data/lib/telnyx/global_ip_assignment_health.rb +8 -0
- data/lib/telnyx/global_ip_assignment_usage.rb +8 -0
- data/lib/telnyx/global_ip_latency.rb +8 -0
- data/lib/telnyx/global_ip_protocol.rb +8 -0
- data/lib/telnyx/global_ip_usage.rb +8 -0
- data/lib/telnyx/inference.rb +9 -0
- data/lib/telnyx/inventory_coverage.rb +9 -0
- data/lib/telnyx/ledger_billing_group_report.rb +9 -0
- data/lib/telnyx/managed_account.rb +32 -0
- data/lib/telnyx/mdr_usage_report.rb +21 -0
- data/lib/telnyx/media.rb +21 -0
- data/lib/telnyx/message_number_pool.rb +9 -0
- data/lib/telnyx/messaging_hosted_number_order.rb +21 -0
- data/lib/telnyx/messaging_profile.rb +14 -2
- data/lib/telnyx/messaging_tollfree_verification.rb +12 -0
- data/lib/telnyx/messaging_url_domain.rb +9 -0
- data/lib/telnyx/mobile_operator_network.rb +9 -0
- data/lib/telnyx/mobile_push_credential.rb +11 -0
- data/lib/telnyx/network.rb +19 -0
- data/lib/telnyx/notification_channel.rb +12 -0
- data/lib/telnyx/notification_event.rb +9 -0
- data/lib/telnyx/notification_event_condition.rb +9 -0
- data/lib/telnyx/notification_profile.rb +12 -0
- data/lib/telnyx/notification_setting.rb +12 -0
- data/lib/telnyx/number_block_order.rb +10 -0
- data/lib/telnyx/ota_update.rb +9 -0
- data/lib/telnyx/partner_campaign.rb +32 -0
- data/lib/telnyx/phone_number.rb +6 -0
- data/lib/telnyx/phone_number_block_job.rb +14 -0
- data/lib/telnyx/phone_number_campaigns.rb +19 -0
- data/lib/telnyx/portability_check.rb +9 -0
- data/lib/telnyx/porting_order.rb +39 -1
- data/lib/telnyx/portout.rb +9 -0
- data/lib/telnyx/private_wireless_gateway.rb +11 -0
- data/lib/telnyx/public_internet_gateway.rb +11 -0
- data/lib/telnyx/region.rb +9 -0
- data/lib/telnyx/requirement.rb +8 -0
- data/lib/telnyx/requirement_type.rb +8 -0
- data/lib/telnyx/room.rb +20 -0
- data/lib/telnyx/room_composition.rb +11 -0
- data/lib/telnyx/room_participant.rb +9 -0
- data/lib/telnyx/room_recording.rb +10 -0
- data/lib/telnyx/room_session.rb +18 -0
- data/lib/telnyx/short_code.rb +10 -0
- data/lib/telnyx/sim_card.rb +28 -2
- data/lib/telnyx/sim_card_action.rb +12 -0
- data/lib/telnyx/sim_card_data_usage_notification.rb +12 -0
- data/lib/telnyx/sim_card_group.rb +21 -0
- data/lib/telnyx/sim_card_group_action.rb +8 -0
- data/lib/telnyx/sim_card_order.rb +10 -0
- data/lib/telnyx/summary.rb +9 -0
- data/lib/telnyx/telephony_credential.rb +22 -0
- data/lib/telnyx/telnyx_client.rb +1 -2
- data/lib/telnyx/texml_application.rb +9 -0
- data/lib/telnyx/verification.rb +3 -3
- data/lib/telnyx/verified_calls_display_profile.rb +17 -0
- data/lib/telnyx/verify_profile.rb +1 -0
- data/lib/telnyx/version.rb +1 -1
- data/lib/telnyx/virtual_cross_connect.rb +20 -0
- data/lib/telnyx/virtual_cross_connect_region.rb +9 -0
- data/lib/telnyx/wdr.rb +13 -0
- data/lib/telnyx/webhook_deliverie.rb +9 -0
- data/lib/telnyx/wireguard_interface.rb +11 -0
- data/lib/telnyx/wireguard_peer.rb +21 -0
- data/lib/telnyx.rb +67 -3
- data/server.js +31 -0
- data/telnyx.gemspec +4 -2
- data/test/openapi/README.md +31 -4
- data/test/telnyx/api_resource_test.rb +28 -22
- data/test/telnyx/available_phone_number_test.rb +6 -0
- data/test/telnyx/batch_mdr_report_test.rb +39 -0
- data/test/telnyx/billing_group_test.rb +12 -8
- data/test/telnyx/bulk_credential_test.rb +20 -0
- data/test/telnyx/bulk_sim_card_action_test.rb +22 -0
- data/test/telnyx/business_identitie_test.rb +25 -0
- data/test/telnyx/call_control_application_test.rb +13 -9
- data/test/telnyx/call_control_test.rb +24 -23
- data/test/telnyx/call_event_test.rb +14 -0
- data/test/telnyx/call_recording_test.rb +28 -0
- data/test/telnyx/call_test.rb +29 -0
- data/test/telnyx/campaign_test.rb +32 -0
- data/test/telnyx/cdr_usage_report_test.rb +15 -0
- data/test/telnyx/channel_zone_test.rb +14 -0
- data/test/telnyx/comment_test.rb +32 -0
- data/test/telnyx/conference_test.rb +27 -16
- data/test/telnyx/connection_test.rb +8 -1
- data/test/telnyx/credential_connection_test.rb +5 -4
- data/test/telnyx/csv_download_test.rb +33 -0
- data/test/telnyx/custom_storage_credential_test.rb +17 -0
- data/test/telnyx/detail_record_test.rb +15 -0
- data/test/telnyx/dialogflow_connection_test.rb +32 -0
- data/test/telnyx/embedding_test.rb +27 -0
- data/test/telnyx/enum_test.rb +15 -0
- data/test/telnyx/fax_application_test.rb +5 -4
- data/test/telnyx/fax_test.rb +13 -4
- data/test/telnyx/fqdn_connection_test.rb +5 -5
- data/test/telnyx/fqdn_test.rb +12 -7
- data/test/telnyx/global_ip_allowed_port_test.rb +14 -0
- data/test/telnyx/global_ip_assignment_health_test.rb +14 -0
- data/test/telnyx/global_ip_assignment_test.rb +44 -0
- data/test/telnyx/global_ip_latency_test.rb +14 -0
- data/test/telnyx/global_ip_protocol_test.rb +14 -0
- data/test/telnyx/global_ip_test.rb +35 -0
- data/test/telnyx/global_ip_usage_test.rb +14 -0
- data/test/telnyx/inference_test.rb +13 -0
- data/test/telnyx/ip_connection_test.rb +12 -8
- data/test/telnyx/ip_test.rb +12 -8
- data/test/telnyx/ledger_billing_group_report_test.rb +18 -0
- data/test/telnyx/managed_account_test.rb +42 -0
- data/test/telnyx/mdr_usage_report_test.rb +47 -0
- data/test/telnyx/message_number_pool_test.rb +18 -0
- data/test/telnyx/message_test.rb +2 -2
- data/test/telnyx/messaging_phone_number_test.rb +2 -1
- data/test/telnyx/messaging_profile_test.rb +27 -14
- data/test/telnyx/messaging_tollfree_verification_test.rb +71 -0
- data/test/telnyx/messaging_url_domain_test.rb +14 -0
- data/test/telnyx/mobile_operator_network_test.rb +15 -0
- data/test/telnyx/mobile_push_credential_test.rb +33 -0
- data/test/telnyx/network_test.rb +49 -0
- data/test/telnyx/number_block_order_test.rb +28 -0
- data/test/telnyx/number_order_document_test.rb +4 -3
- data/test/telnyx/number_order_test.rb +3 -2
- data/test/telnyx/number_reservation_test.rb +2 -2
- data/test/telnyx/ota_update_test.rb +20 -0
- data/test/telnyx/phone_number_block_job_test.rb +25 -0
- data/test/telnyx/phone_number_regulatory_requirement_test.rb +2 -1
- data/test/telnyx/phone_number_test.rb +8 -6
- data/test/telnyx/porting_order_test.rb +45 -10
- data/test/telnyx/private_wireless_gateway_test.rb +32 -0
- data/test/telnyx/public_internet_gateway_test.rb +32 -0
- data/test/telnyx/queue_test.rb +9 -6
- data/test/telnyx/region_test.rb +14 -0
- data/test/telnyx/regulatory_requirement_test.rb +6 -3
- data/test/telnyx/requirement_test.rb +22 -0
- data/test/telnyx/requirement_type_test.rb +22 -0
- data/test/telnyx/room_composition_test.rb +32 -0
- data/test/telnyx/room_participant_test.rb +19 -0
- data/test/telnyx/room_recording_test.rb +27 -0
- data/test/telnyx/room_session_test.rb +47 -0
- data/test/telnyx/room_test.rb +52 -0
- data/test/telnyx/short_code_test.rb +30 -0
- data/test/telnyx/sim_card_data_usage_notification_test.rb +42 -0
- data/test/telnyx/sim_card_group_action_test.rb +22 -0
- data/test/telnyx/sim_card_group_test.rb +59 -0
- data/test/telnyx/sim_card_order_test.rb +27 -0
- data/test/telnyx/sim_card_test.rb +75 -10
- data/test/telnyx/summary_test.rb +13 -0
- data/test/telnyx/telephony_credential_test.rb +35 -6
- data/test/telnyx/telnyx_client_test.rb +1 -0
- data/test/telnyx/texml_application_test.rb +25 -0
- data/test/telnyx/verification_test.rb +6 -4
- data/test/telnyx/verified_calls_display_profile_test.rb +33 -0
- data/test/telnyx/verify_profile_test.rb +16 -7
- data/test/telnyx/virtual_cross_connect_region_test.rb +22 -0
- data/test/telnyx/virtual_cross_connect_test.rb +49 -0
- data/test/telnyx/wdr_test.rb +14 -0
- data/test/telnyx/webhook_deliverie_test.rb +23 -0
- data/test/telnyx/wireguard_interface_test.rb +32 -0
- data/test/telnyx/wireguard_peer_test.rb +48 -0
- data/test/test_helper.rb +10 -26
- metadata +237 -37
- data/examples/2 factor authentication/Gemfile +0 -7
- data/examples/2 factor authentication/main.rb +0 -67
- data/examples/2 factor authentication/readme.md +0 -5
- data/test/telnyx_mock.rb +0 -78
data/test/test_helper.rb
CHANGED
@@ -14,36 +14,20 @@ require "webmock/test_unit"
|
|
14
14
|
PROJECT_ROOT = ::File.expand_path("../../", __FILE__)
|
15
15
|
|
16
16
|
require ::File.expand_path("../test_data", __FILE__)
|
17
|
-
require ::File.expand_path("../telnyx_mock", __FILE__)
|
18
17
|
|
19
|
-
#
|
20
|
-
|
21
|
-
|
18
|
+
# Set up Proxy server configuration
|
19
|
+
PROXY_PORT = 12_111 # Port where your proxy server is running
|
20
|
+
PROXY_HOST = "localhost"
|
21
|
+
PROXY_BASE_URL = "http://#{PROXY_HOST}:#{PROXY_PORT}".freeze
|
22
22
|
|
23
23
|
# Disable all real network connections except those that are outgoing to
|
24
|
-
#
|
25
|
-
WebMock.disable_net_connect!(allow: "
|
24
|
+
# the Proxy server.
|
25
|
+
WebMock.disable_net_connect!(allow: "#{PROXY_HOST}:#{PROXY_PORT}")
|
26
26
|
|
27
|
-
#
|
28
|
-
# we can print one error and fail fast so that it's more clear to the user how
|
29
|
-
# they should fix the problem.
|
30
|
-
begin
|
31
|
-
conn = Faraday::Connection.new("http://localhost:#{MOCK_PORT}")
|
32
|
-
resp = conn.get("/")
|
33
|
-
version = resp.headers["Telnyx-Mock-Version"]
|
34
|
-
if version != "master" &&
|
35
|
-
Gem::Version.new(version) < Gem::Version.new(MOCK_MINIMUM_VERSION)
|
36
|
-
abort("Your version of telnyx-mock (#{version}) is too old. The minimum " \
|
37
|
-
"version to run this test suite is #{MOCK_MINIMUM_VERSION}. Please " \
|
38
|
-
"see its repository for upgrade instructions.")
|
39
|
-
end
|
40
|
-
rescue Faraday::ConnectionFailed
|
41
|
-
abort("Couldn't reach telnyx-mock at `localhost:#{MOCK_PORT}`. Is " \
|
42
|
-
"it running? Please see README for setup instructions.")
|
43
|
-
end
|
27
|
+
# You can remove the Telnyx mock setup as it's not needed for Prism
|
44
28
|
|
45
29
|
Test::Unit.at_exit do
|
46
|
-
|
30
|
+
# Clean up actions for Proxy if required
|
47
31
|
end
|
48
32
|
|
49
33
|
module Test
|
@@ -53,8 +37,8 @@ module Test
|
|
53
37
|
include Mocha
|
54
38
|
|
55
39
|
setup do
|
56
|
-
Telnyx.api_key = "KEYSUPERSECRET" #
|
57
|
-
Telnyx.api_base =
|
40
|
+
Telnyx.api_key = "KEYSUPERSECRET" # Set your desired API key or the one expected by the proxy/Prism
|
41
|
+
Telnyx.api_base = PROXY_BASE_URL # Use Proxy's base URL
|
58
42
|
|
59
43
|
# stub_connect
|
60
44
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: telnyx
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 3.0.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Telnyx
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2024-05-14 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: faraday
|
@@ -16,44 +16,42 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version:
|
20
|
-
- - "!="
|
21
|
-
- !ruby/object:Gem::Version
|
22
|
-
version: 0.16.0
|
23
|
-
- - "!="
|
24
|
-
- !ruby/object:Gem::Version
|
25
|
-
version: 0.16.1
|
26
|
-
- - "!="
|
27
|
-
- !ruby/object:Gem::Version
|
28
|
-
version: 0.16.2
|
29
|
-
- - "!="
|
30
|
-
- !ruby/object:Gem::Version
|
31
|
-
version: 0.17.1
|
32
|
-
- - "<"
|
33
|
-
- !ruby/object:Gem::Version
|
34
|
-
version: '2.0'
|
19
|
+
version: 2.5.0
|
35
20
|
type: :runtime
|
36
21
|
prerelease: false
|
37
22
|
version_requirements: !ruby/object:Gem::Requirement
|
38
23
|
requirements:
|
39
24
|
- - ">="
|
40
25
|
- !ruby/object:Gem::Version
|
41
|
-
version:
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
26
|
+
version: 2.5.0
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: faraday-multipart
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - "~>"
|
46
32
|
- !ruby/object:Gem::Version
|
47
|
-
version: 0.
|
48
|
-
|
33
|
+
version: 1.0.4
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - "~>"
|
49
39
|
- !ruby/object:Gem::Version
|
50
|
-
version: 0.
|
51
|
-
|
40
|
+
version: 1.0.4
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: faraday-net_http_persistent
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - "~>"
|
52
46
|
- !ruby/object:Gem::Version
|
53
|
-
version:
|
54
|
-
|
47
|
+
version: 2.1.0
|
48
|
+
type: :runtime
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - "~>"
|
55
53
|
- !ruby/object:Gem::Version
|
56
|
-
version:
|
54
|
+
version: 2.1.0
|
57
55
|
- !ruby/object:Gem::Dependency
|
58
56
|
name: net-http-persistent
|
59
57
|
requirement: !ruby/object:Gem::Requirement
|
@@ -112,17 +110,17 @@ files:
|
|
112
110
|
- LICENSE
|
113
111
|
- README.md
|
114
112
|
- Rakefile
|
113
|
+
- Spec3.json
|
115
114
|
- VERSION
|
116
115
|
- bin/telnyx-console
|
117
|
-
- examples/2 factor authentication/Gemfile
|
118
|
-
- examples/2 factor authentication/main.rb
|
119
|
-
- examples/2 factor authentication/readme.md
|
120
116
|
- examples/fax/Gemfile
|
121
117
|
- examples/fax/config.yaml
|
122
118
|
- examples/fax/fax.rb
|
123
119
|
- examples/fax/options.rb
|
124
120
|
- examples/fax/readme.md
|
125
121
|
- lib/telnyx.rb
|
122
|
+
- lib/telnyx/access_control_ip.rb
|
123
|
+
- lib/telnyx/access_ip_range.rb
|
126
124
|
- lib/telnyx/address.rb
|
127
125
|
- lib/telnyx/alphanumeric_sender_id.rb
|
128
126
|
- lib/telnyx/api_operations/create.rb
|
@@ -133,50 +131,132 @@ files:
|
|
133
131
|
- lib/telnyx/api_operations/request.rb
|
134
132
|
- lib/telnyx/api_operations/save.rb
|
135
133
|
- lib/telnyx/api_resource.rb
|
134
|
+
- lib/telnyx/authentication_providers.rb
|
136
135
|
- lib/telnyx/available_phone_number.rb
|
136
|
+
- lib/telnyx/balance.rb
|
137
|
+
- lib/telnyx/batch_mdr_report.rb
|
137
138
|
- lib/telnyx/billing_group.rb
|
139
|
+
- lib/telnyx/brand.rb
|
140
|
+
- lib/telnyx/bulk_creation.rb
|
141
|
+
- lib/telnyx/bulk_credential.rb
|
142
|
+
- lib/telnyx/bulk_phone_number_campaign.rb
|
143
|
+
- lib/telnyx/bulk_sim_card_action.rb
|
144
|
+
- lib/telnyx/business_identitie.rb
|
138
145
|
- lib/telnyx/call.rb
|
139
146
|
- lib/telnyx/call_control_application.rb
|
147
|
+
- lib/telnyx/call_event.rb
|
148
|
+
- lib/telnyx/call_recording.rb
|
149
|
+
- lib/telnyx/campaign.rb
|
150
|
+
- lib/telnyx/cdr_usage_report.rb
|
151
|
+
- lib/telnyx/channel_zone.rb
|
152
|
+
- lib/telnyx/comment.rb
|
140
153
|
- lib/telnyx/conference.rb
|
141
154
|
- lib/telnyx/connection.rb
|
142
155
|
- lib/telnyx/credential_connection.rb
|
156
|
+
- lib/telnyx/csv_download.rb
|
157
|
+
- lib/telnyx/custom_storage_credential.rb
|
158
|
+
- lib/telnyx/detail_record.rb
|
159
|
+
- lib/telnyx/dialogflow_connection.rb
|
160
|
+
- lib/telnyx/document.rb
|
161
|
+
- lib/telnyx/dynamic_emergency_address.rb
|
162
|
+
- lib/telnyx/dynamic_emergency_endpoint.rb
|
163
|
+
- lib/telnyx/embedding.rb
|
164
|
+
- lib/telnyx/enum.rb
|
143
165
|
- lib/telnyx/errors.rb
|
144
166
|
- lib/telnyx/event.rb
|
145
167
|
- lib/telnyx/fax.rb
|
146
168
|
- lib/telnyx/fax_application.rb
|
147
169
|
- lib/telnyx/fqdn.rb
|
148
170
|
- lib/telnyx/fqdn_connection.rb
|
171
|
+
- lib/telnyx/global_ip.rb
|
172
|
+
- lib/telnyx/global_ip_allowed_port.rb
|
173
|
+
- lib/telnyx/global_ip_assignment.rb
|
174
|
+
- lib/telnyx/global_ip_assignment_health.rb
|
175
|
+
- lib/telnyx/global_ip_assignment_usage.rb
|
176
|
+
- lib/telnyx/global_ip_latency.rb
|
177
|
+
- lib/telnyx/global_ip_protocol.rb
|
178
|
+
- lib/telnyx/global_ip_usage.rb
|
179
|
+
- lib/telnyx/inference.rb
|
180
|
+
- lib/telnyx/inventory_coverage.rb
|
149
181
|
- lib/telnyx/ip.rb
|
150
182
|
- lib/telnyx/ip_connection.rb
|
183
|
+
- lib/telnyx/ledger_billing_group_report.rb
|
151
184
|
- lib/telnyx/list_object.rb
|
185
|
+
- lib/telnyx/managed_account.rb
|
186
|
+
- lib/telnyx/mdr_usage_report.rb
|
187
|
+
- lib/telnyx/media.rb
|
152
188
|
- lib/telnyx/message.rb
|
189
|
+
- lib/telnyx/message_number_pool.rb
|
190
|
+
- lib/telnyx/messaging_hosted_number_order.rb
|
153
191
|
- lib/telnyx/messaging_phone_number.rb
|
154
192
|
- lib/telnyx/messaging_profile.rb
|
193
|
+
- lib/telnyx/messaging_tollfree_verification.rb
|
194
|
+
- lib/telnyx/messaging_url_domain.rb
|
195
|
+
- lib/telnyx/mobile_operator_network.rb
|
196
|
+
- lib/telnyx/mobile_push_credential.rb
|
197
|
+
- lib/telnyx/network.rb
|
198
|
+
- lib/telnyx/notification_channel.rb
|
199
|
+
- lib/telnyx/notification_event.rb
|
200
|
+
- lib/telnyx/notification_event_condition.rb
|
201
|
+
- lib/telnyx/notification_profile.rb
|
202
|
+
- lib/telnyx/notification_setting.rb
|
203
|
+
- lib/telnyx/number_block_order.rb
|
155
204
|
- lib/telnyx/number_lookup.rb
|
156
205
|
- lib/telnyx/number_order.rb
|
157
206
|
- lib/telnyx/number_order_document.rb
|
158
207
|
- lib/telnyx/number_reservation.rb
|
208
|
+
- lib/telnyx/ota_update.rb
|
159
209
|
- lib/telnyx/outbound_voice_profile.rb
|
210
|
+
- lib/telnyx/partner_campaign.rb
|
160
211
|
- lib/telnyx/phone_number.rb
|
212
|
+
- lib/telnyx/phone_number_block_job.rb
|
213
|
+
- lib/telnyx/phone_number_campaigns.rb
|
161
214
|
- lib/telnyx/phone_number_regulatory_requirement.rb
|
215
|
+
- lib/telnyx/portability_check.rb
|
162
216
|
- lib/telnyx/porting_order.rb
|
163
217
|
- lib/telnyx/portout.rb
|
218
|
+
- lib/telnyx/private_wireless_gateway.rb
|
219
|
+
- lib/telnyx/public_internet_gateway.rb
|
164
220
|
- lib/telnyx/public_key.rb
|
165
221
|
- lib/telnyx/queue.rb
|
166
222
|
- lib/telnyx/queue_call.rb
|
223
|
+
- lib/telnyx/region.rb
|
167
224
|
- lib/telnyx/regulatory_requirement.rb
|
225
|
+
- lib/telnyx/requirement.rb
|
226
|
+
- lib/telnyx/requirement_type.rb
|
227
|
+
- lib/telnyx/room.rb
|
228
|
+
- lib/telnyx/room_composition.rb
|
229
|
+
- lib/telnyx/room_participant.rb
|
230
|
+
- lib/telnyx/room_recording.rb
|
231
|
+
- lib/telnyx/room_session.rb
|
232
|
+
- lib/telnyx/short_code.rb
|
168
233
|
- lib/telnyx/sim_card.rb
|
234
|
+
- lib/telnyx/sim_card_action.rb
|
235
|
+
- lib/telnyx/sim_card_data_usage_notification.rb
|
236
|
+
- lib/telnyx/sim_card_group.rb
|
237
|
+
- lib/telnyx/sim_card_group_action.rb
|
238
|
+
- lib/telnyx/sim_card_order.rb
|
169
239
|
- lib/telnyx/singleton_api_resource.rb
|
240
|
+
- lib/telnyx/summary.rb
|
170
241
|
- lib/telnyx/telephony_credential.rb
|
171
242
|
- lib/telnyx/telnyx_client.rb
|
172
243
|
- lib/telnyx/telnyx_object.rb
|
173
244
|
- lib/telnyx/telnyx_response.rb
|
245
|
+
- lib/telnyx/texml_application.rb
|
174
246
|
- lib/telnyx/util.rb
|
175
247
|
- lib/telnyx/verification.rb
|
248
|
+
- lib/telnyx/verified_calls_display_profile.rb
|
176
249
|
- lib/telnyx/verify_profile.rb
|
177
250
|
- lib/telnyx/version.rb
|
251
|
+
- lib/telnyx/virtual_cross_connect.rb
|
252
|
+
- lib/telnyx/virtual_cross_connect_region.rb
|
253
|
+
- lib/telnyx/wdr.rb
|
178
254
|
- lib/telnyx/webhook.rb
|
255
|
+
- lib/telnyx/webhook_deliverie.rb
|
256
|
+
- lib/telnyx/wireguard_interface.rb
|
257
|
+
- lib/telnyx/wireguard_peer.rb
|
179
258
|
- lib/telnyx/wireless_detail_records_report.rb
|
259
|
+
- server.js
|
180
260
|
- telnyx.gemspec
|
181
261
|
- test/api_stub_helpers.rb
|
182
262
|
- test/openapi/README.md
|
@@ -185,45 +265,105 @@ files:
|
|
185
265
|
- test/telnyx/api_operations_test.rb
|
186
266
|
- test/telnyx/api_resource_test.rb
|
187
267
|
- test/telnyx/available_phone_number_test.rb
|
268
|
+
- test/telnyx/batch_mdr_report_test.rb
|
188
269
|
- test/telnyx/billing_group_test.rb
|
270
|
+
- test/telnyx/bulk_credential_test.rb
|
271
|
+
- test/telnyx/bulk_sim_card_action_test.rb
|
272
|
+
- test/telnyx/business_identitie_test.rb
|
189
273
|
- test/telnyx/call_control_application_test.rb
|
190
274
|
- test/telnyx/call_control_test.rb
|
275
|
+
- test/telnyx/call_event_test.rb
|
276
|
+
- test/telnyx/call_recording_test.rb
|
277
|
+
- test/telnyx/call_test.rb
|
278
|
+
- test/telnyx/campaign_test.rb
|
279
|
+
- test/telnyx/cdr_usage_report_test.rb
|
280
|
+
- test/telnyx/channel_zone_test.rb
|
281
|
+
- test/telnyx/comment_test.rb
|
191
282
|
- test/telnyx/conference_test.rb
|
192
283
|
- test/telnyx/connection_test.rb
|
193
284
|
- test/telnyx/credential_connection_test.rb
|
285
|
+
- test/telnyx/csv_download_test.rb
|
286
|
+
- test/telnyx/custom_storage_credential_test.rb
|
287
|
+
- test/telnyx/detail_record_test.rb
|
288
|
+
- test/telnyx/dialogflow_connection_test.rb
|
289
|
+
- test/telnyx/embedding_test.rb
|
290
|
+
- test/telnyx/enum_test.rb
|
194
291
|
- test/telnyx/errors_test.rb
|
195
292
|
- test/telnyx/fax_application_test.rb
|
196
293
|
- test/telnyx/fax_test.rb
|
197
294
|
- test/telnyx/fqdn_connection_test.rb
|
198
295
|
- test/telnyx/fqdn_test.rb
|
296
|
+
- test/telnyx/global_ip_allowed_port_test.rb
|
297
|
+
- test/telnyx/global_ip_assignment_health_test.rb
|
298
|
+
- test/telnyx/global_ip_assignment_test.rb
|
299
|
+
- test/telnyx/global_ip_latency_test.rb
|
300
|
+
- test/telnyx/global_ip_protocol_test.rb
|
301
|
+
- test/telnyx/global_ip_test.rb
|
302
|
+
- test/telnyx/global_ip_usage_test.rb
|
303
|
+
- test/telnyx/inference_test.rb
|
199
304
|
- test/telnyx/ip_connection_test.rb
|
200
305
|
- test/telnyx/ip_test.rb
|
306
|
+
- test/telnyx/ledger_billing_group_report_test.rb
|
201
307
|
- test/telnyx/list_object_test.rb
|
308
|
+
- test/telnyx/managed_account_test.rb
|
309
|
+
- test/telnyx/mdr_usage_report_test.rb
|
310
|
+
- test/telnyx/message_number_pool_test.rb
|
202
311
|
- test/telnyx/message_test.rb
|
203
312
|
- test/telnyx/messaging_phone_number_test.rb
|
204
313
|
- test/telnyx/messaging_profile_test.rb
|
314
|
+
- test/telnyx/messaging_tollfree_verification_test.rb
|
315
|
+
- test/telnyx/messaging_url_domain_test.rb
|
316
|
+
- test/telnyx/mobile_operator_network_test.rb
|
317
|
+
- test/telnyx/mobile_push_credential_test.rb
|
318
|
+
- test/telnyx/network_test.rb
|
319
|
+
- test/telnyx/number_block_order_test.rb
|
205
320
|
- test/telnyx/number_lookup_test.rb
|
206
321
|
- test/telnyx/number_order_document_test.rb
|
207
322
|
- test/telnyx/number_order_test.rb
|
208
323
|
- test/telnyx/number_reservation_test.rb
|
324
|
+
- test/telnyx/ota_update_test.rb
|
209
325
|
- test/telnyx/outbound_voice_profile_test.rb
|
326
|
+
- test/telnyx/phone_number_block_job_test.rb
|
210
327
|
- test/telnyx/phone_number_regulatory_requirement_test.rb
|
211
328
|
- test/telnyx/phone_number_test.rb
|
212
329
|
- test/telnyx/porting_order_test.rb
|
330
|
+
- test/telnyx/private_wireless_gateway_test.rb
|
331
|
+
- test/telnyx/public_internet_gateway_test.rb
|
213
332
|
- test/telnyx/public_key_test.rb
|
214
333
|
- test/telnyx/queue_test.rb
|
334
|
+
- test/telnyx/region_test.rb
|
215
335
|
- test/telnyx/regulatory_requirement_test.rb
|
336
|
+
- test/telnyx/requirement_test.rb
|
337
|
+
- test/telnyx/requirement_type_test.rb
|
338
|
+
- test/telnyx/room_composition_test.rb
|
339
|
+
- test/telnyx/room_participant_test.rb
|
340
|
+
- test/telnyx/room_recording_test.rb
|
341
|
+
- test/telnyx/room_session_test.rb
|
342
|
+
- test/telnyx/room_test.rb
|
343
|
+
- test/telnyx/short_code_test.rb
|
344
|
+
- test/telnyx/sim_card_data_usage_notification_test.rb
|
345
|
+
- test/telnyx/sim_card_group_action_test.rb
|
346
|
+
- test/telnyx/sim_card_group_test.rb
|
347
|
+
- test/telnyx/sim_card_order_test.rb
|
216
348
|
- test/telnyx/sim_card_test.rb
|
349
|
+
- test/telnyx/summary_test.rb
|
217
350
|
- test/telnyx/telephony_credential_test.rb
|
218
351
|
- test/telnyx/telnyx_client_test.rb
|
219
352
|
- test/telnyx/telnyx_object_test.rb
|
220
353
|
- test/telnyx/telnyx_response_test.rb
|
354
|
+
- test/telnyx/texml_application_test.rb
|
221
355
|
- test/telnyx/util_test.rb
|
222
356
|
- test/telnyx/verification_test.rb
|
357
|
+
- test/telnyx/verified_calls_display_profile_test.rb
|
223
358
|
- test/telnyx/verify_profile_test.rb
|
359
|
+
- test/telnyx/virtual_cross_connect_region_test.rb
|
360
|
+
- test/telnyx/virtual_cross_connect_test.rb
|
361
|
+
- test/telnyx/wdr_test.rb
|
362
|
+
- test/telnyx/webhook_deliverie_test.rb
|
224
363
|
- test/telnyx/webhook_test.rb
|
364
|
+
- test/telnyx/wireguard_interface_test.rb
|
365
|
+
- test/telnyx/wireguard_peer_test.rb
|
225
366
|
- test/telnyx/wireless_detail_records_report_test.rb
|
226
|
-
- test/telnyx_mock.rb
|
227
367
|
- test/telnyx_test.rb
|
228
368
|
- test/test_data.rb
|
229
369
|
- test/test_helper.rb
|
@@ -243,14 +383,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
243
383
|
requirements:
|
244
384
|
- - ">="
|
245
385
|
- !ruby/object:Gem::Version
|
246
|
-
version:
|
386
|
+
version: 3.0.0
|
247
387
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
248
388
|
requirements:
|
249
389
|
- - ">="
|
250
390
|
- !ruby/object:Gem::Version
|
251
391
|
version: '0'
|
252
392
|
requirements: []
|
253
|
-
rubygems_version: 3.
|
393
|
+
rubygems_version: 3.2.15
|
254
394
|
signing_key:
|
255
395
|
specification_version: 4
|
256
396
|
summary: Ruby bindings for the Telnyx API
|
@@ -262,45 +402,105 @@ test_files:
|
|
262
402
|
- test/telnyx/api_operations_test.rb
|
263
403
|
- test/telnyx/api_resource_test.rb
|
264
404
|
- test/telnyx/available_phone_number_test.rb
|
405
|
+
- test/telnyx/batch_mdr_report_test.rb
|
265
406
|
- test/telnyx/billing_group_test.rb
|
407
|
+
- test/telnyx/bulk_credential_test.rb
|
408
|
+
- test/telnyx/bulk_sim_card_action_test.rb
|
409
|
+
- test/telnyx/business_identitie_test.rb
|
266
410
|
- test/telnyx/call_control_application_test.rb
|
267
411
|
- test/telnyx/call_control_test.rb
|
412
|
+
- test/telnyx/call_event_test.rb
|
413
|
+
- test/telnyx/call_recording_test.rb
|
414
|
+
- test/telnyx/call_test.rb
|
415
|
+
- test/telnyx/campaign_test.rb
|
416
|
+
- test/telnyx/cdr_usage_report_test.rb
|
417
|
+
- test/telnyx/channel_zone_test.rb
|
418
|
+
- test/telnyx/comment_test.rb
|
268
419
|
- test/telnyx/conference_test.rb
|
269
420
|
- test/telnyx/connection_test.rb
|
270
421
|
- test/telnyx/credential_connection_test.rb
|
422
|
+
- test/telnyx/csv_download_test.rb
|
423
|
+
- test/telnyx/custom_storage_credential_test.rb
|
424
|
+
- test/telnyx/detail_record_test.rb
|
425
|
+
- test/telnyx/dialogflow_connection_test.rb
|
426
|
+
- test/telnyx/embedding_test.rb
|
427
|
+
- test/telnyx/enum_test.rb
|
271
428
|
- test/telnyx/errors_test.rb
|
272
429
|
- test/telnyx/fax_application_test.rb
|
273
430
|
- test/telnyx/fax_test.rb
|
274
431
|
- test/telnyx/fqdn_connection_test.rb
|
275
432
|
- test/telnyx/fqdn_test.rb
|
433
|
+
- test/telnyx/global_ip_allowed_port_test.rb
|
434
|
+
- test/telnyx/global_ip_assignment_health_test.rb
|
435
|
+
- test/telnyx/global_ip_assignment_test.rb
|
436
|
+
- test/telnyx/global_ip_latency_test.rb
|
437
|
+
- test/telnyx/global_ip_protocol_test.rb
|
438
|
+
- test/telnyx/global_ip_test.rb
|
439
|
+
- test/telnyx/global_ip_usage_test.rb
|
440
|
+
- test/telnyx/inference_test.rb
|
276
441
|
- test/telnyx/ip_connection_test.rb
|
277
442
|
- test/telnyx/ip_test.rb
|
443
|
+
- test/telnyx/ledger_billing_group_report_test.rb
|
278
444
|
- test/telnyx/list_object_test.rb
|
445
|
+
- test/telnyx/managed_account_test.rb
|
446
|
+
- test/telnyx/mdr_usage_report_test.rb
|
447
|
+
- test/telnyx/message_number_pool_test.rb
|
279
448
|
- test/telnyx/message_test.rb
|
280
449
|
- test/telnyx/messaging_phone_number_test.rb
|
281
450
|
- test/telnyx/messaging_profile_test.rb
|
451
|
+
- test/telnyx/messaging_tollfree_verification_test.rb
|
452
|
+
- test/telnyx/messaging_url_domain_test.rb
|
453
|
+
- test/telnyx/mobile_operator_network_test.rb
|
454
|
+
- test/telnyx/mobile_push_credential_test.rb
|
455
|
+
- test/telnyx/network_test.rb
|
456
|
+
- test/telnyx/number_block_order_test.rb
|
282
457
|
- test/telnyx/number_lookup_test.rb
|
283
458
|
- test/telnyx/number_order_document_test.rb
|
284
459
|
- test/telnyx/number_order_test.rb
|
285
460
|
- test/telnyx/number_reservation_test.rb
|
461
|
+
- test/telnyx/ota_update_test.rb
|
286
462
|
- test/telnyx/outbound_voice_profile_test.rb
|
463
|
+
- test/telnyx/phone_number_block_job_test.rb
|
287
464
|
- test/telnyx/phone_number_regulatory_requirement_test.rb
|
288
465
|
- test/telnyx/phone_number_test.rb
|
289
466
|
- test/telnyx/porting_order_test.rb
|
467
|
+
- test/telnyx/private_wireless_gateway_test.rb
|
468
|
+
- test/telnyx/public_internet_gateway_test.rb
|
290
469
|
- test/telnyx/public_key_test.rb
|
291
470
|
- test/telnyx/queue_test.rb
|
471
|
+
- test/telnyx/region_test.rb
|
292
472
|
- test/telnyx/regulatory_requirement_test.rb
|
473
|
+
- test/telnyx/requirement_test.rb
|
474
|
+
- test/telnyx/requirement_type_test.rb
|
475
|
+
- test/telnyx/room_composition_test.rb
|
476
|
+
- test/telnyx/room_participant_test.rb
|
477
|
+
- test/telnyx/room_recording_test.rb
|
478
|
+
- test/telnyx/room_session_test.rb
|
479
|
+
- test/telnyx/room_test.rb
|
480
|
+
- test/telnyx/short_code_test.rb
|
481
|
+
- test/telnyx/sim_card_data_usage_notification_test.rb
|
482
|
+
- test/telnyx/sim_card_group_action_test.rb
|
483
|
+
- test/telnyx/sim_card_group_test.rb
|
484
|
+
- test/telnyx/sim_card_order_test.rb
|
293
485
|
- test/telnyx/sim_card_test.rb
|
486
|
+
- test/telnyx/summary_test.rb
|
294
487
|
- test/telnyx/telephony_credential_test.rb
|
295
488
|
- test/telnyx/telnyx_client_test.rb
|
296
489
|
- test/telnyx/telnyx_object_test.rb
|
297
490
|
- test/telnyx/telnyx_response_test.rb
|
491
|
+
- test/telnyx/texml_application_test.rb
|
298
492
|
- test/telnyx/util_test.rb
|
299
493
|
- test/telnyx/verification_test.rb
|
494
|
+
- test/telnyx/verified_calls_display_profile_test.rb
|
300
495
|
- test/telnyx/verify_profile_test.rb
|
496
|
+
- test/telnyx/virtual_cross_connect_region_test.rb
|
497
|
+
- test/telnyx/virtual_cross_connect_test.rb
|
498
|
+
- test/telnyx/wdr_test.rb
|
499
|
+
- test/telnyx/webhook_deliverie_test.rb
|
301
500
|
- test/telnyx/webhook_test.rb
|
501
|
+
- test/telnyx/wireguard_interface_test.rb
|
502
|
+
- test/telnyx/wireguard_peer_test.rb
|
302
503
|
- test/telnyx/wireless_detail_records_report_test.rb
|
303
|
-
- test/telnyx_mock.rb
|
304
504
|
- test/telnyx_test.rb
|
305
505
|
- test/test_data.rb
|
306
506
|
- test/test_helper.rb
|
@@ -1,67 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require "telnyx"
|
4
|
-
require "amazing_print" # for displaying the api requests nicely.
|
5
|
-
require "tty-prompt" # for prettier interactive prompts.
|
6
|
-
|
7
|
-
Telnyx.api_key = ENV["TELNYX_KEY"] # Set your key here
|
8
|
-
raise "Please set your API key in this script, or set the TELNYX_KEY env variable!" unless Telnyx.api_key
|
9
|
-
|
10
|
-
class Demo
|
11
|
-
def initialize
|
12
|
-
@prompt = TTY::Prompt.new
|
13
|
-
end
|
14
|
-
|
15
|
-
def start
|
16
|
-
create_profile
|
17
|
-
puts "Profile object returned from API:"
|
18
|
-
ap @profile
|
19
|
-
|
20
|
-
verify
|
21
|
-
puts "Verification object returned from API:"
|
22
|
-
ap @verification
|
23
|
-
|
24
|
-
puts "A SMS should be sent to the phone number soon."
|
25
|
-
check_prompt
|
26
|
-
end
|
27
|
-
|
28
|
-
def create_profile
|
29
|
-
# Ask what to call the new verification profile.
|
30
|
-
profile_name = @prompt.ask("Profile name:", default: "demo profile")
|
31
|
-
# Check if we already created a demo profile.
|
32
|
-
existing_profile = Telnyx::VerifyProfile.list.first { |p| p.name == profile_name }
|
33
|
-
# Check if we should use the existing one.
|
34
|
-
return @profile = existing_profile if existing_profile && @prompt.yes?(%(Found a profile already called "#{profile_name}", would you like to use that instead of creating a new profile?))
|
35
|
-
|
36
|
-
# Create a new profile.
|
37
|
-
@profile = Telnyx::VerifyProfile.create name: profile_name
|
38
|
-
end
|
39
|
-
|
40
|
-
def verify
|
41
|
-
# Create a new verification, this will send a code via SMS to the number provided.
|
42
|
-
@verification = Telnyx::Verification.create(
|
43
|
-
type: "sms",
|
44
|
-
verify_profile_id: @profile.id,
|
45
|
-
phone_number: @prompt.ask("Enter a phone number to send a verification code to (must be e164 format, e.g., +15554443333):", value: "+1") { |p| p.validate(/^\+?[1-9]\d{1,14}$/) }
|
46
|
-
)
|
47
|
-
end
|
48
|
-
|
49
|
-
def check_prompt
|
50
|
-
loop do
|
51
|
-
# Ask the user for the verification code.
|
52
|
-
code = @prompt.ask "Enter verification code:"
|
53
|
-
# Ask the api if this is the correct code.
|
54
|
-
response = Telnyx::Verification.submit_code code: code, phone_number: @verification.phone_number
|
55
|
-
puts "Api responded with:"
|
56
|
-
ap response
|
57
|
-
|
58
|
-
# If it's not the right code try again.
|
59
|
-
break if response.response_code == "accepted"
|
60
|
-
|
61
|
-
puts "\e[31mIncorrect code, try again!\e[0m"
|
62
|
-
create_profile if @prompt.yes?("Resend code?")
|
63
|
-
end
|
64
|
-
end
|
65
|
-
end
|
66
|
-
|
67
|
-
Demo.new.start
|
data/test/telnyx_mock.rb
DELETED
@@ -1,78 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module Telnyx
|
4
|
-
class TelnyxMock
|
5
|
-
include Singleton
|
6
|
-
|
7
|
-
PATH_SPEC = "#{::File.dirname(__FILE__)}/openapi/spec3.json".freeze
|
8
|
-
PATH_FIXTURES = "#{::File.dirname(__FILE__)}/openapi/fixtures3.json".freeze
|
9
|
-
|
10
|
-
@pid = nil
|
11
|
-
@port = -1
|
12
|
-
|
13
|
-
# Starts telnyx-mock, if necessary. Returns the port on which telnyx-mock is listening.
|
14
|
-
def self.start
|
15
|
-
unless ::File.exist?(PATH_SPEC)
|
16
|
-
port = ENV["TELNYX_MOCK_PORT"] || 12_111
|
17
|
-
puts("No custom spec file found, assuming telnyx-mock is already running on port #{port}")
|
18
|
-
return port
|
19
|
-
end
|
20
|
-
|
21
|
-
unless @pid.nil?
|
22
|
-
puts("telnyx-mock already running on port #{@port}")
|
23
|
-
return @port
|
24
|
-
end
|
25
|
-
|
26
|
-
@port = find_available_port
|
27
|
-
|
28
|
-
puts("Starting telnyx-mock on port #{@port}...")
|
29
|
-
|
30
|
-
@stdout, @child_stdout = ::IO.pipe
|
31
|
-
@stderr, @child_stderr = ::IO.pipe
|
32
|
-
|
33
|
-
@pid = ::Process.spawn(
|
34
|
-
["telnyx-mock", "telnyx-mock"],
|
35
|
-
"-http-port",
|
36
|
-
@port.to_s,
|
37
|
-
"-spec",
|
38
|
-
PATH_SPEC,
|
39
|
-
"-fixtures",
|
40
|
-
PATH_FIXTURES,
|
41
|
-
out: @child_stdout,
|
42
|
-
err: @child_stderr
|
43
|
-
)
|
44
|
-
|
45
|
-
[@child_stdout, @child_stderr].each(&:close)
|
46
|
-
|
47
|
-
sleep 1
|
48
|
-
|
49
|
-
status = (::Process.wait2(@pid, ::Process::WNOHANG) || []).last
|
50
|
-
if status.nil?
|
51
|
-
puts("Started telnyx-mock, PID = #{@pid}")
|
52
|
-
else
|
53
|
-
abort("telnyx-mock terminated early: #{status}")
|
54
|
-
end
|
55
|
-
|
56
|
-
@port
|
57
|
-
end
|
58
|
-
|
59
|
-
# Stops telnyx-mock, if necessary.
|
60
|
-
def self.stop
|
61
|
-
return if @pid.nil?
|
62
|
-
puts("Stopping telnyx-mock...")
|
63
|
-
::Process.kill(:SIGTERM, @pid)
|
64
|
-
::Process.waitpid2(@pid)
|
65
|
-
@pid = nil
|
66
|
-
@port = -1
|
67
|
-
puts("Stopped telnyx-mock")
|
68
|
-
end
|
69
|
-
|
70
|
-
# Finds and returns an available TCP port
|
71
|
-
private_class_method def self.find_available_port
|
72
|
-
server = TCPServer.new("localhost", 0)
|
73
|
-
port = server.addr[1]
|
74
|
-
server.close
|
75
|
-
port
|
76
|
-
end
|
77
|
-
end
|
78
|
-
end
|