telnyx 2.9.0 → 3.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (207) hide show
  1. checksums.yaml +4 -4
  2. data/.github/scripts/before_install.sh +10 -9
  3. data/.github/workflows/publish-gem-on-release.yml +6 -6
  4. data/.github/workflows/ruby.yml +4 -4
  5. data/.rubocop.yml +1 -1
  6. data/Gemfile +7 -8
  7. data/README.md +1 -1
  8. data/Spec3.json +77839 -0
  9. data/VERSION +1 -1
  10. data/lib/telnyx/access_control_ip.rb +13 -0
  11. data/lib/telnyx/access_ip_range.rb +12 -0
  12. data/lib/telnyx/address.rb +9 -0
  13. data/lib/telnyx/api_operations/delete.rb +1 -1
  14. data/lib/telnyx/api_resource.rb +4 -1
  15. data/lib/telnyx/authentication_providers.rb +12 -0
  16. data/lib/telnyx/available_phone_number.rb +5 -0
  17. data/lib/telnyx/balance.rb +12 -0
  18. data/lib/telnyx/batch_mdr_report.rb +15 -0
  19. data/lib/telnyx/brand.rb +13 -0
  20. data/lib/telnyx/bulk_creation.rb +21 -0
  21. data/lib/telnyx/bulk_credential.rb +16 -0
  22. data/lib/telnyx/bulk_sim_card_action.rb +9 -0
  23. data/lib/telnyx/business_identitie.rb +9 -0
  24. data/lib/telnyx/call.rb +2 -2
  25. data/lib/telnyx/call_event.rb +9 -0
  26. data/lib/telnyx/call_recording.rb +12 -0
  27. data/lib/telnyx/campaign.rb +34 -0
  28. data/lib/telnyx/cdr_usage_report.rb +13 -0
  29. data/lib/telnyx/channel_zone.rb +10 -0
  30. data/lib/telnyx/comment.rb +20 -0
  31. data/lib/telnyx/conference.rb +1 -1
  32. data/lib/telnyx/connection.rb +5 -0
  33. data/lib/telnyx/csv_download.rb +10 -0
  34. data/lib/telnyx/custom_storage_credential.rb +7 -0
  35. data/lib/telnyx/detail_record.rb +9 -0
  36. data/lib/telnyx/dialogflow_connection.rb +20 -0
  37. data/lib/telnyx/document.rb +20 -0
  38. data/lib/telnyx/dynamic_emergency_address.rb +12 -0
  39. data/lib/telnyx/dynamic_emergency_endpoint.rb +12 -0
  40. data/lib/telnyx/embedding.rb +14 -0
  41. data/lib/telnyx/enum.rb +15 -0
  42. data/lib/telnyx/fax.rb +14 -0
  43. data/lib/telnyx/global_ip.rb +10 -0
  44. data/lib/telnyx/global_ip_allowed_port.rb +8 -0
  45. data/lib/telnyx/global_ip_assignment.rb +12 -0
  46. data/lib/telnyx/global_ip_assignment_health.rb +8 -0
  47. data/lib/telnyx/global_ip_assignment_usage.rb +8 -0
  48. data/lib/telnyx/global_ip_latency.rb +8 -0
  49. data/lib/telnyx/global_ip_protocol.rb +8 -0
  50. data/lib/telnyx/global_ip_usage.rb +8 -0
  51. data/lib/telnyx/inference.rb +9 -0
  52. data/lib/telnyx/inventory_coverage.rb +9 -0
  53. data/lib/telnyx/ledger_billing_group_report.rb +9 -0
  54. data/lib/telnyx/managed_account.rb +32 -0
  55. data/lib/telnyx/mdr_usage_report.rb +21 -0
  56. data/lib/telnyx/media.rb +21 -0
  57. data/lib/telnyx/message_number_pool.rb +9 -0
  58. data/lib/telnyx/messaging_hosted_number_order.rb +21 -0
  59. data/lib/telnyx/messaging_profile.rb +14 -2
  60. data/lib/telnyx/messaging_tollfree_verification.rb +12 -0
  61. data/lib/telnyx/messaging_url_domain.rb +9 -0
  62. data/lib/telnyx/mobile_operator_network.rb +9 -0
  63. data/lib/telnyx/mobile_push_credential.rb +11 -0
  64. data/lib/telnyx/network.rb +19 -0
  65. data/lib/telnyx/notification_channel.rb +12 -0
  66. data/lib/telnyx/notification_event.rb +9 -0
  67. data/lib/telnyx/notification_event_condition.rb +9 -0
  68. data/lib/telnyx/notification_profile.rb +12 -0
  69. data/lib/telnyx/notification_setting.rb +12 -0
  70. data/lib/telnyx/number_block_order.rb +10 -0
  71. data/lib/telnyx/ota_update.rb +9 -0
  72. data/lib/telnyx/phone_number.rb +6 -0
  73. data/lib/telnyx/phone_number_block_job.rb +14 -0
  74. data/lib/telnyx/phone_number_campaigns.rb +12 -0
  75. data/lib/telnyx/portability_check.rb +9 -0
  76. data/lib/telnyx/porting_order.rb +39 -1
  77. data/lib/telnyx/portout.rb +9 -0
  78. data/lib/telnyx/private_wireless_gateway.rb +11 -0
  79. data/lib/telnyx/public_internet_gateway.rb +11 -0
  80. data/lib/telnyx/region.rb +9 -0
  81. data/lib/telnyx/requirement.rb +8 -0
  82. data/lib/telnyx/requirement_type.rb +8 -0
  83. data/lib/telnyx/room.rb +20 -0
  84. data/lib/telnyx/room_composition.rb +11 -0
  85. data/lib/telnyx/room_participant.rb +9 -0
  86. data/lib/telnyx/room_recording.rb +10 -0
  87. data/lib/telnyx/room_session.rb +18 -0
  88. data/lib/telnyx/short_code.rb +10 -0
  89. data/lib/telnyx/sim_card.rb +28 -2
  90. data/lib/telnyx/sim_card_action.rb +12 -0
  91. data/lib/telnyx/sim_card_data_usage_notification.rb +12 -0
  92. data/lib/telnyx/sim_card_group.rb +21 -0
  93. data/lib/telnyx/sim_card_group_action.rb +8 -0
  94. data/lib/telnyx/sim_card_order.rb +10 -0
  95. data/lib/telnyx/summary.rb +9 -0
  96. data/lib/telnyx/telephony_credential.rb +22 -0
  97. data/lib/telnyx/telnyx_client.rb +1 -2
  98. data/lib/telnyx/texml_application.rb +9 -0
  99. data/lib/telnyx/verification.rb +3 -3
  100. data/lib/telnyx/verified_calls_display_profile.rb +17 -0
  101. data/lib/telnyx/verify_profile.rb +1 -0
  102. data/lib/telnyx/version.rb +1 -1
  103. data/lib/telnyx/virtual_cross_connect.rb +20 -0
  104. data/lib/telnyx/virtual_cross_connect_region.rb +9 -0
  105. data/lib/telnyx/wdr.rb +13 -0
  106. data/lib/telnyx/webhook_deliverie.rb +9 -0
  107. data/lib/telnyx/wireguard_interface.rb +11 -0
  108. data/lib/telnyx/wireguard_peer.rb +21 -0
  109. data/lib/telnyx.rb +67 -3
  110. data/server.js +31 -0
  111. data/telnyx.gemspec +4 -2
  112. data/test/telnyx/api_resource_test.rb +25 -21
  113. data/test/telnyx/available_phone_number_test.rb +6 -0
  114. data/test/telnyx/batch_mdr_report_test.rb +35 -0
  115. data/test/telnyx/billing_group_test.rb +12 -8
  116. data/test/telnyx/bulk_credential_test.rb +20 -0
  117. data/test/telnyx/bulk_sim_card_action_test.rb +22 -0
  118. data/test/telnyx/business_identitie_test.rb +25 -0
  119. data/test/telnyx/call_control_application_test.rb +13 -9
  120. data/test/telnyx/call_control_test.rb +24 -23
  121. data/test/telnyx/call_event_test.rb +14 -0
  122. data/test/telnyx/call_recording_test.rb +28 -0
  123. data/test/telnyx/call_test.rb +29 -0
  124. data/test/telnyx/campaign_test.rb +32 -0
  125. data/test/telnyx/cdr_usage_report_test.rb +15 -0
  126. data/test/telnyx/channel_zone_test.rb +14 -0
  127. data/test/telnyx/comment_test.rb +32 -0
  128. data/test/telnyx/conference_test.rb +27 -16
  129. data/test/telnyx/connection_test.rb +8 -1
  130. data/test/telnyx/credential_connection_test.rb +5 -4
  131. data/test/telnyx/csv_download_test.rb +33 -0
  132. data/test/telnyx/custom_storage_credential_test.rb +17 -0
  133. data/test/telnyx/detail_record_test.rb +15 -0
  134. data/test/telnyx/dialogflow_connection_test.rb +32 -0
  135. data/test/telnyx/embedding_test.rb +27 -0
  136. data/test/telnyx/enum_test.rb +15 -0
  137. data/test/telnyx/fax_application_test.rb +5 -4
  138. data/test/telnyx/fax_test.rb +13 -4
  139. data/test/telnyx/fqdn_connection_test.rb +5 -5
  140. data/test/telnyx/fqdn_test.rb +12 -7
  141. data/test/telnyx/global_ip_allowed_port_test.rb +14 -0
  142. data/test/telnyx/global_ip_assignment_health_test.rb +14 -0
  143. data/test/telnyx/global_ip_assignment_test.rb +44 -0
  144. data/test/telnyx/global_ip_latency_test.rb +14 -0
  145. data/test/telnyx/global_ip_protocol_test.rb +14 -0
  146. data/test/telnyx/global_ip_test.rb +35 -0
  147. data/test/telnyx/global_ip_usage_test.rb +14 -0
  148. data/test/telnyx/inference_test.rb +12 -0
  149. data/test/telnyx/ip_connection_test.rb +12 -8
  150. data/test/telnyx/ip_test.rb +12 -8
  151. data/test/telnyx/ledger_billing_group_report_test.rb +18 -0
  152. data/test/telnyx/managed_account_test.rb +42 -0
  153. data/test/telnyx/mdr_usage_report_test.rb +47 -0
  154. data/test/telnyx/message_number_pool_test.rb +18 -0
  155. data/test/telnyx/message_test.rb +2 -2
  156. data/test/telnyx/messaging_phone_number_test.rb +2 -1
  157. data/test/telnyx/messaging_profile_test.rb +26 -14
  158. data/test/telnyx/messaging_tollfree_verification_test.rb +71 -0
  159. data/test/telnyx/messaging_url_domain_test.rb +14 -0
  160. data/test/telnyx/mobile_operator_network_test.rb +15 -0
  161. data/test/telnyx/mobile_push_credential_test.rb +33 -0
  162. data/test/telnyx/network_test.rb +49 -0
  163. data/test/telnyx/number_block_order_test.rb +28 -0
  164. data/test/telnyx/number_order_document_test.rb +4 -3
  165. data/test/telnyx/number_order_test.rb +3 -2
  166. data/test/telnyx/number_reservation_test.rb +2 -2
  167. data/test/telnyx/ota_update_test.rb +20 -0
  168. data/test/telnyx/phone_number_block_job_test.rb +25 -0
  169. data/test/telnyx/phone_number_regulatory_requirement_test.rb +2 -1
  170. data/test/telnyx/phone_number_test.rb +8 -6
  171. data/test/telnyx/porting_order_test.rb +45 -10
  172. data/test/telnyx/private_wireless_gateway_test.rb +32 -0
  173. data/test/telnyx/public_internet_gateway_test.rb +32 -0
  174. data/test/telnyx/queue_test.rb +9 -6
  175. data/test/telnyx/region_test.rb +14 -0
  176. data/test/telnyx/regulatory_requirement_test.rb +6 -3
  177. data/test/telnyx/requirement_test.rb +22 -0
  178. data/test/telnyx/requirement_type_test.rb +22 -0
  179. data/test/telnyx/room_composition_test.rb +32 -0
  180. data/test/telnyx/room_participant_test.rb +19 -0
  181. data/test/telnyx/room_recording_test.rb +27 -0
  182. data/test/telnyx/room_session_test.rb +47 -0
  183. data/test/telnyx/room_test.rb +52 -0
  184. data/test/telnyx/short_code_test.rb +30 -0
  185. data/test/telnyx/sim_card_data_usage_notification_test.rb +42 -0
  186. data/test/telnyx/sim_card_group_action_test.rb +22 -0
  187. data/test/telnyx/sim_card_group_test.rb +59 -0
  188. data/test/telnyx/sim_card_order_test.rb +27 -0
  189. data/test/telnyx/sim_card_test.rb +75 -10
  190. data/test/telnyx/summary_test.rb +12 -0
  191. data/test/telnyx/telephony_credential_test.rb +35 -6
  192. data/test/telnyx/texml_application_test.rb +25 -0
  193. data/test/telnyx/verification_test.rb +4 -4
  194. data/test/telnyx/verified_calls_display_profile_test.rb +33 -0
  195. data/test/telnyx/verify_profile_test.rb +16 -7
  196. data/test/telnyx/virtual_cross_connect_region_test.rb +22 -0
  197. data/test/telnyx/virtual_cross_connect_test.rb +49 -0
  198. data/test/telnyx/wdr_test.rb +14 -0
  199. data/test/telnyx/webhook_deliverie_test.rb +23 -0
  200. data/test/telnyx/wireguard_interface_test.rb +32 -0
  201. data/test/telnyx/wireguard_peer_test.rb +48 -0
  202. data/test/test_helper.rb +10 -26
  203. metadata +235 -37
  204. data/examples/2 factor authentication/Gemfile +0 -7
  205. data/examples/2 factor authentication/main.rb +0 -67
  206. data/examples/2 factor authentication/readme.md +0 -5
  207. data/test/telnyx_mock.rb +0 -78
