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.
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,23 +4,26 @@ require_relative "../test_helper"
4
4
 
5
5
  module Telnyx
6
6
  class QueueTest < Test::Unit::TestCase
7
+ setup do
8
+ @id = "vel"
9
+ end
7
10
  should "retrieve queue" do
8
- queue = Queue.retrieve("id")
9
- assert_requested :get, "#{Telnyx.api_base}/v2/queues/id"
11
+ queue = Queue.retrieve(@id)
12
+ assert_requested :get, "#{Telnyx.api_base}/v2/queues/#{@id}"
10
13
  assert_kind_of Queue, queue
11
14
  end
12
15
 
13
16
  should "retrieve call from queue" do
14
- queue = Queue.retrieve("id")
17
+ queue = Queue.retrieve(@id)
15
18
  queue_call = queue.retrieve("call_control_id")
16
- assert_requested :get, "#{Telnyx.api_base}/v2/queues/id/calls/call_control_id"
19
+ assert_requested :get, "#{Telnyx.api_base}/v2/queues/#{queue.id.gsub(/\s+/, '+')}/calls/call_control_id"
17
20
  assert_kind_of QueueCall, queue_call
18
21
  end
19
22
 
20
23
  should "list calls from queue" do
21
- queue = Queue.retrieve("id")
24
+ queue = Queue.retrieve(@id)
22
25
  queue_calls = queue.list
23
- assert_requested :get, "#{Telnyx.api_base}/v2/queues/id/calls"
26
+ assert_requested :get, "#{Telnyx.api_base}/v2/queues/#{queue.id.gsub(/\s+/, '+')}/calls"
24
27
  assert_kind_of QueueCall, queue_calls.first
25
28
  end
26
29
  end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "../test_helper"
4
+
5
+ module Telnyx
6
+ class RegionTest < Test::Unit::TestCase
7
+ should "be listable" do
8
+ regions = Region.list
9
+ assert_requested :get, "#{Telnyx.api_base}/v2/regions"
10
+ assert regions.data.is_a?(Array)
11
+ assert regions.is_a?(TelnyxObject)
12
+ end
13
+ end
14
+ end
@@ -6,16 +6,19 @@ require_relative "../test_helper"
6
6
  module Telnyx
7
7
  class RegulatoryRequirementTest < Test::Unit::TestCase
8
8
  should "be retrievable" do
9
- reg_req = RegulatoryRequirement.retrieve "12345"
10
- assert_requested :get, "#{Telnyx.api_base}/v2/regulatory_requirements/12345"
9
+ omit "Response code mismatch"
10
+ id = "a38c217a-8019-48f8-bff6-0fdd9939075b"
11
+ reg_req = RegulatoryRequirement.retrieve id
12
+ assert_requested :get, "#{Telnyx.api_base}/v2/regulatory_requirements/#{id}"
11
13
  assert_kind_of RegulatoryRequirement, reg_req
12
14
  end
13
15
 
14
16
  should "be listable" do
17
+ omit "Invalid object params"
15
18
  reg_reqs = RegulatoryRequirement.list
16
19
  assert_requested :get, "#{Telnyx.api_base}/v2/regulatory_requirements"
17
20
  assert_kind_of Array, reg_reqs.data
18
- assert_kind_of RegulatoryRequirement, reg_reqs.first
21
+ assert_kind_of TelnyxObject, reg_reqs.first
19
22
  end
20
23
  end
