telnyx 2.1.5__tar.gz → 2.1.6__tar.gz

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.

Potentially problematic release.


This version of telnyx might be problematic. Click here for more details.

Files changed (266) hide show
  1. {telnyx-2.1.5 → telnyx-2.1.6}/PKG-INFO +3 -2
  2. {telnyx-2.1.5 → telnyx-2.1.6}/setup.py +1 -1
  3. {telnyx-2.1.5 → telnyx-2.1.6}/telnyx/__init__.py +1 -1
  4. {telnyx-2.1.5 → telnyx-2.1.6}/telnyx/api_resources/__init__.py +3 -2
  5. telnyx-2.1.5/telnyx/api_resources/call_recording.py → telnyx-2.1.6/telnyx/api_resources/recording.py +3 -7
  6. {telnyx-2.1.5 → telnyx-2.1.6}/telnyx/util.py +1 -1
  7. {telnyx-2.1.5 → telnyx-2.1.6}/telnyx.egg-info/PKG-INFO +3 -2
  8. {telnyx-2.1.5 → telnyx-2.1.6}/telnyx.egg-info/SOURCES.txt +2 -1
  9. telnyx-2.1.6/tests/api_resources/test_recording.py +170 -0
  10. {telnyx-2.1.5 → telnyx-2.1.6}/.coveragerc +0 -0
  11. {telnyx-2.1.5 → telnyx-2.1.6}/.flake8 +0 -0
  12. {telnyx-2.1.5 → telnyx-2.1.6}/CHANGELOG.md +0 -0
  13. {telnyx-2.1.5 → telnyx-2.1.6}/LICENSE +0 -0
  14. {telnyx-2.1.5 → telnyx-2.1.6}/MANIFEST.in +0 -0
  15. {telnyx-2.1.5 → telnyx-2.1.6}/README.md +0 -0
  16. {telnyx-2.1.5 → telnyx-2.1.6}/VERSION +0 -0
  17. {telnyx-2.1.5 → telnyx-2.1.6}/pyproject.toml +0 -0
  18. {telnyx-2.1.5 → telnyx-2.1.6}/pytest.ini +0 -0
  19. {telnyx-2.1.5 → telnyx-2.1.6}/setup.cfg +0 -0
  20. {telnyx-2.1.5 → telnyx-2.1.6}/telnyx/api_requestor.py +0 -0
  21. {telnyx-2.1.5 → telnyx-2.1.6}/telnyx/api_resources/abstract/__init__.py +0 -0
  22. {telnyx-2.1.5 → telnyx-2.1.6}/telnyx/api_resources/abstract/api_resource.py +0 -0
  23. {telnyx-2.1.5 → telnyx-2.1.6}/telnyx/api_resources/abstract/createable_api_resource.py +0 -0
  24. {telnyx-2.1.5 → telnyx-2.1.6}/telnyx/api_resources/abstract/deletable_api_resource.py +0 -0
  25. {telnyx-2.1.5 → telnyx-2.1.6}/telnyx/api_resources/abstract/listable_api_resource.py +0 -0
  26. {telnyx-2.1.5 → telnyx-2.1.6}/telnyx/api_resources/abstract/nested_resource_class_methods.py +0 -0
  27. {telnyx-2.1.5 → telnyx-2.1.6}/telnyx/api_resources/abstract/singleton_api_resource.py +0 -0
  28. {telnyx-2.1.5 → telnyx-2.1.6}/telnyx/api_resources/abstract/updateable_api_resource.py +0 -0
  29. {telnyx-2.1.5 → telnyx-2.1.6}/telnyx/api_resources/access_control_ip.py +0 -0
  30. {telnyx-2.1.5 → telnyx-2.1.6}/telnyx/api_resources/access_ip_address.py +0 -0
  31. {telnyx-2.1.5 → telnyx-2.1.6}/telnyx/api_resources/access_token.py +0 -0
  32. {telnyx-2.1.5 → telnyx-2.1.6}/telnyx/api_resources/address.py +0 -0
  33. {telnyx-2.1.5 → telnyx-2.1.6}/telnyx/api_resources/advanced_optinoptout.py +0 -0
  34. {telnyx-2.1.5 → telnyx-2.1.6}/telnyx/api_resources/ai.py +0 -0
  35. {telnyx-2.1.5 → telnyx-2.1.6}/telnyx/api_resources/api_key.py +0 -0
  36. {telnyx-2.1.5 → telnyx-2.1.6}/telnyx/api_resources/authentication_provider.py +0 -0
  37. {telnyx-2.1.5 → telnyx-2.1.6}/telnyx/api_resources/autorechargepreference.py +0 -0
  38. {telnyx-2.1.5 → telnyx-2.1.6}/telnyx/api_resources/available_phone_number.py +0 -0
  39. {telnyx-2.1.5 → telnyx-2.1.6}/telnyx/api_resources/balance.py +0 -0
  40. {telnyx-2.1.5 → telnyx-2.1.6}/telnyx/api_resources/billing.py +0 -0
  41. {telnyx-2.1.5 → telnyx-2.1.6}/telnyx/api_resources/billing_group.py +0 -0
  42. {telnyx-2.1.5 → telnyx-2.1.6}/telnyx/api_resources/brand.py +0 -0
  43. {telnyx-2.1.5 → telnyx-2.1.6}/telnyx/api_resources/bucket.py +0 -0
  44. {telnyx-2.1.5 → telnyx-2.1.6}/telnyx/api_resources/bucket_usage.py +0 -0
  45. {telnyx-2.1.5 → telnyx-2.1.6}/telnyx/api_resources/bulk_creation.py +0 -0
  46. {telnyx-2.1.5 → telnyx-2.1.6}/telnyx/api_resources/bulk_credential.py +0 -0
  47. {telnyx-2.1.5 → telnyx-2.1.6}/telnyx/api_resources/bulk_phone_number_campaign.py +0 -0
  48. {telnyx-2.1.5 → telnyx-2.1.6}/telnyx/api_resources/bulk_phone_number_operation.py +0 -0
  49. {telnyx-2.1.5 → telnyx-2.1.6}/telnyx/api_resources/bulk_sole_proprietor_creation.py +0 -0
  50. {telnyx-2.1.5 → telnyx-2.1.6}/telnyx/api_resources/business_identity.py +0 -0
  51. {telnyx-2.1.5 → telnyx-2.1.6}/telnyx/api_resources/call.py +0 -0
  52. {telnyx-2.1.5 → telnyx-2.1.6}/telnyx/api_resources/call_control_application.py +0 -0
  53. {telnyx-2.1.5 → telnyx-2.1.6}/telnyx/api_resources/call_information.py +0 -0
  54. {telnyx-2.1.5 → telnyx-2.1.6}/telnyx/api_resources/campaign.py +0 -0
  55. {telnyx-2.1.5 → telnyx-2.1.6}/telnyx/api_resources/cdr_usage_report.py +0 -0
  56. {telnyx-2.1.5 → telnyx-2.1.6}/telnyx/api_resources/comment.py +0 -0
  57. {telnyx-2.1.5 → telnyx-2.1.6}/telnyx/api_resources/conference.py +0 -0
  58. {telnyx-2.1.5 → telnyx-2.1.6}/telnyx/api_resources/connection.py +0 -0
  59. {telnyx-2.1.5 → telnyx-2.1.6}/telnyx/api_resources/credential_connection.py +0 -0
  60. {telnyx-2.1.5 → telnyx-2.1.6}/telnyx/api_resources/csv_download.py +0 -0
  61. {telnyx-2.1.5 → telnyx-2.1.6}/telnyx/api_resources/custom_storage_credential.py +0 -0
  62. {telnyx-2.1.5 → telnyx-2.1.6}/telnyx/api_resources/customer_service_record.py +0 -0
  63. {telnyx-2.1.5 → telnyx-2.1.6}/telnyx/api_resources/debugging.py +0 -0
  64. {telnyx-2.1.5 → telnyx-2.1.6}/telnyx/api_resources/detail_record.py +0 -0
  65. {telnyx-2.1.5 → telnyx-2.1.6}/telnyx/api_resources/detail_records_report.py +0 -0
  66. {telnyx-2.1.5 → telnyx-2.1.6}/telnyx/api_resources/dialogflow_integration.py +0 -0
  67. {telnyx-2.1.5 → telnyx-2.1.6}/telnyx/api_resources/document.py +0 -0
  68. {telnyx-2.1.5 → telnyx-2.1.6}/telnyx/api_resources/dynamic_emergency_address.py +0 -0
  69. {telnyx-2.1.5 → telnyx-2.1.6}/telnyx/api_resources/dynamic_emergency_endpoint.py +0 -0
  70. {telnyx-2.1.5 → telnyx-2.1.6}/telnyx/api_resources/enum.py +0 -0
  71. {telnyx-2.1.5 → telnyx-2.1.6}/telnyx/api_resources/event.py +0 -0
  72. {telnyx-2.1.5 → telnyx-2.1.6}/telnyx/api_resources/external_connection.py +0 -0
  73. {telnyx-2.1.5 → telnyx-2.1.6}/telnyx/api_resources/fax.py +0 -0
  74. {telnyx-2.1.5 → telnyx-2.1.6}/telnyx/api_resources/fax_application.py +0 -0
  75. {telnyx-2.1.5 → telnyx-2.1.6}/telnyx/api_resources/fqdn.py +0 -0
  76. {telnyx-2.1.5 → telnyx-2.1.6}/telnyx/api_resources/fqdn_connection.py +0 -0
  77. {telnyx-2.1.5 → telnyx-2.1.6}/telnyx/api_resources/inbound_channel.py +0 -0
  78. {telnyx-2.1.5 → telnyx-2.1.6}/telnyx/api_resources/inventory_coverage.py +0 -0
  79. {telnyx-2.1.5 → telnyx-2.1.6}/telnyx/api_resources/inventory_level.py +0 -0
  80. {telnyx-2.1.5 → telnyx-2.1.6}/telnyx/api_resources/ip.py +0 -0
  81. {telnyx-2.1.5 → telnyx-2.1.6}/telnyx/api_resources/ip_address.py +0 -0
  82. {telnyx-2.1.5 → telnyx-2.1.6}/telnyx/api_resources/ip_connection.py +0 -0
  83. {telnyx-2.1.5 → telnyx-2.1.6}/telnyx/api_resources/ip_range.py +0 -0
  84. {telnyx-2.1.5 → telnyx-2.1.6}/telnyx/api_resources/list_object.py +0 -0
  85. {telnyx-2.1.5 → telnyx-2.1.6}/telnyx/api_resources/managed_account.py +0 -0
  86. {telnyx-2.1.5 → telnyx-2.1.6}/telnyx/api_resources/mdr_detail_report.py +0 -0
  87. {telnyx-2.1.5 → telnyx-2.1.6}/telnyx/api_resources/mdr_usage_report.py +0 -0
  88. {telnyx-2.1.5 → telnyx-2.1.6}/telnyx/api_resources/media.py +0 -0
  89. {telnyx-2.1.5 → telnyx-2.1.6}/telnyx/api_resources/media_storage_api.py +0 -0
  90. {telnyx-2.1.5 → telnyx-2.1.6}/telnyx/api_resources/message.py +0 -0
  91. {telnyx-2.1.5 → telnyx-2.1.6}/telnyx/api_resources/messaging_hosted_number.py +0 -0
  92. {telnyx-2.1.5 → telnyx-2.1.6}/telnyx/api_resources/messaging_hosted_number_order.py +0 -0
  93. {telnyx-2.1.5 → telnyx-2.1.6}/telnyx/api_resources/messaging_phone_number.py +0 -0
  94. {telnyx-2.1.5 → telnyx-2.1.6}/telnyx/api_resources/messaging_profile.py +0 -0
  95. {telnyx-2.1.5 → telnyx-2.1.6}/telnyx/api_resources/messaging_tollfree_verification.py +0 -0
  96. {telnyx-2.1.5 → telnyx-2.1.6}/telnyx/api_resources/messaging_url_domain.py +0 -0
  97. {telnyx-2.1.5 → telnyx-2.1.6}/telnyx/api_resources/mobile_network_operator.py +0 -0
  98. {telnyx-2.1.5 → telnyx-2.1.6}/telnyx/api_resources/network.py +0 -0
  99. {telnyx-2.1.5 → telnyx-2.1.6}/telnyx/api_resources/notification.py +0 -0
  100. {telnyx-2.1.5 → telnyx-2.1.6}/telnyx/api_resources/notification_channel.py +0 -0
  101. {telnyx-2.1.5 → telnyx-2.1.6}/telnyx/api_resources/notification_event.py +0 -0
  102. {telnyx-2.1.5 → telnyx-2.1.6}/telnyx/api_resources/notification_event_condition.py +0 -0
  103. {telnyx-2.1.5 → telnyx-2.1.6}/telnyx/api_resources/notification_profiles.py +0 -0
  104. {telnyx-2.1.5 → telnyx-2.1.6}/telnyx/api_resources/notification_setting.py +0 -0
  105. {telnyx-2.1.5 → telnyx-2.1.6}/telnyx/api_resources/number_configuration.py +0 -0
  106. {telnyx-2.1.5 → telnyx-2.1.6}/telnyx/api_resources/number_lookup.py +0 -0
  107. {telnyx-2.1.5 → telnyx-2.1.6}/telnyx/api_resources/number_order.py +0 -0
  108. {telnyx-2.1.5 → telnyx-2.1.6}/telnyx/api_resources/number_order_phone_number.py +0 -0
  109. {telnyx-2.1.5 → telnyx-2.1.6}/telnyx/api_resources/number_portout.py +0 -0
  110. {telnyx-2.1.5 → telnyx-2.1.6}/telnyx/api_resources/number_reservation.py +0 -0
  111. {telnyx-2.1.5 → telnyx-2.1.6}/telnyx/api_resources/numbers_feature.py +0 -0
  112. {telnyx-2.1.5 → telnyx-2.1.6}/telnyx/api_resources/ota_update.py +0 -0
  113. {telnyx-2.1.5 → telnyx-2.1.6}/telnyx/api_resources/outbound_voice_profile.py +0 -0
  114. {telnyx-2.1.5 → telnyx-2.1.6}/telnyx/api_resources/phone_assignment_profile.py +0 -0
  115. {telnyx-2.1.5 → telnyx-2.1.6}/telnyx/api_resources/phone_number.py +0 -0
  116. {telnyx-2.1.5 → telnyx-2.1.6}/telnyx/api_resources/phone_number_block_order.py +0 -0
  117. {telnyx-2.1.5 → telnyx-2.1.6}/telnyx/api_resources/phone_number_blocks_background_job.py +0 -0
  118. {telnyx-2.1.5 → telnyx-2.1.6}/telnyx/api_resources/phone_number_campaign.py +0 -0
  119. {telnyx-2.1.5 → telnyx-2.1.6}/telnyx/api_resources/phone_number_configuration.py +0 -0
  120. {telnyx-2.1.5 → telnyx-2.1.6}/telnyx/api_resources/phone_number_jobs.py +0 -0
  121. {telnyx-2.1.5 → telnyx-2.1.6}/telnyx/api_resources/phone_number_order.py +0 -0
  122. {telnyx-2.1.5 → telnyx-2.1.6}/telnyx/api_resources/phone_number_order_document.py +0 -0
  123. {telnyx-2.1.5 → telnyx-2.1.6}/telnyx/api_resources/phone_number_porting.py +0 -0
  124. {telnyx-2.1.5 → telnyx-2.1.6}/telnyx/api_resources/phone_number_regulatory_requirement.py +0 -0
  125. {telnyx-2.1.5 → telnyx-2.1.6}/telnyx/api_resources/phone_number_reservation.py +0 -0
  126. {telnyx-2.1.5 → telnyx-2.1.6}/telnyx/api_resources/phone_number_search.py +0 -0
  127. {telnyx-2.1.5 → telnyx-2.1.6}/telnyx/api_resources/portability_check.py +0 -0
  128. {telnyx-2.1.5 → telnyx-2.1.6}/telnyx/api_resources/porting_order.py +0 -0
  129. {telnyx-2.1.5 → telnyx-2.1.6}/telnyx/api_resources/portout.py +0 -0
  130. {telnyx-2.1.5 → telnyx-2.1.6}/telnyx/api_resources/presigned_object_url.py +0 -0
  131. {telnyx-2.1.5 → telnyx-2.1.6}/telnyx/api_resources/private_wireless_gateway.py +0 -0
  132. {telnyx-2.1.5 → telnyx-2.1.6}/telnyx/api_resources/public_internet_gateway.py +0 -0
  133. {telnyx-2.1.5 → telnyx-2.1.6}/telnyx/api_resources/public_key.py +0 -0
  134. {telnyx-2.1.5 → telnyx-2.1.6}/telnyx/api_resources/push_credential.py +0 -0
  135. {telnyx-2.1.5 → telnyx-2.1.6}/telnyx/api_resources/queue.py +0 -0
  136. {telnyx-2.1.5 → telnyx-2.1.6}/telnyx/api_resources/queue_command.py +0 -0
  137. {telnyx-2.1.5 → telnyx-2.1.6}/telnyx/api_resources/recordings_command.py +0 -0
  138. {telnyx-2.1.5 → telnyx-2.1.6}/telnyx/api_resources/region.py +0 -0
  139. {telnyx-2.1.5 → telnyx-2.1.6}/telnyx/api_resources/register_call.py +0 -0
  140. {telnyx-2.1.5 → telnyx-2.1.6}/telnyx/api_resources/report.py +0 -0
  141. {telnyx-2.1.5 → telnyx-2.1.6}/telnyx/api_resources/reporting.py +0 -0
  142. {telnyx-2.1.5 → telnyx-2.1.6}/telnyx/api_resources/requirement.py +0 -0
  143. {telnyx-2.1.5 → telnyx-2.1.6}/telnyx/api_resources/requirement_type.py +0 -0
  144. {telnyx-2.1.5 → telnyx-2.1.6}/telnyx/api_resources/room.py +0 -0
  145. {telnyx-2.1.5 → telnyx-2.1.6}/telnyx/api_resources/room_composition.py +0 -0
  146. {telnyx-2.1.5 → telnyx-2.1.6}/telnyx/api_resources/room_participant.py +0 -0
  147. {telnyx-2.1.5 → telnyx-2.1.6}/telnyx/api_resources/room_recording.py +0 -0
  148. {telnyx-2.1.5 → telnyx-2.1.6}/telnyx/api_resources/room_session.py +0 -0
  149. {telnyx-2.1.5 → telnyx-2.1.6}/telnyx/api_resources/rooms_client_token.py +0 -0
  150. {telnyx-2.1.5 → telnyx-2.1.6}/telnyx/api_resources/shared_campaign.py +0 -0
  151. {telnyx-2.1.5 → telnyx-2.1.6}/telnyx/api_resources/short_code.py +0 -0
  152. {telnyx-2.1.5 → telnyx-2.1.6}/telnyx/api_resources/sim_card.py +0 -0
  153. {telnyx-2.1.5 → telnyx-2.1.6}/telnyx/api_resources/sim_card_action.py +0 -0
  154. {telnyx-2.1.5 → telnyx-2.1.6}/telnyx/api_resources/sim_card_group.py +0 -0
  155. {telnyx-2.1.5 → telnyx-2.1.6}/telnyx/api_resources/sim_card_order.py +0 -0
  156. {telnyx-2.1.5 → telnyx-2.1.6}/telnyx/api_resources/ssl_certificate.py +0 -0
  157. {telnyx-2.1.5 → telnyx-2.1.6}/telnyx/api_resources/sub_number_order.py +0 -0
  158. {telnyx-2.1.5 → telnyx-2.1.6}/telnyx/api_resources/telephony_credential.py +0 -0
  159. {telnyx-2.1.5 → telnyx-2.1.6}/telnyx/api_resources/texml_application.py +0 -0
  160. {telnyx-2.1.5 → telnyx-2.1.6}/telnyx/api_resources/texml_rest_command.py +0 -0
  161. {telnyx-2.1.5 → telnyx-2.1.6}/telnyx/api_resources/verification.py +0 -0
  162. {telnyx-2.1.5 → telnyx-2.1.6}/telnyx/api_resources/verified_calls_display_profile.py +0 -0
  163. {telnyx-2.1.5 → telnyx-2.1.6}/telnyx/api_resources/verified_number.py +0 -0
  164. {telnyx-2.1.5 → telnyx-2.1.6}/telnyx/api_resources/verify.py +0 -0
  165. {telnyx-2.1.5 → telnyx-2.1.6}/telnyx/api_resources/verify_profile.py +0 -0
  166. {telnyx-2.1.5 → telnyx-2.1.6}/telnyx/api_resources/virtual_cross_connect.py +0 -0
  167. {telnyx-2.1.5 → telnyx-2.1.6}/telnyx/api_resources/wdr_detail_report.py +0 -0
  168. {telnyx-2.1.5 → telnyx-2.1.6}/telnyx/api_resources/webhook.py +0 -0
  169. {telnyx-2.1.5 → telnyx-2.1.6}/telnyx/api_resources/webhook_deliveries.py +0 -0
  170. {telnyx-2.1.5 → telnyx-2.1.6}/telnyx/api_resources/wireguard_interface.py +0 -0
  171. {telnyx-2.1.5 → telnyx-2.1.6}/telnyx/api_resources/wireless_detail_record_report.py +0 -0
  172. {telnyx-2.1.5 → telnyx-2.1.6}/telnyx/error.py +0 -0
  173. {telnyx-2.1.5 → telnyx-2.1.6}/telnyx/http_client.py +0 -0
  174. {telnyx-2.1.5 → telnyx-2.1.6}/telnyx/multipart_data_generator.py +0 -0
  175. {telnyx-2.1.5 → telnyx-2.1.6}/telnyx/request_metrics.py +0 -0
  176. {telnyx-2.1.5 → telnyx-2.1.6}/telnyx/telnyx_object.py +0 -0
  177. {telnyx-2.1.5 → telnyx-2.1.6}/telnyx/telnyx_response.py +0 -0
  178. {telnyx-2.1.5 → telnyx-2.1.6}/telnyx/webhook.py +0 -0
  179. {telnyx-2.1.5 → telnyx-2.1.6}/telnyx.egg-info/dependency_links.txt +0 -0
  180. {telnyx-2.1.5 → telnyx-2.1.6}/telnyx.egg-info/not-zip-safe +0 -0
  181. {telnyx-2.1.5 → telnyx-2.1.6}/telnyx.egg-info/requires.txt +0 -0
  182. {telnyx-2.1.5 → telnyx-2.1.6}/telnyx.egg-info/top_level.txt +0 -0
  183. {telnyx-2.1.5 → telnyx-2.1.6}/tests/__init__.py +0 -0
  184. {telnyx-2.1.5 → telnyx-2.1.6}/tests/api_resources/__init__.py +0 -0
  185. {telnyx-2.1.5 → telnyx-2.1.6}/tests/api_resources/abstract/__init__.py +0 -0
  186. {telnyx-2.1.5 → telnyx-2.1.6}/tests/api_resources/abstract/test_api_resource.py +0 -0
  187. {telnyx-2.1.5 → telnyx-2.1.6}/tests/api_resources/abstract/test_createable_api_resource.py +0 -0
  188. {telnyx-2.1.5 → telnyx-2.1.6}/tests/api_resources/abstract/test_deletable_api_resource.py +0 -0
  189. {telnyx-2.1.5 → telnyx-2.1.6}/tests/api_resources/abstract/test_listable_api_resource.py +0 -0
  190. {telnyx-2.1.5 → telnyx-2.1.6}/tests/api_resources/abstract/test_nested_resource_class_methods.py +0 -0
  191. {telnyx-2.1.5 → telnyx-2.1.6}/tests/api_resources/abstract/test_singleton_api_resource.py +0 -0
  192. {telnyx-2.1.5 → telnyx-2.1.6}/tests/api_resources/abstract/test_updateable_api_resource.py +0 -0
  193. {telnyx-2.1.5 → telnyx-2.1.6}/tests/api_resources/test_access_control_ip.py +0 -0
  194. {telnyx-2.1.5 → telnyx-2.1.6}/tests/api_resources/test_address.py +0 -0
  195. {telnyx-2.1.5 → telnyx-2.1.6}/tests/api_resources/test_authentication_provider.py +0 -0
  196. {telnyx-2.1.5 → telnyx-2.1.6}/tests/api_resources/test_available_phone_number.py +0 -0
  197. {telnyx-2.1.5 → telnyx-2.1.6}/tests/api_resources/test_balance.py +0 -0
  198. {telnyx-2.1.5 → telnyx-2.1.6}/tests/api_resources/test_billing_group.py +0 -0
  199. {telnyx-2.1.5 → telnyx-2.1.6}/tests/api_resources/test_call.py +0 -0
  200. {telnyx-2.1.5 → telnyx-2.1.6}/tests/api_resources/test_call_control_application.py +0 -0
  201. {telnyx-2.1.5 → telnyx-2.1.6}/tests/api_resources/test_campaign.py +0 -0
  202. {telnyx-2.1.5 → telnyx-2.1.6}/tests/api_resources/test_comment.py +0 -0
  203. {telnyx-2.1.5 → telnyx-2.1.6}/tests/api_resources/test_conference.py +0 -0
  204. {telnyx-2.1.5 → telnyx-2.1.6}/tests/api_resources/test_connection.py +0 -0
  205. {telnyx-2.1.5 → telnyx-2.1.6}/tests/api_resources/test_credential_connection.py +0 -0
  206. {telnyx-2.1.5 → telnyx-2.1.6}/tests/api_resources/test_custom_storage_credential.py +0 -0
  207. {telnyx-2.1.5 → telnyx-2.1.6}/tests/api_resources/test_detail_records_report.py +0 -0
  208. {telnyx-2.1.5 → telnyx-2.1.6}/tests/api_resources/test_document.py +0 -0
  209. {telnyx-2.1.5 → telnyx-2.1.6}/tests/api_resources/test_dynamic_emergency_address.py +0 -0
  210. {telnyx-2.1.5 → telnyx-2.1.6}/tests/api_resources/test_fax.py +0 -0
  211. {telnyx-2.1.5 → telnyx-2.1.6}/tests/api_resources/test_fax_applications.py +0 -0
  212. {telnyx-2.1.5 → telnyx-2.1.6}/tests/api_resources/test_fqdn.py +0 -0
  213. {telnyx-2.1.5 → telnyx-2.1.6}/tests/api_resources/test_inbound_channel.py +0 -0
  214. {telnyx-2.1.5 → telnyx-2.1.6}/tests/api_resources/test_inventory_coverage.py +0 -0
  215. {telnyx-2.1.5 → telnyx-2.1.6}/tests/api_resources/test_ip_connection.py +0 -0
  216. {telnyx-2.1.5 → telnyx-2.1.6}/tests/api_resources/test_list_object.py +0 -0
  217. {telnyx-2.1.5 → telnyx-2.1.6}/tests/api_resources/test_managed_account.py +0 -0
  218. {telnyx-2.1.5 → telnyx-2.1.6}/tests/api_resources/test_media.py +0 -0
  219. {telnyx-2.1.5 → telnyx-2.1.6}/tests/api_resources/test_message.py +0 -0
  220. {telnyx-2.1.5 → telnyx-2.1.6}/tests/api_resources/test_messaging_hosted_number.py +0 -0
  221. {telnyx-2.1.5 → telnyx-2.1.6}/tests/api_resources/test_messaging_hosted_number_order.py +0 -0
  222. {telnyx-2.1.5 → telnyx-2.1.6}/tests/api_resources/test_messaging_profile.py +0 -0
  223. {telnyx-2.1.5 → telnyx-2.1.6}/tests/api_resources/test_notification_channel.py +0 -0
  224. {telnyx-2.1.5 → telnyx-2.1.6}/tests/api_resources/test_notification_event.py +0 -0
  225. {telnyx-2.1.5 → telnyx-2.1.6}/tests/api_resources/test_notification_event_condition.py +0 -0
  226. {telnyx-2.1.5 → telnyx-2.1.6}/tests/api_resources/test_notification_profile.py +0 -0
  227. {telnyx-2.1.5 → telnyx-2.1.6}/tests/api_resources/test_notification_setting.py +0 -0
  228. {telnyx-2.1.5 → telnyx-2.1.6}/tests/api_resources/test_number_lookup.py +0 -0
  229. {telnyx-2.1.5 → telnyx-2.1.6}/tests/api_resources/test_number_order.py +0 -0
  230. {telnyx-2.1.5 → telnyx-2.1.6}/tests/api_resources/test_number_reservation.py +0 -0
  231. {telnyx-2.1.5 → telnyx-2.1.6}/tests/api_resources/test_outbound_voice_profiles.py +0 -0
  232. {telnyx-2.1.5 → telnyx-2.1.6}/tests/api_resources/test_phone_number.py +0 -0
  233. {telnyx-2.1.5 → telnyx-2.1.6}/tests/api_resources/test_phone_number_campaign.py +0 -0
  234. {telnyx-2.1.5 → telnyx-2.1.6}/tests/api_resources/test_phone_number_job.py +0 -0
  235. {telnyx-2.1.5 → telnyx-2.1.6}/tests/api_resources/test_phone_number_regulatory_requirement.py +0 -0
  236. {telnyx-2.1.5 → telnyx-2.1.6}/tests/api_resources/test_portability_check.py +0 -0
  237. {telnyx-2.1.5 → telnyx-2.1.6}/tests/api_resources/test_porting_order.py +0 -0
  238. {telnyx-2.1.5 → telnyx-2.1.6}/tests/api_resources/test_portout.py +0 -0
  239. {telnyx-2.1.5 → telnyx-2.1.6}/tests/api_resources/test_public_key.py +0 -0
  240. {telnyx-2.1.5 → telnyx-2.1.6}/tests/api_resources/test_queue.py +0 -0
  241. {telnyx-2.1.5 → telnyx-2.1.6}/tests/api_resources/test_room.py +0 -0
  242. {telnyx-2.1.5 → telnyx-2.1.6}/tests/api_resources/test_room_participant.py +0 -0
  243. {telnyx-2.1.5 → telnyx-2.1.6}/tests/api_resources/test_room_sessions.py +0 -0
  244. {telnyx-2.1.5 → telnyx-2.1.6}/tests/api_resources/test_short_code.py +0 -0
  245. {telnyx-2.1.5 → telnyx-2.1.6}/tests/api_resources/test_sim_card.py +0 -0
  246. {telnyx-2.1.5 → telnyx-2.1.6}/tests/api_resources/test_sim_card_action.py +0 -0
  247. {telnyx-2.1.5 → telnyx-2.1.6}/tests/api_resources/test_sim_card_group.py +0 -0
  248. {telnyx-2.1.5 → telnyx-2.1.6}/tests/api_resources/test_sim_card_order.py +0 -0
  249. {telnyx-2.1.5 → telnyx-2.1.6}/tests/api_resources/test_sub_number_order.py +0 -0
  250. {telnyx-2.1.5 → telnyx-2.1.6}/tests/api_resources/test_verification.py +0 -0
  251. {telnyx-2.1.5 → telnyx-2.1.6}/tests/api_resources/test_verify_profiles.py +0 -0
  252. {telnyx-2.1.5 → telnyx-2.1.6}/tests/api_resources/test_webhook_deliveries.py +0 -0
  253. {telnyx-2.1.5 → telnyx-2.1.6}/tests/api_resources/test_wireless_details_record_report.py +0 -0
  254. {telnyx-2.1.5 → telnyx-2.1.6}/tests/conftest.py +0 -0
  255. {telnyx-2.1.5 → telnyx-2.1.6}/tests/request_mock.py +0 -0
  256. {telnyx-2.1.5 → telnyx-2.1.6}/tests/telnyx_mock.py +0 -0
  257. {telnyx-2.1.5 → telnyx-2.1.6}/tests/test_api_requestor.py +0 -0
  258. {telnyx-2.1.5 → telnyx-2.1.6}/tests/test_error.py +0 -0
  259. {telnyx-2.1.5 → telnyx-2.1.6}/tests/test_http_client.py +0 -0
  260. {telnyx-2.1.5 → telnyx-2.1.6}/tests/test_multipart_data_generator.py +0 -0
  261. {telnyx-2.1.5 → telnyx-2.1.6}/tests/test_request_metrics.py +0 -0
  262. {telnyx-2.1.5 → telnyx-2.1.6}/tests/test_telnyx_object.py +0 -0
  263. {telnyx-2.1.5 → telnyx-2.1.6}/tests/test_telnyx_response.py +0 -0
  264. {telnyx-2.1.5 → telnyx-2.1.6}/tests/test_util.py +0 -0
  265. {telnyx-2.1.5 → telnyx-2.1.6}/tests/test_webhook.py +0 -0
  266. {telnyx-2.1.5 → telnyx-2.1.6}/tox.ini +0 -0
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.2
1
+ Metadata-Version: 2.4
2
2
  Name: telnyx
