telnyx 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.gitattributes +4 -0
- data/.github/ISSUE_TEMPLATE.md +5 -0
- data/.gitignore +9 -0
- data/.rubocop.yml +32 -0
- data/.rubocop_todo.yml +50 -0
- data/.travis.yml +42 -0
- data/CHANGELOG.md +2 -0
- data/CONTRIBUTORS +0 -0
- data/Gemfile +40 -0
- data/Guardfile +8 -0
- data/LICENSE +22 -0
- data/README.md +173 -0
- data/Rakefile +28 -0
- data/VERSION +1 -0
- data/bin/telnyx-console +16 -0
- data/lib/telnyx.rb +151 -0
- data/lib/telnyx/api_operations/create.rb +12 -0
- data/lib/telnyx/api_operations/delete.rb +13 -0
- data/lib/telnyx/api_operations/list.rb +29 -0
- data/lib/telnyx/api_operations/nested_resource.rb +63 -0
- data/lib/telnyx/api_operations/request.rb +57 -0
- data/lib/telnyx/api_operations/save.rb +103 -0
- data/lib/telnyx/api_resource.rb +69 -0
- data/lib/telnyx/available_phone_number.rb +9 -0
- data/lib/telnyx/errors.rb +166 -0
- data/lib/telnyx/event.rb +9 -0
- data/lib/telnyx/list_object.rb +155 -0
- data/lib/telnyx/message.rb +9 -0
- data/lib/telnyx/messaging_phone_number.rb +10 -0
- data/lib/telnyx/messaging_profile.rb +32 -0
- data/lib/telnyx/messaging_sender_id.rb +12 -0
- data/lib/telnyx/messaging_short_code.rb +10 -0
- data/lib/telnyx/number_order.rb +11 -0
- data/lib/telnyx/number_reservation.rb +11 -0
- data/lib/telnyx/public_key.rb +7 -0
- data/lib/telnyx/singleton_api_resource.rb +24 -0
- data/lib/telnyx/telnyx_client.rb +545 -0
- data/lib/telnyx/telnyx_object.rb +521 -0
- data/lib/telnyx/telnyx_response.rb +50 -0
- data/lib/telnyx/util.rb +328 -0
- data/lib/telnyx/version.rb +5 -0
- data/lib/telnyx/webhook.rb +66 -0
- data/telnyx.gemspec +25 -0
- data/test/api_stub_helpers.rb +1 -0
- data/test/openapi/README.md +9 -0
- data/test/telnyx/api_operations_test.rb +85 -0
- data/test/telnyx/api_resource_test.rb +293 -0
- data/test/telnyx/available_phone_number_test.rb +14 -0
- data/test/telnyx/errors_test.rb +23 -0
- data/test/telnyx/list_object_test.rb +244 -0
- data/test/telnyx/message_test.rb +19 -0
- data/test/telnyx/messaging_phone_number_test.rb +33 -0
- data/test/telnyx/messaging_profile_test.rb +70 -0
- data/test/telnyx/messaging_sender_id_test.rb +46 -0
- data/test/telnyx/messaging_short_code_test.rb +33 -0
- data/test/telnyx/number_order_test.rb +39 -0
- data/test/telnyx/number_reservation_test.rb +12 -0
- data/test/telnyx/public_key_test.rb +13 -0
- data/test/telnyx/telnyx_client_test.rb +631 -0
- data/test/telnyx/telnyx_object_test.rb +497 -0
- data/test/telnyx/telnyx_response_test.rb +49 -0
- data/test/telnyx/util_test.rb +380 -0
- data/test/telnyx/webhook_test.rb +108 -0
- data/test/telnyx_mock.rb +78 -0
- data/test/telnyx_test.rb +40 -0
- data/test/test_data.rb +149 -0
- data/test/test_helper.rb +73 -0
- metadata +162 -0
data/test/telnyx_mock.rb
ADDED
@@ -0,0 +1,78 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Telnyx
|
4
|
+
class TelnyxMock
|
5
|
+
include Singleton
|
6
|
+
|
7
|
+
PATH_SPEC = "#{::File.dirname(__FILE__)}/openapi/spec3.json".freeze
|
8
|
+
PATH_FIXTURES = "#{::File.dirname(__FILE__)}/openapi/fixtures3.json".freeze
|
9
|
+
|
10
|
+
@pid = nil
|
11
|
+
@port = -1
|
12
|
+
|
13
|
+
# Starts telnyx-mock, if necessary. Returns the port on which telnyx-mock is listening.
|
14
|
+
def self.start
|
15
|
+
unless ::File.exist?(PATH_SPEC)
|
16
|
+
port = ENV["TELNYX_MOCK_PORT"] || 12_111
|
17
|
+
puts("No custom spec file found, assuming telnyx-mock is already running on port #{port}")
|
18
|
+
return port
|
19
|
+
end
|
20
|
+
|
21
|
+
unless @pid.nil?
|
22
|
+
puts("telnyx-mock already running on port #{@port}")
|
23
|
+
return @port
|
24
|
+
end
|
25
|
+
|
26
|
+
@port = find_available_port
|
27
|
+
|
28
|
+
puts("Starting telnyx-mock on port #{@port}...")
|
29
|
+
|
30
|
+
@stdout, @child_stdout = ::IO.pipe
|
31
|
+
@stderr, @child_stderr = ::IO.pipe
|
32
|
+
|
33
|
+
@pid = ::Process.spawn(
|
34
|
+
["telnyx-mock", "telnyx-mock"],
|
35
|
+
"-http-port",
|
36
|
+
@port.to_s,
|
37
|
+
"-spec",
|
38
|
+
PATH_SPEC,
|
39
|
+
"-fixtures",
|
40
|
+
PATH_FIXTURES,
|
41
|
+
out: @child_stdout,
|
42
|
+
err: @child_stderr
|
43
|
+
)
|
44
|
+
|
45
|
+
[@child_stdout, @child_stderr].each(&:close)
|
46
|
+
|
47
|
+
sleep 1
|
48
|
+
|
49
|
+
status = (::Process.wait2(@pid, ::Process::WNOHANG) || []).last
|
50
|
+
if status.nil?
|
51
|
+
puts("Started telnyx-mock, PID = #{@pid}")
|
52
|
+
else
|
53
|
+
abort("telnyx-mock terminated early: #{status}")
|
54
|
+
end
|
55
|
+
|
56
|
+
@port
|
57
|
+
end
|
58
|
+
|
59
|
+
# Stops telnyx-mock, if necessary.
|
60
|
+
def self.stop
|
61
|
+
return if @pid.nil?
|
62
|
+
puts("Stopping telnyx-mock...")
|
63
|
+
::Process.kill(:SIGTERM, @pid)
|
64
|
+
::Process.waitpid2(@pid)
|
65
|
+
@pid = nil
|
66
|
+
@port = -1
|
67
|
+
puts("Stopped telnyx-mock")
|
68
|
+
end
|
69
|
+
|
70
|
+
# Finds and returns an available TCP port
|
71
|
+
private_class_method def self.find_available_port
|
72
|
+
server = TCPServer.new("localhost", 0)
|
73
|
+
port = server.addr[1]
|
74
|
+
server.close
|
75
|
+
port
|
76
|
+
end
|
77
|
+
end
|
78
|
+
end
|
data/test/telnyx_test.rb
ADDED
@@ -0,0 +1,40 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require ::File.expand_path("../test_helper", __FILE__)
|
4
|
+
|
5
|
+
class TelnyxTest < Test::Unit::TestCase
|
6
|
+
should "allow app_info to be configured" do
|
7
|
+
begin
|
8
|
+
old = Telnyx.app_info
|
9
|
+
Telnyx.set_app_info(
|
10
|
+
"MyAwesomePlugin",
|
11
|
+
partner_id: "partner_1234",
|
12
|
+
url: "https://myawesomeplugin.info",
|
13
|
+
version: "1.2.34"
|
14
|
+
)
|
15
|
+
assert_equal({
|
16
|
+
name: "MyAwesomePlugin",
|
17
|
+
partner_id: "partner_1234",
|
18
|
+
url: "https://myawesomeplugin.info",
|
19
|
+
version: "1.2.34",
|
20
|
+
}, Telnyx.app_info)
|
21
|
+
ensure
|
22
|
+
Telnyx.app_info = old
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
should "allow max_network_retries to be configured" do
|
27
|
+
begin
|
28
|
+
old = Telnyx.max_network_retries
|
29
|
+
Telnyx.max_network_retries = 99
|
30
|
+
assert_equal 99, Telnyx.max_network_retries
|
31
|
+
ensure
|
32
|
+
Telnyx.max_network_retries = old
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
36
|
+
should "have default open and read timeouts" do
|
37
|
+
assert_equal Telnyx.open_timeout, 30
|
38
|
+
assert_equal Telnyx.read_timeout, 80
|
39
|
+
end
|
40
|
+
end
|
data/test/test_data.rb
ADDED
@@ -0,0 +1,149 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Telnyx
|
4
|
+
module TestData
|
5
|
+
def make_error(code, title, detail)
|
6
|
+
{
|
7
|
+
errors: [
|
8
|
+
{
|
9
|
+
code: code,
|
10
|
+
title: title,
|
11
|
+
detail: detail,
|
12
|
+
},
|
13
|
+
],
|
14
|
+
}
|
15
|
+
end
|
16
|
+
|
17
|
+
def make_invalid_api_key_error
|
18
|
+
{
|
19
|
+
errors: [
|
20
|
+
{
|
21
|
+
title: "Authentication failed",
|
22
|
+
detail: "The required authentication headers were either invalid or not included in the request.",
|
23
|
+
code: "10009",
|
24
|
+
},
|
25
|
+
],
|
26
|
+
}
|
27
|
+
end
|
28
|
+
|
29
|
+
def make_invalid_id_error
|
30
|
+
{
|
31
|
+
errors: [
|
32
|
+
{
|
33
|
+
code: "10006",
|
34
|
+
title: "Invalid ID",
|
35
|
+
detail: "The resource ID provided was invalid.",
|
36
|
+
},
|
37
|
+
],
|
38
|
+
}
|
39
|
+
end
|
40
|
+
|
41
|
+
def make_authentication_failed_error
|
42
|
+
{
|
43
|
+
errors: [
|
44
|
+
{
|
45
|
+
title: "Authentication failed",
|
46
|
+
detail: "The required authentication headers were either invalid or not included in the request.",
|
47
|
+
code: "10009",
|
48
|
+
},
|
49
|
+
],
|
50
|
+
}
|
51
|
+
end
|
52
|
+
|
53
|
+
def make_authorization_failed_error
|
54
|
+
{
|
55
|
+
errors: [
|
56
|
+
{
|
57
|
+
title: "Authorization failed",
|
58
|
+
detail: "You do not have permission to perform the requested action on the specified resource or resources.",
|
59
|
+
code: "10010",
|
60
|
+
},
|
61
|
+
],
|
62
|
+
}
|
63
|
+
end
|
64
|
+
|
65
|
+
def make_resource_not_found_error
|
66
|
+
{
|
67
|
+
errors: [
|
68
|
+
{
|
69
|
+
title: "Resource not found",
|
70
|
+
detail: "The requested resource or URL could not be found.",
|
71
|
+
code: "10005",
|
72
|
+
},
|
73
|
+
],
|
74
|
+
}
|
75
|
+
end
|
76
|
+
|
77
|
+
def make_method_not_supported_error
|
78
|
+
{
|
79
|
+
errors: [
|
80
|
+
{
|
81
|
+
title: "Method not allowed",
|
82
|
+
detail: "The URL is valid, but the method is not allowed.",
|
83
|
+
code: "10030",
|
84
|
+
},
|
85
|
+
],
|
86
|
+
}
|
87
|
+
end
|
88
|
+
|
89
|
+
def make_rate_limit_error
|
90
|
+
{
|
91
|
+
errors: [
|
92
|
+
{
|
93
|
+
title: "Too many requests",
|
94
|
+
detail: "You have exceeded the maximum number of allowed requests.",
|
95
|
+
code: "10011",
|
96
|
+
},
|
97
|
+
],
|
98
|
+
}
|
99
|
+
end
|
100
|
+
|
101
|
+
def make_timeout_error
|
102
|
+
{
|
103
|
+
errors: [
|
104
|
+
{
|
105
|
+
title: "Request timeout",
|
106
|
+
detail: "The request timed out.",
|
107
|
+
code: "10008",
|
108
|
+
},
|
109
|
+
],
|
110
|
+
}
|
111
|
+
end
|
112
|
+
|
113
|
+
def make_parameters_error
|
114
|
+
{
|
115
|
+
errors: [
|
116
|
+
{
|
117
|
+
title: "Missing required parameter",
|
118
|
+
detail: "A required parameter was missing.",
|
119
|
+
code: "10004",
|
120
|
+
},
|
121
|
+
],
|
122
|
+
}
|
123
|
+
end
|
124
|
+
|
125
|
+
def make_service_unavailable_error
|
126
|
+
{
|
127
|
+
errors: [
|
128
|
+
{
|
129
|
+
title: "Service unavailable",
|
130
|
+
detail: "The service is not available.",
|
131
|
+
code: "",
|
132
|
+
},
|
133
|
+
],
|
134
|
+
}
|
135
|
+
end
|
136
|
+
|
137
|
+
def make_api_error
|
138
|
+
{
|
139
|
+
errors: [
|
140
|
+
{
|
141
|
+
title: "Unexpected error",
|
142
|
+
detail: "An unexpected error occured.",
|
143
|
+
code: "10007",
|
144
|
+
},
|
145
|
+
],
|
146
|
+
}
|
147
|
+
end
|
148
|
+
end
|
149
|
+
end
|
data/test/test_helper.rb
ADDED
@@ -0,0 +1,73 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "coveralls"
|
4
|
+
Coveralls.wear!("test_frameworks")
|
5
|
+
|
6
|
+
require "telnyx"
|
7
|
+
require "test/unit"
|
8
|
+
require "mocha/setup"
|
9
|
+
require "stringio"
|
10
|
+
require "shoulda/context"
|
11
|
+
require "timecop"
|
12
|
+
require "webmock/test_unit"
|
13
|
+
|
14
|
+
PROJECT_ROOT = ::File.expand_path("../../", __FILE__)
|
15
|
+
|
16
|
+
require ::File.expand_path("../test_data", __FILE__)
|
17
|
+
require ::File.expand_path("../telnyx_mock", __FILE__)
|
18
|
+
|
19
|
+
# If changing this number, please also change it in `.travis.yml`.
|
20
|
+
MOCK_MINIMUM_VERSION = "0.40.1".freeze
|
21
|
+
MOCK_PORT = Telnyx::TelnyxMock.start
|
22
|
+
|
23
|
+
# Disable all real network connections except those that are outgoing to
|
24
|
+
# telnyx-mock.
|
25
|
+
WebMock.disable_net_connect!(allow: "localhost:#{MOCK_PORT}")
|
26
|
+
|
27
|
+
# Try one initial test connection to telnyx-mock so that if there's a problem
|
28
|
+
# we can print one error and fail fast so that it's more clear to the user how
|
29
|
+
# they should fix the problem.
|
30
|
+
begin
|
31
|
+
conn = Faraday::Connection.new("http://localhost:#{MOCK_PORT}")
|
32
|
+
resp = conn.get("/")
|
33
|
+
version = resp.headers["Telnyx-Mock-Version"]
|
34
|
+
if version != "master" &&
|
35
|
+
Gem::Version.new(version) < Gem::Version.new(MOCK_MINIMUM_VERSION)
|
36
|
+
abort("Your version of telnyx-mock (#{version}) is too old. The minimum " \
|
37
|
+
"version to run this test suite is #{MOCK_MINIMUM_VERSION}. Please " \
|
38
|
+
"see its repository for upgrade instructions.")
|
39
|
+
end
|
40
|
+
rescue Faraday::ConnectionFailed
|
41
|
+
abort("Couldn't reach telnyx-mock at `localhost:#{MOCK_PORT}`. Is " \
|
42
|
+
"it running? Please see README for setup instructions.")
|
43
|
+
end
|
44
|
+
|
45
|
+
Test::Unit.at_exit do
|
46
|
+
Telnyx::TelnyxMock.stop
|
47
|
+
end
|
48
|
+
|
49
|
+
module Test
|
50
|
+
module Unit
|
51
|
+
class TestCase
|
52
|
+
include Telnyx::TestData
|
53
|
+
include Mocha
|
54
|
+
|
55
|
+
setup do
|
56
|
+
Telnyx.api_key = "KEYSUPERSECRET"
|
57
|
+
Telnyx.api_base = "http://localhost:#{MOCK_PORT}"
|
58
|
+
|
59
|
+
# stub_connect
|
60
|
+
end
|
61
|
+
|
62
|
+
teardown do
|
63
|
+
Telnyx.api_key = nil
|
64
|
+
end
|
65
|
+
|
66
|
+
private
|
67
|
+
|
68
|
+
def stub_connect
|
69
|
+
stub_request(:any, /^#{Telnyx.api_base}/).to_return(body: "{}")
|
70
|
+
end
|
71
|
+
end
|
72
|
+
end
|
73
|
+
end
|
metadata
ADDED
@@ -0,0 +1,162 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: telnyx
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.1
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Telnyx
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2019-07-17 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: faraday
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '0.13'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '0.13'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: net-http-persistent
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - "~>"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '3.0'
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - "~>"
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '3.0'
|
41
|
+
description: Telnyx. See https://www.telnyx.com for details.
|
42
|
+
email: support@telnyx.com
|
43
|
+
executables:
|
44
|
+
- telnyx-console
|
45
|
+
extensions: []
|
46
|
+
extra_rdoc_files: []
|
47
|
+
files:
|
48
|
+
- ".gitattributes"
|
49
|
+
- ".github/ISSUE_TEMPLATE.md"
|
50
|
+
- ".gitignore"
|
51
|
+
- ".rubocop.yml"
|
52
|
+
- ".rubocop_todo.yml"
|
53
|
+
- ".travis.yml"
|
54
|
+
- CHANGELOG.md
|
55
|
+
- CONTRIBUTORS
|
56
|
+
- Gemfile
|
57
|
+
- Guardfile
|
58
|
+
- LICENSE
|
59
|
+
- README.md
|
60
|
+
- Rakefile
|
61
|
+
- VERSION
|
62
|
+
- bin/telnyx-console
|
63
|
+
- lib/telnyx.rb
|
64
|
+
- lib/telnyx/api_operations/create.rb
|
65
|
+
- lib/telnyx/api_operations/delete.rb
|
66
|
+
- lib/telnyx/api_operations/list.rb
|
67
|
+
- lib/telnyx/api_operations/nested_resource.rb
|
68
|
+
- lib/telnyx/api_operations/request.rb
|
69
|
+
- lib/telnyx/api_operations/save.rb
|
70
|
+
- lib/telnyx/api_resource.rb
|
71
|
+
- lib/telnyx/available_phone_number.rb
|
72
|
+
- lib/telnyx/errors.rb
|
73
|
+
- lib/telnyx/event.rb
|
74
|
+
- lib/telnyx/list_object.rb
|
75
|
+
- lib/telnyx/message.rb
|
76
|
+
- lib/telnyx/messaging_phone_number.rb
|
77
|
+
- lib/telnyx/messaging_profile.rb
|
78
|
+
- lib/telnyx/messaging_sender_id.rb
|
79
|
+
- lib/telnyx/messaging_short_code.rb
|
80
|
+
- lib/telnyx/number_order.rb
|
81
|
+
- lib/telnyx/number_reservation.rb
|
82
|
+
- lib/telnyx/public_key.rb
|
83
|
+
- lib/telnyx/singleton_api_resource.rb
|
84
|
+
- lib/telnyx/telnyx_client.rb
|
85
|
+
- lib/telnyx/telnyx_object.rb
|
86
|
+
- lib/telnyx/telnyx_response.rb
|
87
|
+
- lib/telnyx/util.rb
|
88
|
+
- lib/telnyx/version.rb
|
89
|
+
- lib/telnyx/webhook.rb
|
90
|
+
- telnyx.gemspec
|
91
|
+
- test/api_stub_helpers.rb
|
92
|
+
- test/openapi/README.md
|
93
|
+
- test/telnyx/api_operations_test.rb
|
94
|
+
- test/telnyx/api_resource_test.rb
|
95
|
+
- test/telnyx/available_phone_number_test.rb
|
96
|
+
- test/telnyx/errors_test.rb
|
97
|
+
- test/telnyx/list_object_test.rb
|
98
|
+
- test/telnyx/message_test.rb
|
99
|
+
- test/telnyx/messaging_phone_number_test.rb
|
100
|
+
- test/telnyx/messaging_profile_test.rb
|
101
|
+
- test/telnyx/messaging_sender_id_test.rb
|
102
|
+
- test/telnyx/messaging_short_code_test.rb
|
103
|
+
- test/telnyx/number_order_test.rb
|
104
|
+
- test/telnyx/number_reservation_test.rb
|
105
|
+
- test/telnyx/public_key_test.rb
|
106
|
+
- test/telnyx/telnyx_client_test.rb
|
107
|
+
- test/telnyx/telnyx_object_test.rb
|
108
|
+
- test/telnyx/telnyx_response_test.rb
|
109
|
+
- test/telnyx/util_test.rb
|
110
|
+
- test/telnyx/webhook_test.rb
|
111
|
+
- test/telnyx_mock.rb
|
112
|
+
- test/telnyx_test.rb
|
113
|
+
- test/test_data.rb
|
114
|
+
- test/test_helper.rb
|
115
|
+
homepage: https://developers.telnyx.com/docs/api/ruby
|
116
|
+
licenses:
|
117
|
+
- MIT
|
118
|
+
metadata: {}
|
119
|
+
post_install_message:
|
120
|
+
rdoc_options: []
|
121
|
+
require_paths:
|
122
|
+
- lib
|
123
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
124
|
+
requirements:
|
125
|
+
- - ">="
|
126
|
+
- !ruby/object:Gem::Version
|
127
|
+
version: 2.1.0
|
128
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
129
|
+
requirements:
|
130
|
+
- - ">="
|
131
|
+
- !ruby/object:Gem::Version
|
132
|
+
version: '0'
|
133
|
+
requirements: []
|
134
|
+
rubygems_version: 3.0.4
|
135
|
+
signing_key:
|
136
|
+
specification_version: 4
|
137
|
+
summary: Ruby bindings for the Telnyx API
|
138
|
+
test_files:
|
139
|
+
- test/api_stub_helpers.rb
|
140
|
+
- test/openapi/README.md
|
141
|
+
- test/telnyx/api_operations_test.rb
|
142
|
+
- test/telnyx/api_resource_test.rb
|
143
|
+
- test/telnyx/available_phone_number_test.rb
|
144
|
+
- test/telnyx/errors_test.rb
|
145
|
+
- test/telnyx/list_object_test.rb
|
146
|
+
- test/telnyx/message_test.rb
|
147
|
+
- test/telnyx/messaging_phone_number_test.rb
|
148
|
+
- test/telnyx/messaging_profile_test.rb
|
149
|
+
- test/telnyx/messaging_sender_id_test.rb
|
150
|
+
- test/telnyx/messaging_short_code_test.rb
|
151
|
+
- test/telnyx/number_order_test.rb
|
152
|
+
- test/telnyx/number_reservation_test.rb
|
153
|
+
- test/telnyx/public_key_test.rb
|
154
|
+
- test/telnyx/telnyx_client_test.rb
|
155
|
+
- test/telnyx/telnyx_object_test.rb
|
156
|
+
- test/telnyx/telnyx_response_test.rb
|
157
|
+
- test/telnyx/util_test.rb
|
158
|
+
- test/telnyx/webhook_test.rb
|
159
|
+
- test/telnyx_mock.rb
|
160
|
+
- test/telnyx_test.rb
|
161
|
+
- test/test_data.rb
|
162
|
+
- test/test_helper.rb
|