telnyx 2.9.0 → 3.0.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/.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 +1 -1
- 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 +13 -0
- data/lib/telnyx/bulk_creation.rb +21 -0
- data/lib/telnyx/bulk_credential.rb +16 -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 +34 -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 +15 -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/phone_number.rb +6 -0
- data/lib/telnyx/phone_number_block_job.rb +14 -0
- data/lib/telnyx/phone_number_campaigns.rb +12 -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/telnyx/api_resource_test.rb +25 -21
- data/test/telnyx/available_phone_number_test.rb +6 -0
- data/test/telnyx/batch_mdr_report_test.rb +35 -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 +12 -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 +26 -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 +12 -0
- data/test/telnyx/telephony_credential_test.rb +35 -6
- data/test/telnyx/texml_application_test.rb +25 -0
- data/test/telnyx/verification_test.rb +4 -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 +235 -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
|
@@ -8,7 +8,7 @@ module Telnyx
|
|
|
8
8
|
telephony_credentials = TelephonyCredential.list
|
|
9
9
|
assert_requested :get, "#{Telnyx.api_base}/v2/telephony_credentials"
|
|
10
10
|
assert_kind_of ListObject, telephony_credentials
|
|
11
|
-
assert_kind_of
|
|
11
|
+
assert_kind_of TelnyxObject, telephony_credentials.first
|
|
12
12
|
end
|
|
13
13
|
|
|
14
14
|
should "create telephony credential" do
|
|
@@ -22,22 +22,51 @@ module Telnyx
|
|
|
22
22
|
should "retrieve telephony credential" do
|
|
23
23
|
telephony_credential = TelephonyCredential.retrieve("id")
|
|
24
24
|
assert_requested :get, "#{Telnyx.api_base}/v2/telephony_credentials/id"
|
|
25
|
-
assert_kind_of
|
|
25
|
+
assert_kind_of TelnyxObject, telephony_credential
|
|
26
26
|
end
|
|
27
27
|
|
|
28
28
|
should "delete telephony credential" do
|
|
29
29
|
telephony_credential = TelephonyCredential.retrieve("id")
|
|
30
|
-
|
|
30
|
+
id = telephony_credential.id.gsub(/\s+/, "+").freeze
|
|
31
31
|
telephony_credential.delete
|
|
32
|
-
assert_requested :delete, "#{Telnyx.api_base}/v2/telephony_credentials
|
|
32
|
+
assert_requested :delete, "#{Telnyx.api_base}/v2/telephony_credentials/#{id}"
|
|
33
33
|
end
|
|
34
34
|
|
|
35
35
|
should "update telephony credential" do
|
|
36
36
|
telephony_credential = TelephonyCredential.retrieve("id")
|
|
37
|
-
|
|
37
|
+
id = telephony_credential.id.gsub(/\s+/, "+").freeze
|
|
38
38
|
telephony_credential.expires_at = "2021-07-27T17:58:54Z"
|
|
39
39
|
telephony_credential.save
|
|
40
|
-
assert_requested :patch, "#{Telnyx.api_base}/v2/telephony_credentials
|
|
40
|
+
assert_requested :patch, "#{Telnyx.api_base}/v2/telephony_credentials/#{id}"
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
context "actions" do
|
|
44
|
+
should "perform action activate" do
|
|
45
|
+
omit "ID req mismatch"
|
|
46
|
+
telephony_credential = TelephonyCredential.retrieve("id")
|
|
47
|
+
id = telephony_credential.id.gsub(/\s+/, "+").freeze
|
|
48
|
+
telephony_credential.activate
|
|
49
|
+
assert_requested :post, "#{Telnyx.api_base}/v2/telephony_credentials/#{id}/actions/activate"
|
|
50
|
+
end
|
|
51
|
+
|
|
52
|
+
should "deactivate" do
|
|
53
|
+
omit "ID req mismatch"
|
|
54
|
+
telephony_credential = TelephonyCredential.retrieve("id")
|
|
55
|
+
id = telephony_credential.id.gsub(/\s+/, "+").freeze
|
|
56
|
+
telephony_credential.deactivate
|
|
57
|
+
assert_requested :post, "#{Telnyx.api_base}/v2/telephony_credentials/#{id}/actions/deactivate"
|
|
58
|
+
end
|
|
59
|
+
should "tags" do
|
|
60
|
+
TelephonyCredential.tags
|
|
61
|
+
assert_requested :get, "#{Telnyx.api_base}/v2/telephony_credentials/tags"
|
|
62
|
+
end
|
|
41
63
|
end
|
|
64
|
+
# Issue with response(RESPONSE SCHEMA: text/plain)
|
|
65
|
+
# should "create telephony credential token" do
|
|
66
|
+
# telephony_credential = TelephonyCredential.retrieve("id")
|
|
67
|
+
# id = telephony_credential.id.gsub(/\s+/, "+").freeze
|
|
68
|
+
# telephony_credential.token
|
|
69
|
+
# assert_requested :post, "#{Telnyx.api_base}/v2/telephony_credentials/#{id}/token"
|
|
70
|
+
# end
|
|
42
71
|
end
|
|
43
72
|
end
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require_relative "../test_helper"
|
|
4
|
+
|
|
5
|
+
module Telnyx
|
|
6
|
+
class TexmlApplicationTest < Test::Unit::TestCase
|
|
7
|
+
setup do
|
|
8
|
+
@id = "d25f43b3-aea3-6a5d-7a1b-d83e5c100cce"
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
should "be listable" do
|
|
12
|
+
applications = TexmlApplication.list
|
|
13
|
+
assert_requested :get, "#{Telnyx.api_base}/v2/texml_applications"
|
|
14
|
+
assert_kind_of ListObject, applications
|
|
15
|
+
assert applications.is_a?(ListObject)
|
|
16
|
+
assert applications[:data].is_a?(Array)
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
should "be retrieveable" do
|
|
20
|
+
connection = TexmlApplication.retrieve(@id)
|
|
21
|
+
assert_requested :get, "#{Telnyx.api_base}/v2/texml_applications/#{@id}"
|
|
22
|
+
assert connection.is_a?(TexmlApplication)
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
end
|
|
@@ -46,14 +46,14 @@ module Telnyx
|
|
|
46
46
|
end
|
|
47
47
|
|
|
48
48
|
should "retrieve verification" do
|
|
49
|
-
|
|
50
|
-
|
|
49
|
+
id = "8b957e5d-0b58-a3e1-42ec-5c4519d08087"
|
|
50
|
+
verification = Verification.retrieve(id)
|
|
51
|
+
assert_requested :get, "#{Telnyx.api_base}/v2/verifications/#{id}"
|
|
51
52
|
assert_kind_of Verification, verification
|
|
52
53
|
end
|
|
53
54
|
|
|
54
55
|
should "send verification code" do
|
|
55
|
-
Verification.submit_code code: "12345", phone_number: "+13035551234"
|
|
56
|
-
|
|
56
|
+
Verification.submit_code({ code: "12345", phone_number: "+13035551234", verify_profile_id: "080e8523-3b29-439b-c08c-edd4b0ec719e" })
|
|
57
57
|
assert_requested :post, "#{Telnyx.api_base}/v2/verifications/by_phone_number/+13035551234/actions/verify"
|
|
58
58
|
end
|
|
59
59
|
end
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require_relative "../test_helper"
|
|
4
|
+
|
|
5
|
+
module Telnyx
|
|
6
|
+
class VerifiedCallsDisplayProfilesTest < Test::Unit::TestCase
|
|
7
|
+
setup do
|
|
8
|
+
@profiles = VerifiedCallsDisplayProfile.list
|
|
9
|
+
@id = @profiles.first.id.freeze
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
should "be listable" do
|
|
13
|
+
assert_requested :get, "#{Telnyx.api_base}/v2/verified_calls_display_profiles"
|
|
14
|
+
assert_kind_of ListObject, @profiles
|
|
15
|
+
assert_kind_of TelnyxObject, @profiles.first
|
|
16
|
+
assert @profiles[:data].is_a?(Array)
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
should "be retrievable" do
|
|
20
|
+
profile = VerifiedCallsDisplayProfile.retrieve(@id)
|
|
21
|
+
assert_requested :get, "#{Telnyx.api_base}/v2/verified_calls_display_profiles/#{@id}"
|
|
22
|
+
assert profile.is_a?(Telnyx::VerifiedCallsDisplayProfile)
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
should "create verified_calls_display_profiles verification_request" do
|
|
26
|
+
omit "ID req mismatch"
|
|
27
|
+
profile = VerifiedCallsDisplayProfile.retrieve(@id)
|
|
28
|
+
id = profile.id.freeze
|
|
29
|
+
profile.verification_request
|
|
30
|
+
assert_requested :post, "#{Telnyx.api_base}/v2/verified_calls_display_profiles/#{id}/verification_request"
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
end
|
|
@@ -4,6 +4,10 @@ require_relative "../test_helper"
|
|
|
4
4
|
|
|
5
5
|
module Telnyx
|
|
6
6
|
class VerifyProfileTest < Test::Unit::TestCase
|
|
7
|
+
setup do
|
|
8
|
+
@id = "080e8523-3b29-439b-c08c-edd4b0ec719e"
|
|
9
|
+
@verify_profile = VerifyProfile.retrieve(@id)
|
|
10
|
+
end
|
|
7
11
|
should "list verify_profiles" do
|
|
8
12
|
verify_profile = VerifyProfile.list
|
|
9
13
|
assert_requested :get, "#{Telnyx.api_base}/v2/verify_profiles"
|
|
@@ -17,17 +21,22 @@ module Telnyx
|
|
|
17
21
|
end
|
|
18
22
|
|
|
19
23
|
should "retrieve verify_profile" do
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
assert_kind_of VerifyProfile, verify_profile
|
|
24
|
+
assert_requested :get, "#{Telnyx.api_base}/v2/verify_profiles/#{@id}"
|
|
25
|
+
assert_kind_of VerifyProfile, @verify_profile
|
|
23
26
|
end
|
|
24
27
|
|
|
25
28
|
should "update verify_profile" do
|
|
26
|
-
|
|
29
|
+
id = @verify_profile.id.freeze
|
|
30
|
+
|
|
31
|
+
@verify_profile.name = "123"
|
|
32
|
+
@verify_profile.save
|
|
33
|
+
assert_requested :patch, "#{Telnyx.api_base}/v2/verify_profiles/#{id}"
|
|
34
|
+
end
|
|
27
35
|
|
|
28
|
-
|
|
29
|
-
verify_profile.
|
|
30
|
-
|
|
36
|
+
should "delete verify_profile" do
|
|
37
|
+
id = @verify_profile.id.freeze
|
|
38
|
+
@verify_profile.delete
|
|
39
|
+
assert_requested :delete, "#{Telnyx.api_base}/v2/verify_profiles/#{id}"
|
|
31
40
|
end
|
|
32
41
|
end
|
|
33
42
|
end
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require_relative "../test_helper"
|
|
4
|
+
|
|
5
|
+
module Telnyx
|
|
6
|
+
class VirtualCrossConnectRegionTest < Test::Unit::TestCase
|
|
7
|
+
setup do
|
|
8
|
+
@id = "d25f43b3-aea3-6a5d-7a1b-d83e5c100cce"
|
|
9
|
+
end
|
|
10
|
+
should "retrieve virtual cross connect region" do
|
|
11
|
+
virtual_cross_connect_region = VirtualCrossConnectRegion.retrieve @id
|
|
12
|
+
assert_requested(:get, "#{Telnyx.api_base}/v2/virtual_cross_connect_regions/#{@id}")
|
|
13
|
+
assert_kind_of VirtualCrossConnectRegion, virtual_cross_connect_region
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
should "list virtual cross connect regions" do
|
|
17
|
+
virtual_cross_connect_regions = VirtualCrossConnectRegion.list
|
|
18
|
+
assert_requested(:get, "#{Telnyx.api_base}/v2/virtual_cross_connect_regions")
|
|
19
|
+
assert_kind_of Telnyx::ListObject, virtual_cross_connect_regions
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
end
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require_relative "../test_helper"
|
|
4
|
+
|
|
5
|
+
module Telnyx
|
|
6
|
+
class VirtualCrossConnectTest < Test::Unit::TestCase
|
|
7
|
+
setup do
|
|
8
|
+
@id = "d25f43b3-aea3-6a5d-7a1b-d83e5c100cce"
|
|
9
|
+
@virtual_cross_connect = VirtualCrossConnect.retrieve @id
|
|
10
|
+
end
|
|
11
|
+
should "be retrievable" do
|
|
12
|
+
assert_requested(:get, "#{Telnyx.api_base}/v2/virtual_cross_connects/#{@id}")
|
|
13
|
+
assert_kind_of VirtualCrossConnect, @virtual_cross_connect
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
should "be listable" do
|
|
17
|
+
virtual_cross_connects = VirtualCrossConnect.list
|
|
18
|
+
assert_requested(:get, "#{Telnyx.api_base}/v2/virtual_cross_connects")
|
|
19
|
+
assert_kind_of Telnyx::ListObject, virtual_cross_connects
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
should "be updatable" do
|
|
23
|
+
@virtual_cross_connect.name = "new name"
|
|
24
|
+
id = @virtual_cross_connect.id.freeze
|
|
25
|
+
@virtual_cross_connect.save
|
|
26
|
+
assert_requested :patch, "#{Telnyx.api_base}/v2/virtual_cross_connects/#{id}"
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
should "be deletable" do
|
|
30
|
+
id = @virtual_cross_connect.id.freeze
|
|
31
|
+
@virtual_cross_connect.delete
|
|
32
|
+
assert_requested :delete, "#{Telnyx.api_base}/v2/virtual_cross_connects/#{id}"
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
should "be creatable" do
|
|
36
|
+
VirtualCrossConnect.create(name: "virtual_cross_connect", network_id: "d25f43b3-aea3-6a5d-7a1b-d83e5c100cc7", region_code: "labore", cloud_provider: "aws", cloud_region: "xyx", bgp_asn: -14_361_653.993494183, primary_cloud_account_id: "test")
|
|
37
|
+
assert_requested :post, "#{Telnyx.api_base}/v2/virtual_cross_connects"
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
context "actions" do
|
|
41
|
+
should "provision" do
|
|
42
|
+
omit "ID req mismatch"
|
|
43
|
+
id = @virtual_cross_connect.id.freeze
|
|
44
|
+
@virtual_cross_connect.provision
|
|
45
|
+
assert_requested :post, "#{Telnyx.api_base}/v2/virtual_cross_connects/#{id}/actions/provision"
|
|
46
|
+
end
|
|
47
|
+
end
|
|
48
|
+
end
|
|
49
|
+
end
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require_relative "../test_helper"
|
|
4
|
+
|
|
5
|
+
module Telnyx
|
|
6
|
+
class WdrTest < Test::Unit::TestCase
|
|
7
|
+
should "list wdrs reports" do
|
|
8
|
+
wdrs = Wdr.list
|
|
9
|
+
assert_requested :get, "#{Telnyx.api_base}/v2/reports/wdrs"
|
|
10
|
+
assert_kind_of ListObject, wdrs
|
|
11
|
+
assert_kind_of TelnyxObject, wdrs.first
|
|
12
|
+
end
|
|
13
|
+
end
|
|
14
|
+
end
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require_relative "../test_helper"
|
|
4
|
+
|
|
5
|
+
module Telnyx
|
|
6
|
+
class WebhookDeliverieTest < Test::Unit::TestCase
|
|
7
|
+
setup do
|
|
8
|
+
@webhook_deliveries = WebhookDeliverie.list
|
|
9
|
+
@id = @webhook_deliveries[:data].first[:webhook][:id].freeze
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
should "be listable" do
|
|
13
|
+
assert_requested :get, "#{Telnyx.api_base}/v2/webhook_deliveries"
|
|
14
|
+
assert @webhook_deliveries.is_a?(ListObject)
|
|
15
|
+
assert @webhook_deliveries[:data].is_a?(Array)
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
should "be retrievable" do
|
|
19
|
+
deliverie = WebhookDeliverie.retrieve(@id)
|
|
20
|
+
assert deliverie.is_a?(WebhookDeliverie)
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
end
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require_relative "../test_helper"
|
|
4
|
+
|
|
5
|
+
module Telnyx
|
|
6
|
+
class WireguardInterfaceTest < Test::Unit::TestCase
|
|
7
|
+
setup do
|
|
8
|
+
@id = "ebb9daec-eb8a-8caa-0105-2b6f56f5a11c"
|
|
9
|
+
@wireguard_interface = Telnyx::WireguardInterface.retrieve(@id)
|
|
10
|
+
end
|
|
11
|
+
should "be creatable" do
|
|
12
|
+
Telnyx::WireguardInterface.create(network_id: "ce7d6838-b281-1b01-9a17-bc23c19ccad4", region_code: "foo")
|
|
13
|
+
assert_requested :post, "#{Telnyx.api_base}/v2/wireguard_interfaces"
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
should "be listable" do
|
|
17
|
+
wireguard_interfaces = WireguardInterface.list
|
|
18
|
+
assert_requested :get, "#{Telnyx.api_base}/v2/wireguard_interfaces"
|
|
19
|
+
assert wireguard_interfaces.data.is_a?(Array)
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
should "be retrievable" do
|
|
23
|
+
assert_requested :get, "#{Telnyx.api_base}/v2/wireguard_interfaces/#{@id}"
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
should "be deletable" do
|
|
27
|
+
id = @wireguard_interface.id.freeze
|
|
28
|
+
@wireguard_interface.delete
|
|
29
|
+
assert_requested :delete, "#{Telnyx.api_base}/v2/wireguard_interfaces/#{id}"
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
end
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require_relative "../test_helper"
|
|
4
|
+
|
|
5
|
+
module Telnyx
|
|
6
|
+
class WireguardPeerTest < Test::Unit::TestCase
|
|
7
|
+
setup do
|
|
8
|
+
@id = "d25f43b3-aea3-6a5d-7a1b-d83e5c100cce"
|
|
9
|
+
@wireguard_peer = WireguardPeer.retrieve @id
|
|
10
|
+
end
|
|
11
|
+
should "be retrievable" do
|
|
12
|
+
assert_requested(:get, "#{Telnyx.api_base}/v2/wireguard_peers/#{@id}")
|
|
13
|
+
assert_kind_of WireguardPeer, @wireguard_peer
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
should "be listable" do
|
|
17
|
+
omit "ID req that doesn't exist"
|
|
18
|
+
wireguard_peers = WireguardPeer.list
|
|
19
|
+
assert_requested(:get, "#{Telnyx.api_base}/v2/wireguard_peers")
|
|
20
|
+
assert_kind_of Telnyx::ListObject, wireguard_peers
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
should "be updatable" do
|
|
24
|
+
@wireguard_peer.wireguard_peer = "new code"
|
|
25
|
+
@wireguard_peer.messaging_profile_id = "d25f43b3-aea3-6a5d-7a1b-d83e5c100cc6"
|
|
26
|
+
@wireguard_peer.save
|
|
27
|
+
assert_requested(:get, "#{Telnyx.api_base}/v2/wireguard_peers/#{@id}")
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
should "be deletable" do
|
|
31
|
+
id = @wireguard_peer.id.freeze
|
|
32
|
+
@wireguard_peer.delete
|
|
33
|
+
assert_requested :delete, "#{Telnyx.api_base}/v2/wireguard_peers/#{id}"
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
should "be creatable" do
|
|
37
|
+
omit "ID req that doesn't exist"
|
|
38
|
+
WireguardPeer.create(wireguard_interface_id: "a25f43b3-aea3-6a5d-7a1b-d83e5c100cc6")
|
|
39
|
+
assert_requested :post, "#{Telnyx.api_base}/v2/wireguard_peers"
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
should "be listable allowIps" do
|
|
43
|
+
id = @wireguard_peer.id.freeze
|
|
44
|
+
@wireguard_peer.allowed_ips
|
|
45
|
+
assert_requested(:get, "#{Telnyx.api_base}/v2/wireguard_peers/#{id}/allowed_ips")
|
|
46
|
+
end
|
|
47
|
+
end
|
|
48
|
+
end
|
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
|