@@ -4,6 +4,9 @@ require_relative "../test_helper"
4
4
 
5
5
  module Telnyx
6
6
  class MessagingProfileTest < Test::Unit::TestCase
7
+ setup do
8
+ @id = "fa47ef1f-1534-bf92-3893-35cb41870c50"
9
+ end
7
10
  should "be listable" do
8
11
  messaging_profiles = Telnyx::MessagingProfile.list
9
12
  assert_requested :get, "#{Telnyx.api_base}/v2/messaging_profiles"
@@ -12,8 +15,8 @@ module Telnyx
12
15
  end
13
16
 
14
17
  should "be retrievable" do
15
- messaging_profile = Telnyx::MessagingProfile.retrieve("123")
16
- assert_requested :get, "#{Telnyx.api_base}/v2/messaging_profiles/123"
18
+ messaging_profile = Telnyx::MessagingProfile.retrieve(@id)
19
+ assert_requested :get, "#{Telnyx.api_base}/v2/messaging_profiles/#{@id}"
17
20
  assert messaging_profile.is_a?(Telnyx::MessagingProfile)
18
21
  end
19
22
 
@@ -25,8 +28,8 @@ module Telnyx
25
28
 
26
29
  should "be saveable" do
27
30
  # stub out save until number_pool_settings issue is worked out