3
- Version: 2.1.5
3
+ Version: 2.1.6
4
4
  Summary: Python bindings for the Telnyx API
5
5
  Home-page: https://github.com/team-telnyx/telnyx-python
6
6
  Author: Telnyx
@@ -37,6 +37,7 @@ Dynamic: description-content-type
37
37
  Dynamic: home-page
38
38
  Dynamic: keywords
39
39
  Dynamic: license
40
+ Dynamic: license-file
40
41
  Dynamic: project-url
41
42
  Dynamic: requires-dist
42
43
  Dynamic: requires-python
@@ -31,7 +31,7 @@ with open(os.path.join(here, "README.md"), encoding="utf-8") as f:
31
31
 
32
32
  setup(
33
33
  name="telnyx",
34
- version="2.1.5",
34
+ version="2.1.6",
35
35
  description="Python bindings for the Telnyx API",
36
36
  long_description=long_description,
37
37
  long_description_content_type="text/markdown",
@@ -24,7 +24,7 @@ public_key = os.environ.get("TELNYX_PUBLIC_KEY")
24
24
  log = None
25
25
 
26
26
 
27
- __version__ = "2.1.5"
27
+ __version__ = "2.1.6"
28
28
 
29
29
 
30
30
  # Sets some basic information about the running application that's sent along
@@ -27,7 +27,7 @@ from telnyx.api_resources.business_identity import BusinessIdentity
27
27
  from telnyx.api_resources.call import Call
28
28
  from telnyx.api_resources.call_control_application import CallControlApplication
29
29
  from telnyx.api_resources.call_information import CallInformation
30
- from telnyx.api_resources.call_recording import CallRecording
30
+ from telnyx.api_resources.recording import Recording
31
31
  from telnyx.api_resources.campaign import Campaign
32
32
  from telnyx.api_resources.cdr_usage_report import CdrUsageReport
33
33
  from telnyx.api_resources.comment import Comment
@@ -162,6 +162,7 @@ from telnyx.api_resources.wireless_detail_record_report import (
162
162
  WirelessDetailRecordsReports,
163
163
  )
164
164
 
165
+
165
166
  # flake8: noqa
166
167
 
167
168
 
@@ -191,7 +192,6 @@ __all__ = [
191
192
  "Call",
192
193
  "CallControlApplication",
193
194
  "CallInformation",
194
- "CallRecording",
195
195
  "Campaign",
196
196
  "CdrUsageReport",
197
197
  "Comment",
@@ -278,6 +278,7 @@ __all__ = [
278
278
  "Queue",
279
279
  "QueueCall",
280
280
  "QueueCommand",
281
+ "Recording",
281
282
  "RecordingsCommand",
282
283
  "Region",
283
284
  "RegisterCall",
@@ -1,22 +1,18 @@
1
1
  from __future__ import absolute_import, division, print_function
2
2
 
3
3
  from telnyx.api_resources.abstract import (
4
- CreateableAPIResource,
5
4
  DeletableAPIResource,
6
5
  ListableAPIResource,
7
- UpdateableAPIResource,
8
6
  nested_resource_class_methods,
9
7
  )
10
8
 
11
9
 
12
10
  @nested_resource_class_methods("delete", path="actions/delete", operations=["delete"])
13
- class CallRecording(
14
- CreateableAPIResource,
11
+ class Recording(
15
12
  DeletableAPIResource,
16
13
  ListableAPIResource,
17
- UpdateableAPIResource,
18
14
  ):
19
- OBJECT_NAME = "call_recording"
15
+ OBJECT_NAME = "recording"
20
16
 
21
17
  def delete(self, **params):
22
- return self.delete_delete(**params)
18
+ return self.delete_delete(self.id, nested_id=None, **params)
@@ -131,7 +131,7 @@ def load_object_classes():
131
131
  api_resources.Call.OBJECT_NAME: api_resources.Call,
132
132
  api_resources.CallControlApplication.OBJECT_NAME: api_resources.CallControlApplication,
133
133
  api_resources.CallInformation.OBJECT_NAME: api_resources.CallInformation,
134
- api_resources.CallRecording.OBJECT_NAME: api_resources.CallRecording,
134
+ api_resources.Recording.OBJECT_NAME: api_resources.Recording,
135
135
  api_resources.Campaign.OBJECT_NAME: api_resources.Campaign,
136
136
  api_resources.CdrUsageReport.OBJECT_NAME: api_resources.CdrUsageReport,
137
137
  api_resources.Comment.OBJECT_NAME: api_resources.Comment,
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.2
1
+ Metadata-Version: 2.4
2
2
  Name: telnyx
3
- Version: 2.1.5
3
+ Version: 2.1.6
4
4
  Summary: Python bindings for the Telnyx API
5
5
  Home-page: https://github.com/team-telnyx/telnyx-python
6
6
  Author: Telnyx
@@ -37,6 +37,7 @@ Dynamic: description-content-type
37
37
  Dynamic: home-page
38
38
  Dynamic: keywords
39
39
  Dynamic: license
40
+ Dynamic: license-file
40
41
  Dynamic: project-url
41
42
  Dynamic: requires-dist
42
43
  Dynamic: requires-python
@@ -52,7 +52,6 @@ telnyx/api_resources/business_identity.py
52
52
  telnyx/api_resources/call.py
53
53
  telnyx/api_resources/call_control_application.py
54
54
  telnyx/api_resources/call_information.py
55
- telnyx/api_resources/call_recording.py
56
55
  telnyx/api_resources/campaign.py
57
56
  telnyx/api_resources/cdr_usage_report.py
58
57
  telnyx/api_resources/comment.py
@@ -136,6 +135,7 @@ telnyx/api_resources/public_key.py
136
135
  telnyx/api_resources/push_credential.py
137
136
  telnyx/api_resources/queue.py
138
137
  telnyx/api_resources/queue_command.py
138
+ telnyx/api_resources/recording.py
139
139
  telnyx/api_resources/recordings_command.py
140
140
  telnyx/api_resources/region.py
141
141
  telnyx/api_resources/register_call.py
@@ -241,6 +241,7 @@ tests/api_resources/test_porting_order.py
241
241
  tests/api_resources/test_portout.py
242
242
  tests/api_resources/test_public_key.py
243
243
  tests/api_resources/test_queue.py
244
+ tests/api_resources/test_recording.py
244
245
  tests/api_resources/test_room.py
245
246
  tests/api_resources/test_room_participant.py
246
247
  tests/api_resources/test_room_sessions.py
@@ -0,0 +1,170 @@
1
+ from __future__ import absolute_import, division, print_function
2
+
3
+ import telnyx
4
+
5
+ TEST_RECORDING_ID = "5e820ca7-a7c9-4724-b7f0-6ac5ac54e5c6"
6
+
7
+
8
+ class TestRecording(object):
9
+ def test_is_listable(self, request_mock):
10
+ """Test that recordings can be listed"""
11
+ request_mock.stub_request(
12
+ "get",
13
+ "/v2/recordings",
14
+ {
15
+ "data": [
16
+ {
17
+ "record_type": "recording",
18
+ "id": TEST_RECORDING_ID,
19
+ "call_control_id": "v3:MjM0ODE4OC01YzUxLTQ4N2YtOGM3MC0yNzQ2OWFhNzg2YjU",
20
+ "call_leg_id": "428c31b6-7af4-4bcb-b7f5-5013ef9657c1",
21
+ "call_session_id": "428c31b6-abf3-3bc1-b7f4-5013ef9657c1",
22
+ "status": "completed",
23
+ "channels": "single",
24
+ "source": "conference",
25
+ "download_url": "https://example.com/recording.mp3",
26
+ "duration_millis": 5000,
27
+ "created_at": "2018-02-02T22:25:27.521992Z",
28
+ "updated_at": "2018-02-02T22:25:27.521992Z"
29
+ }
30
+ ]
31
+ },
32
+ rheaders={"request-id": "req_id"},
33
+ )
34
+
35
+ recordings = telnyx.Recording.list()
36
+ request_mock.assert_requested("get", "/v2/recordings", {})
37
+ assert len(recordings.data) == 1
38
+ assert isinstance(recordings.data[0], telnyx.Recording)
39
+ assert recordings.data[0].id == TEST_RECORDING_ID
40
+ assert recordings.data[0].record_type == "recording"
41
+ assert recordings.data[0].status == "completed"
42
+
43
+ def test_is_listable_with_params(self, request_mock):
44
+ """Test that recordings can be listed with filter parameters"""
45
+ request_mock.stub_request(
46
+ "get",
47
+ "/v2/recordings",
48
+ {
49
+ "data": [],
50
+ "meta": {
51
+ "total_pages": 1,
52
+ "total_results": 0,
53
+ "page_number": 1,
54
+ "page_size": 20
55
+ }
56
+ }
57
+ )
58
+
59
+ telnyx.Recording.list(
60
+ filter={
61
+ "call_session_id": "428c31b6-abf3-3bc1-b7f4-5013ef9657c1",
62
+ "status": "completed"
63
+ },
64
+ page={"size": 10}
65
+ )
66
+
67
+ request_mock.assert_requested(
68
+ "get",
69
+ "/v2/recordings",
70
+ {
71
+ "filter[call_session_id]": "428c31b6-abf3-3bc1-b7f4-5013ef9657c1",
72
+ "filter[status]": "completed",
73
+ "page[size]": 10
74
+ }
75
+ )
76
+
77
+ def test_is_retrievable(self, request_mock):
78
+ """Test that individual recordings can be retrieved"""
79
+ request_mock.stub_request(
80
+ "get",
81
+ "/v2/recordings/%s" % TEST_RECORDING_ID,
82
+ {
83
+ "data": {
84
+ "record_type": "recording",
85
+ "id": TEST_RECORDING_ID,
86
+ "call_control_id": "v3:MjM0ODE4OC01YzUxLTQ4N2YtOGM3MC0yNzQ2OWFhNzg2YjU",
87
+ "status": "completed",
88
+ "channels": "single",
89
+ "source": "conference",
90
+ "download_url": "https://example.com/recording.mp3",
91
+ "duration_millis": 5000,
92
+ "created_at": "2018-02-02T22:25:27.521992Z",
93
+ "updated_at": "2018-02-02T22:25:27.521992Z"
94
+ }
95
+ }
96
+ )
97
+
98
+ recording = telnyx.Recording.retrieve(TEST_RECORDING_ID)
99
+ request_mock.assert_requested("get", "/v2/recordings/%s" % TEST_RECORDING_ID)
100
+ assert isinstance(recording, telnyx.Recording)
101
+ assert recording.id == TEST_RECORDING_ID
102
+
103
+ def test_is_deletable(self, request_mock):
104
+ """Test that recordings can be deleted"""
105
+ recording = telnyx.Recording.construct_from(
106
+ {
107
+ "id": TEST_RECORDING_ID,
108
+ "record_type": "recording",
109
+ "status": "completed"
110
+ },
111
+ None
112
+ )
113
+
114
+ request_mock.stub_request(
115
+ "delete",
116
+ "/v2/recordings/%s/actions/delete" % TEST_RECORDING_ID,
117
+ {
118
+ "data": {
119
+ "record_type": "recording",
120
+ "id": TEST_RECORDING_ID,
121
+ "status": "deleted"
122
+ }
123
+ }
124
+ )
125
+
126
+ recording.delete()
127
+ request_mock.assert_requested(
128
+ "delete", "/v2/recordings/%s/actions/delete" % TEST_RECORDING_ID
129
+ )
130
+
131
+ def test_can_delete_class_method(self, request_mock):
132
+ """Test that recordings can be deleted using class method"""
133
+ request_mock.stub_request(
134
+ "delete",
135
+ "/v2/recordings/%s/actions/delete" % TEST_RECORDING_ID,
136
+ {
137
+ "data": {
138
+ "record_type": "recording",
139
+ "id": TEST_RECORDING_ID,
140
+ "status": "deleted"
141
+ }
142
+ }
143
+ )
144
+
145
+ # The nested_resource_class_methods decorator requires both id and nested_id
146
+ result = telnyx.Recording.delete_delete(TEST_RECORDING_ID, nested_id=None)
147
+ request_mock.assert_requested(
148
+ "delete", "/v2/recordings/%s/actions/delete" % TEST_RECORDING_ID
149
+ )
150
+ assert isinstance(result, telnyx.Recording)
151
+
152
+ def test_does_not_have_create_method(self):
153
+ """Test that create method is not available (not supported by API)"""
154
+ assert not hasattr(telnyx.Recording, 'create'), "Recording should not have create method"
155
+
156
+ def test_does_not_have_save_method(self):
157
+ """Test that save method is not available (not supported by API)"""
158
+ recording = telnyx.Recording.construct_from(
159
+ {"id": TEST_RECORDING_ID, "record_type": "recording"},
160
+ None
161
+ )
162
+ assert not hasattr(recording, 'save'), "Recording should not have save method"
163
+
164
+ def test_class_url(self):
165
+ """Test that the class generates the correct URL"""
166
+ assert telnyx.Recording.class_url() == "/v2/recordings"
167
+
168
+ def test_object_name(self):
169
+ """Test that the OBJECT_NAME is correct"""
170
+ assert telnyx.Recording.OBJECT_NAME == "recording"
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes