telnyx 2.9.0 → 3.0.0
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 +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
|