28
- messaging_profile = Telnyx::MessagingProfile.retrieve("123")
29
- stub = stub_request(:patch, "#{Telnyx.api_base}/v2/messaging_profiles/123")
31
+ messaging_profile = Telnyx::MessagingProfile.retrieve(@id)
32
+ stub = stub_request(:patch, "#{Telnyx.api_base}/v2/messaging_profiles/#{messaging_profile.id}")
30
33
  .with(body: hash_including(name: "foo"))
31
34
  .to_return(body: JSON.generate(data: messaging_profile))
32
35
  messaging_profile.name = "foo"
@@ -37,37 +40,46 @@ module Telnyx
37
40
 
38
41
  should "be updatable" do
39
42
  # stub out save until number_pool_settings issue is worked out
40
- stub = stub_request(:patch, "#{Telnyx.api_base}/v2/messaging_profiles/123")
43
+ stub = stub_request(:patch, "#{Telnyx.api_base}/v2/messaging_profiles/#{@id}")
41
44
  .with(body: hash_including(name: "foo"))
42
- .to_return(body: JSON.generate(data: MessagingProfile.retrieve("123")))
43
- messaging_profile = Telnyx::MessagingProfile.update("123", name: "foo")
44
- # assert_requested :patch, "#{Telnyx.api_base}/v2/messaging_profiles/123"
45
+ .to_return(body: JSON.generate(data: MessagingProfile.retrieve(@id)))
46
+ messaging_profile = Telnyx::MessagingProfile.update(@id, name: "foo")
47
+ # assert_requested :patch, "#{Telnyx.api_base}/v2/messaging_profiles/#{@id}"
45
48
  assert_requested stub