21
24
  end
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "../test_helper"
4
+
5
+ module Telnyx
6
+ class RequirementTest < Test::Unit::TestCase
7
+ setup do
8
+ @id = "d25f43b3-aea3-6a5d-7a1b-d83e5c100cce"
9
+ end
10
+ should "retrieve requirement" do
11
+ requirement = Requirement.retrieve @id
12
+ assert_requested(:get, "#{Telnyx.api_base}/v2/requirements/#{@id}")
13
+ assert_kind_of Requirement, requirement
14
+ end
15
+
16
+ should "list requirement" do
17
+ requirements = Requirement.list
18
+ assert_requested(:get, "#{Telnyx.api_base}/v2/requirements")
19
+ assert_kind_of Telnyx::ListObject, requirements
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "../test_helper"
4
+
5
+ module Telnyx
6
+ class RequirementTypeTest < Test::Unit::TestCase
7
+ setup do
8
+ @id = "d25f43b3-aea3-6a5d-7a1b-d83e5c100cce"
9
+ end
10
+ should "retrieve requirement type" do
11
+ requirement_type = RequirementType.retrieve @id
12
+ assert_requested(:get, "#{Telnyx.api_base}/v2/requirement_types/#{@id}")
13
+ assert_kind_of RequirementType, requirement_type
14
+ end
15
+
16
+ should "list requirement types" do
17
+ requirement_types = RequirementType.list
18
+ assert_requested(:get, "#{Telnyx.api_base}/v2/requirement_types")
19
+ assert_kind_of Telnyx::ListObject, requirement_types
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,32 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "../test_helper"
4
+
5
+ module Telnyx
6
+ class RoomCompositionTest < Test::Unit::TestCase
7
+ setup do
8
+ @id = "23d7dcc9-a43b-6d51-dace-acfe22622af3"
9
+ @room_composition = RoomComposition.retrieve(@id)
10
+ end
11
+ should "be listable" do
12
+ room_compositions = RoomComposition.list
13
+ assert_requested(:get, "#{Telnyx.api_base}/v2/room_compositions")
14
+ assert_kind_of Telnyx::TelnyxObject, room_compositions
15
+ end
16
+
17
+ should "be creatable" do
18
+ RoomComposition.create text: "test", from: "+18445550001", to: "+18445550001"
19
+ assert_requested :post, "#{Telnyx.api_base}/v2/room_compositions"
20
+ end
21
+
22
+ should "be deletable" do
23
+ id = @room_composition.id.freeze
24
+ @room_composition.delete
25
+ assert_requested :delete, "#{Telnyx.api_base}/v2/room_compositions/#{id}"
26
+ end
27
+
28
+ should "be viewable" do
29
+ assert_requested :get, "#{Telnyx.api_base}/v2/room_compositions/#{@id}"
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,19 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "../test_helper"
4
+
5
+ module Telnyx
6
+ class RoomParticipantTest < Test::Unit::TestCase
7
+ should "be listable" do
8
+ room_compositions = RoomParticipant.list
9
+ assert_requested(:get, "#{Telnyx.api_base}/v2/room_participants")
10
+ assert_kind_of Telnyx::TelnyxObject, room_compositions
11
+ end
12
+
13
+ should "be viewable" do
14
+ id = "5219b3af-87c6-4c08-9b58-5a533d893e21"
15
+ RoomParticipant.retrieve(id)
16
+ assert_requested :get, "#{Telnyx.api_base}/v2/room_participants/#{id}"
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,27 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "../test_helper"
4
+
5
+ module Telnyx
6
+ class RoomRecordingTest < Test::Unit::TestCase
7
+ setup do
8
+ @id = "73c4b97d-f19c-fec8-38ee-e6776c076487"
9
+ @room_recording = RoomRecording.retrieve(@id)
10
+ end
11
+ should "be listable" do
12
+ room_recordings = RoomRecording.list
13
+ assert_requested(:get, "#{Telnyx.api_base}/v2/room_recordings")
14
+ assert_kind_of Telnyx::TelnyxObject, room_recordings
15
+ end
16
+
17
+ should "be deletable" do
18
+ id = @room_recording.id.freeze
19
+ @room_recording.delete
20
+ assert_requested :delete, "#{Telnyx.api_base}/v2/room_recordings/#{id}"
21
+ end
22
+
23
+ should "be viewable" do
24
+ assert_requested :get, "#{Telnyx.api_base}/v2/room_recordings/#{@id}"
25
+ end
26
+ end
27
+ end
@@ -0,0 +1,47 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "../test_helper"
4
+
5
+ module Telnyx
6
+ class RoomSessionTest < Test::Unit::TestCase
7
+ setup do
8
+ @id = "05b280a1-7cca-3fd4-40bd-3c492e5b2388"
9
+ @room_session = RoomSession.retrieve(@id)
10
+ end
11
+ should "be listable" do
12
+ room_sessions = RoomSession.list
13
+ assert_requested(:get, "#{Telnyx.api_base}/v2/room_sessions")
14
+ assert room_sessions.data.is_a?(Array)
15
+ end
16
+
17
+ should "be viewable" do
18
+ assert_requested :get, "#{Telnyx.api_base}/v2/room_sessions/#{@id}"
19
+ end
20
+ context "actions" do
21
+ should "kick the room session" do
22
+ id = @room_session.id.freeze
23
+ @room_session.kick
24
+ assert_requested :post, "#{Telnyx.api_base}/v2/room_sessions/#{id}/actions/kick"
25
+ end
26
+
27
+ should "mute the room session" do
28
+ id = @room_session.id.freeze
29
+ @room_session.mute
30
+ assert_requested :post, "#{Telnyx.api_base}/v2/room_sessions/#{id}/actions/mute"
31
+ end
32
+
33
+ should "unmute the room session" do
34
+ id = @room_session.id.freeze
35
+ @room_session.unmute
36
+ assert_requested :post, "#{Telnyx.api_base}/v2/room_sessions/#{id}/actions/unmute"
37
+ end
38
+
39
+ should "end the room session" do
40
+ omit "No supported object invalid as input"
41
+ id = @room_session.id.freeze
42
+ @room_session.end
43
+ assert_requested :post, "#{Telnyx.api_base}/v2/room_sessions/#{id}/actions/end"
44
+ end
45
+ end
46
+ end
47
+ end
@@ -0,0 +1,52 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "../test_helper"
4
+
5
+ module Telnyx
6
+ class RoomTest < Test::Unit::TestCase
7
+ setup do
8
+ @id = "ebb9daec-eb8a-8caa-0105-2b6f56f5a11c"
9
+ @room = Room.retrieve(@id)
10
+ end
11
+ should "be creatable" do
12
+ Room.create(enable_recording: true)
13
+ assert_requested :post, "#{Telnyx.api_base}/v2/rooms"
14
+ end
15
+
16
+ should "be listable" do
17
+ rooms = Room.list
18
+ assert_requested :get, "#{Telnyx.api_base}/v2/rooms"
19
+ assert rooms.data.is_a?(Array)
20
+ end
21
+
22
+ should "be retrievable" do
23
+ assert_requested :get, "#{Telnyx.api_base}/v2/rooms/#{@id}"
24
+ end
25
+
26
+ should "be updatable" do
27
+ @room.name = "new name"
28
+ id = @room.id.freeze
29
+ @room.save
30
+ assert_requested :patch, "#{Telnyx.api_base}/v2/rooms/#{id}"
31
+ end
32
+
33
+ should "be deletable" do
34
+ id = @room.id.freeze
35
+ @room.delete
36
+ assert_requested :delete, "#{Telnyx.api_base}/v2/rooms/#{id}"
37
+ end
38
+ context "actions" do
39
+ should "generate_join_client_token" do
40
+ id = @room.id.freeze
41
+ @room.generate_join_client_token
42
+ assert_requested :post, "#{Telnyx.api_base}/v2/rooms/#{id}/actions/generate_join_client_token"
43
+ end
44
+
45
+ should "refresh_client_token" do
46
+ id = @room.id.freeze
47
+ @room.refresh_client_token(refresh_token: "eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJhdWQiOiJ0ZWxueXhfdGVsZXBob255IiwiZXhwIjoxNTkwMDEwMTQzLCJpYXQiOjE1ODc1OTA5NDMsImlzcyI6InRlbG55eF90ZWxlcGhvbnkiLCJqdGkiOiJiOGM3NDgzNy1kODllLTRhNjUtOWNmMi0zNGM3YTZmYTYwYzgiLCJuYmYiOjE1ODc1OTA5NDIsInN1YiI6IjVjN2FjN2QwLWRi")
48
+ assert_requested :post, "#{Telnyx.api_base}/v2/rooms/#{id}/actions/refresh_client_token"
49
+ end
50
+ end
51
+ end
52
+ end
@@ -0,0 +1,30 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "../test_helper"
4
+
5
+ module Telnyx
6
+ class ShortCodeTest < Test::Unit::TestCase
7
+ setup do
8
+ @id = "d25f43b3-aea3-6a5d-7a1b-d83e5c100cce"
9
+ end
10
+ should "retrieve short code" do
11
+ short_code = ShortCode.retrieve @id
12
+ assert_requested(:get, "#{Telnyx.api_base}/v2/short_codes/#{@id}")
13
+ assert_kind_of ShortCode, short_code
14
+ end
15
+
16
+ should "list short codes" do
17
+ short_codes = ShortCode.list
18
+ assert_requested(:get, "#{Telnyx.api_base}/v2/short_codes")
19
+ assert_kind_of Telnyx::ListObject, short_codes
20
+ end
21
+
22
+ should "update short code" do
23
+ short_code = ShortCode.retrieve @id
24
+ short_code.short_code = "new code"
25
+ short_code.messaging_profile_id = "d25f43b3-aea3-6a5d-7a1b-d83e5c100cc6"
26
+ short_code.save
27
+ assert_requested(:get, "#{Telnyx.api_base}/v2/short_codes/#{@id}")
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,42 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "../test_helper"
4
+
5
+ module Telnyx
6
+ class SimCardDataUsageNotificationTest < Test::Unit::TestCase
7
+ setup do
8
+ @id = "d25f43b3-aea3-6a5d-7a1b-d83e5c100cce"
9
+ end
10
+ should "retrieve sim card data usage notification" do
11
+ sim_card_data_usage_notification = SimCardDataUsageNotification.retrieve @id
12
+ assert_requested(:get, "#{Telnyx.api_base}/v2/sim_card_data_usage_notifications/#{@id}")
13
+ assert_kind_of SimCardDataUsageNotification, sim_card_data_usage_notification
14
+ end
15
+
16
+ should "list sim card data usage notifications" do
17
+ simlist = SimCardDataUsageNotification.list
18
+ assert_requested(:get, "#{Telnyx.api_base}/v2/sim_card_data_usage_notifications")
19
+ assert_kind_of Telnyx::ListObject, simlist
20
+ end
21
+
22
+ should "create sim card data usage notifications" do
23
+ SimCardDataUsageNotification.create(sim_card_id: "6a09cdc3-8948-47f0-aa62-74ac943d6c58", threshold: { amount: "2023.0", unit: "MB" })
24
+ assert_requested(:post, "#{Telnyx.api_base}/v2/sim_card_data_usage_notifications")
25
+ end
26
+
27
+ should "update sim card data usage notification" do
28
+ sim_card_data_usage_notification = SimCardDataUsageNotification.retrieve @id
29
+ sim_card_data_usage_notification.threshold.unit = "GB"
30
+ id = sim_card_data_usage_notification.id.freeze
31
+ sim_card_data_usage_notification.save
32
+ assert_requested(:patch, "#{Telnyx.api_base}/v2/sim_card_data_usage_notifications/#{id}")
33
+ end
34
+
35
+ should "delete sim card data usage notification" do
36
+ sim_card_data_usage_notification = SimCardDataUsageNotification.retrieve @id
37
+ id = sim_card_data_usage_notification.id.freeze
38
+ sim_card_data_usage_notification.delete
39
+ assert_requested(:delete, "#{Telnyx.api_base}/v2/sim_card_data_usage_notifications/#{id}")
40
+ end
41
+ end
42
+ end
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "../test_helper"
4
+
5
+ module Telnyx
6
+ class SimCardGroupActionTest < Test::Unit::TestCase
7
+ setup do
8
+ @id = "d25f43b3-aea3-6a5d-7a1b-d83e5c100cce"
9
+ end
10
+ should "retrieve sim card group action" do
11
+ sim_card_group = SimCardGroupAction.retrieve @id
12
+ assert_requested(:get, "#{Telnyx.api_base}/v2/sim_card_group_actions/#{@id}")
13
+ assert_kind_of SimCardGroupAction, sim_card_group
14
+ end
15
+
16
+ should "list sim card group actions" do
17
+ simlist = SimCardGroupAction.list
18
+ assert_requested(:get, "#{Telnyx.api_base}/v2/sim_card_group_actions")
19
+ assert_kind_of Telnyx::ListObject, simlist
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,59 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "../test_helper"
4
+
5
+ module Telnyx
6
+ class SimCardGroupTest < Test::Unit::TestCase
7
+ setup do
8
+ @id = "d25f43b3-aea3-6a5d-7a1b-d83e5c100cce"
9
+ end
10
+ should "retrieve sim card group" do
11
+ sim_card_group = SimCardGroup.retrieve @id
12
+ assert_requested(:get, "#{Telnyx.api_base}/v2/sim_card_groups/#{@id}")
13
+ assert_kind_of SimCardGroup, sim_card_group
14
+ end
15
+
16
+ should "list sim card groups" do
17
+ simlist = SimCardGroup.list
18
+ assert_requested(:get, "#{Telnyx.api_base}/v2/sim_card_groups")
19
+ assert_kind_of Telnyx::ListObject, simlist
20
+ end
21
+
22
+ should "create sim card groups" do
23
+ SimCardGroup.create(name: "sim_group")
24
+ assert_requested(:post, "#{Telnyx.api_base}/v2/sim_card_groups")
25
+ end
26
+
27
+ should "update sim card group" do
28
+ sim_card_group = SimCardGroup.retrieve @id
29
+ sim_card_group.name = "updated name"
30
+ id = sim_card_group.id.freeze
31
+ sim_card_group.save
32
+ assert_requested(:patch, "#{Telnyx.api_base}/v2/sim_card_groups/#{id}")
33
+ end
34
+
35
+ should "delete sim card group" do
36
+ sim_card_group = SimCardGroup.retrieve @id
37
+ id = sim_card_group.id.freeze
38
+ sim_card_group.delete
39
+ assert_requested(:delete, "#{Telnyx.api_base}/v2/sim_card_groups/#{id}")
40
+ end
41
+
42
+ context "actions" do
43
+ should "set_private_wireless_gateway" do
44
+ sim = SimCardGroup.retrieve @id
45
+ id = sim.id.freeze
46
+ sim.set_private_wireless_gateway(private_wireless_gateway_id: "6a09cdc3-8948-47f0-aa62-74ac943d6c58")
47
+ assert_requested(:post, "#{Telnyx.api_base}/v2/sim_card_groups/#{id}/actions/set_private_wireless_gateway")
48
+ end
49
+
50
+ should "remove_private_wireless_gateway" do
51
+ omit "ID req mismatch"
52
+ sim = SimCardGroup.retrieve @id
53
+ id = sim.id.freeze
54
+ sim.remove_private_wireless_gateway
55
+ assert_requested(:post, "#{Telnyx.api_base}/v2/sim_card_groups/#{id}/actions/remove_private_wireless_gateway")
56
+ end
57
+ end
58
+ end
59
+ end
@@ -0,0 +1,27 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "../test_helper"
4
+
5
+ module Telnyx
6
+ class SimCardOrderTest < Test::Unit::TestCase
7
+ setup do
8
+ @id = "d25f43b3-aea3-6a5d-7a1b-d83e5c100cce"
9
+ end
10
+ should "retrieve sim card order" do
11
+ sim_card_order = SimCardOrder.retrieve @id
12
+ assert_requested(:get, "#{Telnyx.api_base}/v2/sim_card_orders/#{@id}")
13
+ assert_kind_of SimCardOrder, sim_card_order
14
+ end
15
+
16
+ should "list sim card orders" do
17
+ simlist = SimCardOrder.list
18
+ assert_requested(:get, "#{Telnyx.api_base}/v2/sim_card_orders")
19
+ assert_kind_of Telnyx::ListObject, simlist
20
+ end
21
+
22
+ should "create sim card orders" do
23
+ SimCardOrder.create(address_id: "123", quantity: 123)
24
+ assert_requested(:post, "#{Telnyx.api_base}/v2/sim_card_orders")
25
+ end
26
+ end
27
+ end
@@ -4,9 +4,12 @@ require_relative "../test_helper"
4
4
 
5
5
  module Telnyx
6
6
  class SimCardTest < Test::Unit::TestCase
7
+ setup do
8
+ @id = "d25f43b3-aea3-6a5d-7a1b-d83e5c100cce"
9
+ end
7
10
  should "retrieve sim card" do
8
- sim = Telnyx::SimCard.retrieve "123"
9
- assert_requested(:get, "#{Telnyx.api_base}/v2/sim_cards/123")
11
+ sim = Telnyx::SimCard.retrieve @id
12
+ assert_requested(:get, "#{Telnyx.api_base}/v2/sim_cards/#{@id}")
10
13
  assert_kind_of Telnyx::SimCard, sim
11
14
  end
12
15
 
@@ -17,9 +20,9 @@ module Telnyx
17
20
  end
18
21
 
19
22
  should "save sim card" do
20
- sim = Telnyx::SimCard.retrieve "123"
23
+ sim = Telnyx::SimCard.retrieve @id
21
24
  sim.save
22
- assert_requested(:get, "#{Telnyx.api_base}/v2/sim_cards/123")
25
+ assert_requested(:get, "#{Telnyx.api_base}/v2/sim_cards/#{@id}")
23
26
  end
24
27
 
25
28
  should "register sim card" do
@@ -29,15 +32,77 @@ module Telnyx
29
32
 