46
49
  assert messaging_profile.is_a?(Telnyx::MessagingProfile)
47
50
  end
48
51
 
49
52
  should "be deletable" do
50
- messaging_profile = Telnyx::MessagingProfile.retrieve("123")
53
+ messaging_profile = Telnyx::MessagingProfile.retrieve(@id)
54
+ id = messaging_profile.id.freeze
51
55
  messaging_profile = messaging_profile.delete
52
- assert_requested :delete, "#{Telnyx.api_base}/v2/messaging_profiles/#{messaging_profile.id}"
56
+ assert_requested :delete, "#{Telnyx.api_base}/v2/messaging_profiles/#{id}"
53
57
  assert messaging_profile.is_a?(Telnyx::MessagingProfile)
54
58
  end
55
59
 
56
60
  should "be able to list PhoneNumbers" do
57
- messaging_profile = Telnyx::MessagingProfile.retrieve("123")
61
+ messaging_profile = Telnyx::MessagingProfile.retrieve(@id)
62
+ id = messaging_profile.id.freeze
58
63
  phone_numbers = messaging_profile.phone_numbers
59
- assert_requested :get, "#{Telnyx.api_base}/v2/messaging_profiles/123/phone_numbers"
64
+ assert_requested :get, "#{Telnyx.api_base}/v2/messaging_profiles/#{id}/phone_numbers"
60
65
  assert phone_numbers.data.is_a?(Array)
61
66
  assert_kind_of Telnyx::MessagingPhoneNumber, phone_numbers.data[0]
62
67
  end
63
68
 
64
69
  should "be able to list alphanumeric sender ids" do
65
70
  omit "alphanumeric ids mock spec removed"
66
- messaging_profile = Telnyx::MessagingProfile.retrieve("123")
71
+ messaging_profile = Telnyx::MessagingProfile.retrieve(@id)
67
72
  alphanumeric_sender_ids = messaging_profile.alphanumeric_sender_ids
68
- assert_requested :get, "#{Telnyx.api_base}/v2/messaging_profiles/123/alphanumeric_sender_ids"
73
+ assert_requested :get, "#{Telnyx.api_base}/v2/messaging_profiles/#{@id}/alphanumeric_sender_ids"
69
74
  assert_kind_of Telnyx::ListObject, alphanumeric_sender_ids
70
75
  assert_kind_of Telnyx::AlphanumericSenderId, alphanumeric_sender_ids.first
71
76
  end
77
+
78
+ should "be able to list autoresp_configs" do
79
+ messaging_profile = Telnyx::MessagingProfile.retrieve(@id)
80
+ id = messaging_profile.id.freeze
81
+ messaging_profile.autoresp_configs
82
+ assert_requested :get, "#{Telnyx.api_base}/v2/messaging_profiles/#{id}/autoresp_configs"
83
+ end
72
84
  end
73
85
  end
@@ -0,0 +1,71 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "../test_helper"
4
+
5
+ module Telnyx
6
+ class MessagingTollfreeVerificationTest < Test::Unit::TestCase
7
+ setup do
8
+ @id = "d25f43b3-aea3-6a5d-7a1b-d83e5c100cce"
9
+ end
10
+ should "retrieve tollfree_verification" do
11
+ omit "ID 'keys' req mismatch"
12
+ messaging_tollfree_verification = MessagingTollfreeVerification.retrieve @id
13
+ assert_requested(:get, "#{Telnyx.api_base}/v2/messaging_tollfree/verification/requests/#{@id}")
14
+ assert_kind_of MessagingTollfreeVerification, messaging_tollfree_verification
15
+ end
16
+
17
+ should "list tollfree_verifications" do
18
+ omit "ID req mismatch"
19
+ simlist = MessagingTollfreeVerification.list
20
+ assert_requested(:get, "#{Telnyx.api_base}/v2/messaging_tollfree/verification/requests")
21
+ assert_kind_of Telnyx::ListObject, simlist
22
+ end
23
+
24
+ should "create tollfree_verifications" do
25
+ MessagingTollfreeVerification.create(
26
+ businessName: "Telnyx LLC",
27
+ corporateWebsite: "http://example.com",
28
+ businessAddr1: "311 W Superior St",
29
+ businessCity: "hello",
30
+ businessState: "311 W Superior St",
31
+ businessZip: "60654",
32
+ businessContactFirstName: "john",
33
+ businessContactLastName: "paol",
34
+ businessContactEmail: "paol@example.com",
35
+ businessContactPhone: "+18889809750",
36
+ messageVolume: "100,000",
37
+ phoneNumbers: [
38
+ {
39
+ "phoneNumber": "+18773554398"
40
+ },
41
+ {
42
+ "phoneNumber": "+18773554399"
43
+ }
44
+ ],
45
+ useCase: "2FA",
46
+ useCaseSummary: "This is a use case",
47
+ productionMessageContent: "Your Telnyx OTP is XXXX",
48
+ optInWorkflow: "Your Telnyx",
49
+ optInWorkflowImageURLs: [
50
+ {
51
+ "url": "https://telnyx.com/sign-up"
52
+ },
53
+ {
54
+ "url": "https://telnyx.com/company/data-privacy"
55
+ }
56
+ ],
57
+ additionalInformation: "nothing",
58
+ isvReseller: "Yes"
59
+ )
60
+ assert_requested(:post, "#{Telnyx.api_base}/v2/messaging_tollfree/verification/requests")
61
+ end
62
+
63
+ should "delete tollfree_verification" do
64
+ omit "ID req mismatch"
65
+ messaging_tollfree_verification = MessagingTollfreeVerification.retrieve @id
66
+ id = messaging_tollfree_verification.id.freeze
67
+ messaging_tollfree_verification.delete
68
+ assert_requested(:delete, "#{Telnyx.api_base}/v2/messaging_tollfree/verification/requests/#{id}")
69
+ end
70
+ end
71
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "../test_helper"
4
+
5
+ module Telnyx
6
+ class MessagingUrlDomainTest < Test::Unit::TestCase
7
+ should "be listable" do
8
+ messaging_url_domains = MessagingUrlDomain.list
9
+ assert_requested :get, "#{Telnyx.api_base}/v2/messaging_url_domains"
10
+ assert messaging_url_domains.is_a?(ListObject)
11
+ assert messaging_url_domains[:data].is_a?(Array)
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "../test_helper"
4
+
5
+ module Telnyx
6
+ class MobileOperatorNetworkTest < Test::Unit::TestCase
7
+ should "be listable" do
8
+ omit "Object can't be transformed to text"
9
+ mobile_ops = MobileOperatorNetwork.list
10
+ assert_requested :get, "#{Telnyx.api_base}/v2/mobile_operator_networks"
11
+ assert_kind_of ListObject, mobile_ops
12
+ assert_kind_of TelnyxObject, mobile_ops.first
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,33 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "../test_helper"
4
+
5
+ module Telnyx
6
+ class MobilePushCredentialTest < Test::Unit::TestCase
7
+ setup do
8
+ @id = "ebb9daec-eb8a-8caa-0105-2b6f56f5a11c"
9
+ end
10
+ should "be creatable" do
11
+ MobilePushCredential.create(type: "ios", alias: "Lucy", private_key: "PRIVATE KEY", server_key: "key", certificate: "certificate")
12
+ assert_requested :post, "#{Telnyx.api_base}/v2/mobile_push_credentials"
13
+ end
14
+
15
+ should "be listable" do
16
+ mobile_push_credentials = MobilePushCredential.list
17
+ assert_requested :get, "#{Telnyx.api_base}/v2/mobile_push_credentials"
18
+ assert mobile_push_credentials.data.is_a?(Array)
19
+ end
20
+
21
+ should "be retrievable" do
22
+ MobilePushCredential.retrieve(@id)
23
+ assert_requested :get, "#{Telnyx.api_base}/v2/mobile_push_credentials/#{@id}"
24
+ end
25
+
26
+ should "be deletable" do
27
+ mobile_push_credential = MobilePushCredential.retrieve(@id)
28
+ id = mobile_push_credential.id.freeze
29
+ mobile_push_credential.delete
30
+ assert_requested :delete, "#{Telnyx.api_base}/v2/mobile_push_credentials/#{id}"
31
+ end
32
+ end
33
+ end
@@ -0,0 +1,49 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "../test_helper"
4
+
5
+ module Telnyx
6
+ class NetworkTest < Test::Unit::TestCase
7
+ setup do
8
+ @id = "ebb9daec-eb8a-8caa-0105-2b6f56f5a11c"
9
+ end
10
+ should "be creatable" do
11
+ Telnyx::Network.create(name: "Foo")
12
+ assert_requested :post, "#{Telnyx.api_base}/v2/networks"
13
+ end
14
+
15
+ should "be listable" do
16
+ networks = Telnyx::Network.list
17
+ assert_requested :get, "#{Telnyx.api_base}/v2/networks"
18
+ assert networks.data.is_a?(Array)
19
+ end
20
+
21
+ should "be retrievable" do
22
+ Telnyx::Network.retrieve(@id)
23
+ assert_requested :get, "#{Telnyx.api_base}/v2/networks/#{@id}"
24
+ end
25
+
26
+ should "be updatable" do
27
+ network = Network.retrieve(@id)
28
+
29
+ network.name = "new name"
30
+ id = network.id.freeze
31
+ network.save
32
+ assert_requested :patch, "#{Telnyx.api_base}/v2/networks/#{id}"
33
+ end
34
+
35
+ should "be deletable" do
36
+ network = Network.retrieve(@id)
37
+ id = network.id.freeze
38
+ network.delete
39
+ assert_requested :delete, "#{Telnyx.api_base}/v2/networks/#{id}"
40
+ end
41
+
42
+ should "list network_interfaces" do
43
+ network = Network.retrieve(@id)
44
+ id = network.id.freeze
45
+ network.network_interfaces
46
+ assert_requested :get, "#{Telnyx.api_base}/v2/networks/#{id}/network_interfaces"
47
+ end
48
+ end
49
+ end
@@ -0,0 +1,28 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "../test_helper"
4
+
5
+ module Telnyx
6
+ class NumberBlockOrderTest < Test::Unit::TestCase
7
+ should "be listable" do
8
+ number_block_orders = Telnyx::NumberBlockOrder.list
9
+ assert_requested :get, "#{Telnyx.api_base}/v2/number_block_orders"
10
+ assert_kind_of Telnyx::ListObject, number_block_orders
11
+ assert_kind_of Telnyx::TelnyxObject, number_block_orders.first
12
+ end
13
+
14
+ should "be creatable" do
15
+ NumberBlockOrder.create(
16
+ starting_number: "123",
17
+ range: -57_315_323
18
+ )
19
+ assert_requested :post, "#{Telnyx.api_base}/v2/number_block_orders"
20
+ end
21
+
22
+ should "be retrievable" do
23
+ number_order = Telnyx::NumberBlockOrder.retrieve "123"
24
+ assert_requested :get, "#{Telnyx.api_base}/v2/number_block_orders/123"
25
+ assert_kind_of Telnyx::NumberBlockOrder, number_order
26
+ end
27
+ end
28
+ end
@@ -14,21 +14,22 @@ module Telnyx
14
14
  should "be creatable" do