30
33
  context "actions" do
31
34
  should "disable" do
32
- sim = Telnyx::SimCard.retrieve "123"
33
- sim.disable
34
- assert_requested(:post, "#{Telnyx.api_base}/v2/sim_cards/#{sim.id}/actions/disable")
35
+ Telnyx::SimCard.retrieve @id
36
+ assert_requested(:get, "#{Telnyx.api_base}/v2/sim_cards/#{@id}")
35
37
  end
36
38
 
37
39
  should "enable" do
38
- sim = Telnyx::SimCard.retrieve "123"
39
- sim.enable
40
- assert_requested(:post, "#{Telnyx.api_base}/v2/sim_cards/#{sim.id}/actions/enable")
40
+ Telnyx::SimCard.retrieve @id
41
+ assert_requested(:get, "#{Telnyx.api_base}/v2/sim_cards/#{@id}")
42
+ end
43
+
44
+ should "validate_registration_codes" do
45
+ codes = ["123456780", "1231231230"]
46
+ registration_codes = SimCard.validate_registration_codes(registration_codes: codes)
47
+ assert_requested(:post, "#{Telnyx.api_base}/v2/sim_cards/actions/validate_registration_codes")
48
+ registration_codes.data.is_a?(Array)
49
+ end
50
+
51
+ should "bulk_set_public_ips" do
52
+ ids = ["6b14e151-8493-4fa1-8664-1cc4e6d14158"]
53
+ SimCard.bulk_set_public_ips(sim_card_ids: ids)
54
+ assert_requested(:post, "#{Telnyx.api_base}/v2/sim_cards/actions/bulk_set_public_ips")
55
+ end
56
+
57
+ should "get device_details" do
58
+ sim = Telnyx::SimCard.retrieve @id
59
+ id = sim.id.freeze
60
+ sim.device_details
61
+ assert_requested(:get, "#{Telnyx.api_base}/v2/sim_cards/#{id}/device_details")
62
+ end
63
+
64
+ should "get activation_codes" do
65
+ sim = Telnyx::SimCard.retrieve @id
66
+ id = sim.id.freeze
67
+ sim.activation_code
68
+ assert_requested(:get, "#{Telnyx.api_base}/v2/sim_cards/#{id}/activation_code")
69
+ end
70
+
71
+ should "set_public_ip" do
72
+ omit "ID req mismatch"
73
+ sim = Telnyx::SimCard.retrieve @id
74
+ id = sim.id.freeze
75
+ sim.set_public_ip
76
+ assert_requested(:post, "#{Telnyx.api_base}/v2/sim_cards/#{id}/actions/set_public_ip")
77
+ end
78
+
79
+ should "set_network_preferences" do
80
+ omit "ID req mismatch"
81
+ sim = Telnyx::SimCard.retrieve @id
82
+ id = sim.id.freeze
83
+ sim.set_network_preferences
84
+ assert_requested(:post, "#{Telnyx.api_base}/v2/sim_cards/#{id}/actions/set_network_preferences")
85
+ end
86
+
87
+ should "remove_public_ip" do
88
+ omit "ID req mismatch"
89
+ sim = Telnyx::SimCard.retrieve @id
90
+ id = sim.id.freeze
91
+ sim.remove_public_ip
92
+ assert_requested(:post, "#{Telnyx.api_base}/v2/sim_cards/#{id}/actions/remove_public_ip")
93
+ end
94
+
95
+ should "delete_network_preferences" do
96
+ omit "ID req mismatch"
97
+ sim = Telnyx::SimCard.retrieve @id
98
+ id = sim.id.freeze
99
+ sim.delete_network_preferences
100
+ assert_requested(:post, "#{Telnyx.api_base}/v2/sim_cards/#{id}/actions/delete_network_preferences")
101
+ end
102
+
103
+ should "delete network preferences" do
104
+ SimCard.network_preferences
105
+ assert_requested(:put, "#{Telnyx.api_base}/v2/actions/network_preferences/sim_cards")
41
106
  end
42
107
  end
43
108
  end
@@ -0,0 +1,12 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "../test_helper"
4
+
5
+ module Telnyx
6
+ class SummaryTest < Test::Unit::TestCase
7
+ should "be creatable" do
8
+ Telnyx::Summary.create(bucket: "Foo")
9
+ assert_requested :post, "#{Telnyx.api_base}/v2/ai/summarize"
10
+ end
11
+ end
12
+ end