15
15
  number_order_document = NumberOrderDocument.create
16
16
  assert_requested :post, "#{Telnyx.api_base}/v2/number_order_documents"
17
- assert_kind_of NumberOrderDocument, number_order_document
17
+ assert_kind_of TelnyxObject, number_order_document
18
18
  end
19
19
 
20
20
  should "be listable" do
21
21
  number_order_documents = NumberOrderDocument.list
22
22
  assert_requested :get, "#{Telnyx.api_base}/v2/number_order_documents"
23
23
  assert_kind_of Array, number_order_documents.data
24
- assert_kind_of NumberOrderDocument, number_order_documents.first
24
+ assert_kind_of TelnyxObject, number_order_documents.first
25
25
  end
26
26
 
27
27
  should "be saveable" do
28
28
  number_order_document = NumberOrderDocument.retrieve("12345")
29
29
  number_order_document.file_id = "1234"
30
+ id = number_order_document.id.freeze
30
31
  number_order_document.save
31
- assert_requested :patch, "#{Telnyx.api_base}/v2/number_order_documents/#{number_order_document.id}"
32
+ assert_requested :patch, "#{Telnyx.api_base}/v2/number_order_documents/#{id}"
32
33
  assert_kind_of NumberOrderDocument, number_order_document
33
34
  end
34
35
  end
@@ -8,7 +8,7 @@ module Telnyx
8
8
  number_orders = Telnyx::NumberOrder.list
9
9
  assert_requested :get, "#{Telnyx.api_base}/v2/number_orders"
10
10
  assert_kind_of Telnyx::ListObject, number_orders
11
- assert_kind_of Telnyx::NumberOrder, number_orders.first
11
+ assert_kind_of Telnyx::TelnyxObject, number_orders.first
12
12
  end
13
13
 
14
14
  should "be creatable" do
@@ -31,8 +31,9 @@ module Telnyx
31
31
  should "be savable" do
32
32
  number_order = Telnyx::NumberOrder.retrieve "123"
33
33
  number_order.customer_reference = "foobar"
34
+ id = number_order.id.freeze
34
35
  number_order.save
35
- assert_requested :patch, "#{Telnyx.api_base}/v2/number_orders/123"
36
+ assert_requested :patch, "#{Telnyx.api_base}/v2/number_orders/#{id}"
36
37
  assert_kind_of Telnyx::NumberOrder, number_order
37
38
  end
38
39
  end
@@ -8,14 +8,14 @@ module Telnyx
8
8
  number_reservations = Telnyx::NumberReservation.list
9
9
  assert_requested :get, "#{Telnyx.api_base}/v2/number_reservations"
10
10
  assert_kind_of Telnyx::ListObject, number_reservations
11
- assert_kind_of Telnyx::NumberReservation, number_reservations.first
11
+ assert_kind_of Telnyx::TelnyxObject, number_reservations.first
12
12
  end
13
13
 
14
14
  should "call extend" do
15
15
  number_reservation = Telnyx::NumberReservation.list.first
16
16
  stub = stub_request(:post, "#{Telnyx.api_base}/v2/number_reservations/#{number_reservation.id}/actions/extend")
17
17
  .to_return(body: JSON.generate(id: "123"))
18
- number_reservation.extend_number
18
+ Telnyx::NumberReservation.extend_number(number_reservation.id)
19
19
  assert_requested stub
20
20
  end
21
21
  end
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "../test_helper"
4
+
5
+ module Telnyx
6
+ class OtaUpdateTest < Test::Unit::TestCase
7
+ should "be retrievable" do
8
+ ota_update = OtaUpdate.retrieve "25cf43af-0011-1d29-73df-1fee18f3d15c"
9
+ assert_requested :get, "#{Telnyx.api_base}/v2/ota_updates/25cf43af-0011-1d29-73df-1fee18f3d15c"
10
+ assert_kind_of OtaUpdate, ota_update
11
+ end
12
+
13
+ should "be listable" do
14
+ ota_updates = OtaUpdate.list
15
+ assert_requested :get, "#{Telnyx.api_base}/v2/ota_updates"
16
+ assert_kind_of ListObject, ota_updates
17
+ assert_kind_of TelnyxObject, ota_updates.first
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,25 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "../test_helper"
4
+
5
+ module Telnyx
6
+ class PhoneNumberBlockJobTest < Test::Unit::TestCase
7
+ should "be listable" do
8
+ jobs = Telnyx::PhoneNumberBlockJob.list
9
+ assert_requested :get, "#{Telnyx.api_base}/v2/phone_number_blocks/jobs"
10
+ assert_kind_of Telnyx::ListObject, jobs
11
+ assert_kind_of Telnyx::TelnyxObject, jobs.first
12
+ end
13
+
14
+ should "be delete_phone_number_block" do
15
+ PhoneNumberBlockJob.delete_phone_number_block(phone_number_block_id: "123")
16
+ assert_requested :post, "#{Telnyx.api_base}/v2/phone_number_blocks/jobs/delete_phone_number_block"
17
+ end
18
+
19
+ should "be retrievable" do
20
+ number_order = PhoneNumberBlockJob.retrieve "123"
21
+ assert_requested :get, "#{Telnyx.api_base}/v2/phone_number_blocks/jobs/123"
22
+ assert_kind_of PhoneNumberBlockJob, number_order
23
+ end
24
+ end
25
+ end
@@ -6,9 +6,10 @@ require_relative "../test_helper"
6
6
  module Telnyx
7
7
  class PhoneNumberRegulatoryRequirementTest < Test::Unit::TestCase
8
8
  should "be listable" do
9
+ omit "ID req mismatch"
9
10
  phone_number_reg_req = PhoneNumberRegulatoryRequirement.list
10
11
  assert_requested :get, "#{Telnyx.api_base}/v2/phone_numbers_regulatory_requirements"
11
- assert_kind_of PhoneNumberRegulatoryRequirement, phone_number_reg_req.first
12
+ assert_kind_of TelnyxObject, phone_number_reg_req.first
12
13
  end
13
14
  end
14
15
  end
@@ -77,20 +77,22 @@ module Telnyx
77
77
 
78
78
  should "get messaging" do
79
79
  phone_number = Telnyx::PhoneNumber.retrieve("123")
80
+ id = phone_number.id.gsub(/\s+/, "+").freeze
80
81
  phone_number.messaging
81
- assert_requested :get, "#{Telnyx.api_base}/v2/phone_numbers/123/messaging"
82
+ assert_requested :get, "#{Telnyx.api_base}/v2/phone_numbers/#{id}/messaging"
82
83
  end
83
84
 
84
85
  should "update messaging" do
85
86
  phone_number = Telnyx::PhoneNumber.retrieve("123")
87
+ id = phone_number.id.gsub(/\s+/, "+").freeze
86
88
  phone_number.update_messaging(messaging_profile_id: "12345", messaging_product: "P2P")
87
- assert_requested :patch, "#{Telnyx.api_base}/v2/phone_numbers/123/messaging"
89
+ assert_requested :patch, "#{Telnyx.api_base}/v2/phone_numbers/#{id}/messaging"
88
90
  end
89
91
 
90
92
  should "list inbound channels" do
91
93
  phone_number = Telnyx::PhoneNumber.retrieve("123")
92
- inbound_channels = phone_number.inbound_channels
93
- assert_equal inbound_channels, 7
94
+ phone_number.inbound_channels
95
+ # assert_equal inbound_channels, 7
94
96
  assert_requested :get, "#{Telnyx.api_base}/v2/phone_numbers/inbound_channels"
95
97
  end
96
98
 
@@ -119,7 +121,7 @@ module Telnyx
119
121
 
120
122
  def mock_response(id = nil)
121
123
  {
122
- id: (id || rand(0...1_000_000_000_000)),
124
+ id: id || rand(0...1_000_000_000_000),
123
125
  record_type: :phone_number,
124
126
  status: rand(1..10),
125
127
  phone_number: "+15555555555",
@@ -129,7 +131,7 @@ module Telnyx
129
131
 
130
132
  def mock_voice_response(id = nil)
131
133
  {
132
- connection_id: (id || rand(0...1_000_000_000_000)),
134
+ connection_id: id || rand(0...1_000_000_000_000),
133
135
  connection_name: "Telnyx connection",
134
136
  }
135
137
  end
@@ -3,11 +3,14 @@
3
3
  require_relative "../test_helper"
4
4
  module Telnyx
5
5
  class PortingOrderTest < Test::Unit::TestCase
6
+ setup do
7
+ @id = "759c55a4-a98b-fcd3-4029-17ebe4f0468f"
8
+ end
6
9
  should "list porting orders" do
7
10
  porting_orders = PortingOrder.list
8
11
  assert_requested :get, "#{Telnyx.api_base}/v2/porting_orders"
9
12
  assert_kind_of ListObject, porting_orders
10
- assert_kind_of PortingOrder, porting_orders.first
13
+ assert_kind_of TelnyxObject, porting_orders.first
11
14
  end
12
15
 
13
16
  should "create porting order" do
@@ -16,36 +19,68 @@ module Telnyx
16
19
  end
17
20
 
18
21
  should "retrieve porting order" do
19
- porting_order = PortingOrder.retrieve "id"
20
- assert_requested :get, "#{Telnyx.api_base}/v2/porting_orders/id"
22
+ porting_order = PortingOrder.retrieve @id
23
+ assert_requested :get, "#{Telnyx.api_base}/v2/porting_orders/#{@id}"
21
24
  assert_kind_of PortingOrder, porting_order
22
25
  end
23
26
 
24
27
  should "delete porting order" do
25
- porting_order = PortingOrder.retrieve("id")
26
-
28
+ porting_order = PortingOrder.retrieve(@id)
29
+ id = porting_order.id.freeze
27
30
  porting_order.delete
28
- assert_requested :delete, "#{Telnyx.api_base}/v2/porting_orders/#{porting_order.id}"
31
+ assert_requested :delete, "#{Telnyx.api_base}/v2/porting_orders/#{id}"
29
32
  end
30
33
 
31
34
  should "update porting order" do
32
- porting_order = PortingOrder.retrieve("id")
33
-
35
+ porting_order = PortingOrder.retrieve(@id)
36
+ id = porting_order.id.freeze
34
37
  porting_order.user_feedback.user_comment = "user comment!"
35
38
  porting_order.save
36
- assert_requested :patch, "#{Telnyx.api_base}/v2/porting_orders/#{porting_order.id}"
39
+ assert_requested :patch, "#{Telnyx.api_base}/v2/porting_orders/#{id}"
37
40
  end
38
41
 
39
42
  context "commands" do
40
43
  should "get loa template" do
41
44
  omit "API still in beta"
42
- porting_order = PortingOrder.retrieve("id")
45
+ porting_order = PortingOrder.retrieve(@id)
43
46
 
44
47
  porting_order.loa_template
45
48
 
46
49
  assert_requested :get, "#{Telnyx.api_base}/v2/porting_orders/#{porting_order.id}/loa_template"
47
50
  end
48
51
 
52
+ should "get sub request" do
53
+ porting_order = PortingOrder.retrieve(@id)
54
+
55
+ porting_order.sub_request
56
+
57
+ assert_requested :get, "#{Telnyx.api_base}/v2/porting_orders/#{porting_order.id}/sub_request"
58
+ end
59
+
60
+ should "get requirements" do
61
+ porting_order = PortingOrder.retrieve(@id)
62
+
63
+ req = porting_order.requirements
64
+ req.is_a?(Array)
65
+ end
66
+
67
+ should "get comments" do
68
+ porting_order = PortingOrder.retrieve(@id)
69
+
70
+ porting_order.comments
71
+
72
+ assert_requested :get, "#{Telnyx.api_base}/v2/porting_orders/#{porting_order.id}/comments"
73
+ end
74
+
75
+ should "activate porting order" do
76
+ omit "422 response, lack of proper object"
77
+ porting_order = PortingOrder.retrieve(@id)
78
+
79
+ porting_order.activate
80
+
81
+ assert_requested :post, "#{Telnyx.api_base}/v2/porting_orders/#{porting_order.id}/actions/activate"
82
+ end
83
+
49
84
  should "fetch porting phone numbers" do
50
85
  end
51
86
  end
@@ -0,0 +1,32 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "../test_helper"
4
+
5
+ module Telnyx
6
+ class PrivateWirelessGatewayTest < Test::Unit::TestCase
7
+ setup do
8
+ @id = "d25f43b3-aea3-6a5d-7a1b-d83e5c100cce"
9
+ @private_wireless_gateway = PrivateWirelessGateway.retrieve @id
10
+ end
11
+ should "retrieve private_wireless_gateway" do
12
+ assert_requested(:get, "#{Telnyx.api_base}/v2/private_wireless_gateways/#{@id}")
13
+ assert_kind_of Telnyx::PrivateWirelessGateway, @private_wireless_gateway
14
+ end
15
+
16
+ should "list private_wireless_gateways" do
17
+ private_wireless_gateway = PrivateWirelessGateway.list
18
+ assert_requested(:get, "#{Telnyx.api_base}/v2/private_wireless_gateways")
19
+ assert_kind_of Telnyx::ListObject, private_wireless_gateway
20
+ end
21
+
22
+ should "delete private_wireless_gateway" do
23
+ id = @private_wireless_gateway.id.gsub(/\s+/, "+").freeze
24
+ @private_wireless_gateway.delete
25
+ assert_requested(:delete, "#{Telnyx.api_base}/v2/private_wireless_gateways/#{id}")
26
+ end
27
+ should "be creatable" do
28
+ PrivateWirelessGateway.create(name: "internet gateway", network_id: "471b9dec-6aa5-41e5-ad4e-634ba1dcb5ce", region: { code: "example code", name: "region", record_type: "region" })
29
+ assert_requested(:post, "#{Telnyx.api_base}/v2/private_wireless_gateways")
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,32 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "../test_helper"
4
+
5
+ module Telnyx
6
+ class PublicInternetGatewayTest < Test::Unit::TestCase
7
+ setup do
8
+ @id = "d25f43b3-aea3-6a5d-7a1b-d83e5c100cce"
9
+ @public_internet_gateway = PublicInternetGateway.retrieve @id
10
+ end
11
+ should "retrieve public_internet_gateway" do
12
+ assert_requested(:get, "#{Telnyx.api_base}/v2/public_internet_gateways/#{@id}")
13
+ assert_kind_of Telnyx::PublicInternetGateway, @public_internet_gateway
14
+ end
15
+
16
+ should "list public_internet_gateways" do
17
+ public_internet_gateway = PublicInternetGateway.list
18
+ assert_requested(:get, "#{Telnyx.api_base}/v2/public_internet_gateways")
19
+ assert_kind_of Telnyx::ListObject, public_internet_gateway
20
+ end
21
+
22
+ should "delete public_internet_gateway" do
23
+ id = @public_internet_gateway.id.gsub(/\s+/, "+").freeze
24
+ @public_internet_gateway.delete
25
+ assert_requested(:delete, "#{Telnyx.api_base}/v2/public_internet_gateways/#{id}")
26
+ end
27
+ should "be creatable" do
28
+ PublicInternetGateway.create(name: "internet gateway", network_id: "471b9dec-6aa5-41e5-ad4e-634ba1dcb5ce", region: { code: "example code", name: "region", record_type: "region" })
29
+ assert_requested(:post, "#{Telnyx.api_base}/v2/public_internet_gateways")
30
+ end
31
+ end
32
+ end