twilio-ruby 5.34.0 → 5.34.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.
Files changed (38) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGES.md +32 -0
  3. data/README.md +2 -2
  4. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain.rb +38 -3
  5. data/lib/twilio-ruby/rest/autopilot.rb +6 -0
  6. data/lib/twilio-ruby/rest/autopilot/v1.rb +7 -0
  7. data/lib/twilio-ruby/rest/autopilot/v1/restore_assistant.rb +198 -0
  8. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle.rb +26 -0
  9. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/evaluation.rb +324 -0
  10. data/lib/twilio-ruby/rest/supersim.rb +8 -0
  11. data/lib/twilio-ruby/rest/supersim/v1.rb +15 -0
  12. data/lib/twilio-ruby/rest/supersim/v1/fleet.rb +44 -10
  13. data/lib/twilio-ruby/rest/supersim/v1/network_access_profile.rb +337 -0
  14. data/lib/twilio-ruby/rest/verify/v2/service.rb +22 -3
  15. data/lib/twilio-ruby/rest/verify/v2/service/verification.rb +3 -3
  16. data/lib/twilio-ruby/rest/voice.rb +36 -0
  17. data/lib/twilio-ruby/rest/voice/v1.rb +64 -0
  18. data/lib/twilio-ruby/rest/voice/v1/byoc_trunk.rb +513 -0
  19. data/lib/twilio-ruby/rest/voice/v1/connection_policy.rb +379 -0
  20. data/lib/twilio-ruby/rest/voice/v1/connection_policy/connection_policy_target.rb +458 -0
  21. data/lib/twilio-ruby/rest/voice/v1/ip_record.rb +366 -0
  22. data/lib/twilio-ruby/rest/voice/v1/source_ip_mapping.rb +346 -0
  23. data/lib/twilio-ruby/version.rb +1 -1
  24. data/spec/integration/api/v2010/account/sip/domain_spec.rb +12 -4
  25. data/spec/integration/api/v2010/account/token_spec.rb +23 -11
  26. data/spec/integration/autopilot/v1/restore_assistant_spec.rb +53 -0
  27. data/spec/integration/numbers/v2/regulatory_compliance/bundle/evaluation_spec.rb +623 -0
  28. data/spec/integration/numbers/v2/regulatory_compliance/bundle_spec.rb +4 -0
  29. data/spec/integration/supersim/v1/fleet_spec.rb +8 -4
  30. data/spec/integration/supersim/v1/network_access_profile_spec.rb +208 -0
  31. data/spec/integration/verify/v2/service_spec.rb +4 -0
  32. data/spec/integration/voice/v1/byoc_trunk_spec.rb +250 -0
  33. data/spec/integration/voice/v1/connection_policy/connection_policy_target_spec.rb +246 -0
  34. data/spec/integration/voice/v1/connection_policy_spec.rb +226 -0
  35. data/spec/integration/voice/v1/ip_record_spec.rb +223 -0
  36. data/spec/integration/voice/v1/source_ip_mapping_spec.rb +219 -0
  37. data/twilio-ruby.gemspec +1 -1
  38. metadata +28 -3
@@ -0,0 +1,223 @@
1
+ ##
2
+ # This code was generated by
3
+ # \ / _ _ _| _ _
4
+ # | (_)\/(_)(_|\/| |(/_ v1.0.0
5
+ # / /
6
+ #
7
+ # frozen_string_literal: true
8
+
9
+ require 'spec_helper.rb'
10
+
11
+ describe 'IpRecord' do
12
+ it "can create" do
13
+ @holodeck.mock(Twilio::Response.new(500, ''))
14
+
15
+ expect {
16
+ @client.voice.v1.ip_records.create(ip_address: 'ip_address')
17
+ }.to raise_exception(Twilio::REST::TwilioError)
18
+
19
+ values = {'IpAddress' => 'ip_address', }
20
+ expect(
21
+ @holodeck.has_request?(Holodeck::Request.new(
22
+ method: 'post',
23
+ url: 'https://voice.twilio.com/v1/IpRecords',
24
+ data: values,
25
+ ))).to eq(true)
26
+ end
27
+
28
+ it "receives create responses" do
29
+ @holodeck.mock(Twilio::Response.new(
30
+ 201,
31
+ %q[
32
+ {
33
+ "account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
34
+ "sid": "ILaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
35
+ "friendly_name": "friendly_name",
36
+ "ip_address": "10.2.3.4",
37
+ "cidr_prefix_length": 30,
38
+ "date_created": "2020-03-18T23:31:36Z",
39
+ "date_updated": "2020-03-18T23:31:36Z",
40
+ "url": "https://voice.twilio.com/v1/IpRecords/ILaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
41
+ }
42
+ ]
43
+ ))
44
+
45
+ actual = @client.voice.v1.ip_records.create(ip_address: 'ip_address')
46
+
47
+ expect(actual).to_not eq(nil)
48
+ end
49
+
50
+ it "can fetch" do
51
+ @holodeck.mock(Twilio::Response.new(500, ''))
52
+
53
+ expect {
54
+ @client.voice.v1.ip_records('ILXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX').fetch()
55
+ }.to raise_exception(Twilio::REST::TwilioError)
56
+
57
+ values = {}
58
+ expect(
59
+ @holodeck.has_request?(Holodeck::Request.new(
60
+ method: 'get',
61
+ url: 'https://voice.twilio.com/v1/IpRecords/ILXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX',
62
+ ))).to eq(true)
63
+ end
64
+
65
+ it "receives fetch responses" do
66
+ @holodeck.mock(Twilio::Response.new(
67
+ 200,
68
+ %q[
69
+ {
70
+ "account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
71
+ "sid": "ILaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
72
+ "friendly_name": "friendly_name",
73
+ "ip_address": "10.2.3.4",
74
+ "cidr_prefix_length": 30,
75
+ "date_created": "2020-03-18T23:31:36Z",
76
+ "date_updated": "2020-03-18T23:31:37Z",
77
+ "url": "https://voice.twilio.com/v1/IpRecords/ILaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
78
+ }
79
+ ]
80
+ ))
81
+
82
+ actual = @client.voice.v1.ip_records('ILXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX').fetch()
83
+
84
+ expect(actual).to_not eq(nil)
85
+ end
86
+
87
+ it "can read" do
88
+ @holodeck.mock(Twilio::Response.new(500, ''))
89
+
90
+ expect {
91
+ @client.voice.v1.ip_records.list()
92
+ }.to raise_exception(Twilio::REST::TwilioError)
93
+
94
+ values = {}
95
+ expect(
96
+ @holodeck.has_request?(Holodeck::Request.new(
97
+ method: 'get',
98
+ url: 'https://voice.twilio.com/v1/IpRecords',
99
+ ))).to eq(true)
100
+ end
101
+
102
+ it "receives read_full responses" do
103
+ @holodeck.mock(Twilio::Response.new(
104
+ 200,
105
+ %q[
106
+ {
107
+ "meta": {
108
+ "page": 0,
109
+ "page_size": 50,
110
+ "first_page_url": "https://voice.twilio.com/v1/IpRecords?PageSize=50&Page=0",
111
+ "previous_page_url": null,
112
+ "url": "https://voice.twilio.com/v1/IpRecords?PageSize=50&Page=0",
113
+ "next_page_url": null,
114
+ "key": "ip_records"
115
+ },
116
+ "ip_records": [
117
+ {
118
+ "account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
119
+ "sid": "ILaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
120
+ "friendly_name": "friendly_name",
121
+ "ip_address": "10.2.3.4",
122
+ "cidr_prefix_length": 30,
123
+ "date_created": "2020-03-18T23:31:36Z",
124
+ "date_updated": "2020-03-18T23:31:37Z",
125
+ "url": "https://voice.twilio.com/v1/IpRecords/ILaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
126
+ }
127
+ ]
128
+ }
129
+ ]
130
+ ))
131
+
132
+ actual = @client.voice.v1.ip_records.list()
133
+
134
+ expect(actual).to_not eq(nil)
135
+ end
136
+
137
+ it "receives read_empty responses" do
138
+ @holodeck.mock(Twilio::Response.new(
139
+ 200,
140
+ %q[
141
+ {
142
+ "meta": {
143
+ "page": 0,
144
+ "page_size": 50,
145
+ "first_page_url": "https://voice.twilio.com/v1/IpRecords?PageSize=50&Page=0",
146
+ "previous_page_url": null,
147
+ "url": "https://voice.twilio.com/v1/IpRecords?PageSize=50&Page=0",
148
+ "next_page_url": null,
149
+ "key": "ip_records"
150
+ },
151
+ "ip_records": []
152
+ }
153
+ ]
154
+ ))
155
+
156
+ actual = @client.voice.v1.ip_records.list()
157
+
158
+ expect(actual).to_not eq(nil)
159
+ end
160
+
161
+ it "can update" do
162
+ @holodeck.mock(Twilio::Response.new(500, ''))
163
+
164
+ expect {
165
+ @client.voice.v1.ip_records('ILXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX').update()
166
+ }.to raise_exception(Twilio::REST::TwilioError)
167
+
168
+ values = {}
169
+ expect(
170
+ @holodeck.has_request?(Holodeck::Request.new(
171
+ method: 'post',
172
+ url: 'https://voice.twilio.com/v1/IpRecords/ILXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX',
173
+ ))).to eq(true)
174
+ end
175
+
176
+ it "receives update responses" do
177
+ @holodeck.mock(Twilio::Response.new(
178
+ 200,
179
+ %q[
180
+ {
181
+ "account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
182
+ "sid": "ILaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
183
+ "friendly_name": "update_name",
184
+ "ip_address": "10.2.3.4",
185
+ "cidr_prefix_length": 30,
186
+ "date_created": "2020-03-18T23:31:36Z",
187
+ "date_updated": "2020-03-18T23:31:37Z",
188
+ "url": "https://voice.twilio.com/v1/IpRecords/ILaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
189
+ }
190
+ ]
191
+ ))
192
+
193
+ actual = @client.voice.v1.ip_records('ILXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX').update()
194
+
195
+ expect(actual).to_not eq(nil)
196
+ end
197
+
198
+ it "can delete" do
199
+ @holodeck.mock(Twilio::Response.new(500, ''))
200
+
201
+ expect {
202
+ @client.voice.v1.ip_records('ILXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX').delete()
203
+ }.to raise_exception(Twilio::REST::TwilioError)
204
+
205
+ values = {}
206
+ expect(
207
+ @holodeck.has_request?(Holodeck::Request.new(
208
+ method: 'delete',
209
+ url: 'https://voice.twilio.com/v1/IpRecords/ILXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX',
210
+ ))).to eq(true)
211
+ end
212
+
213
+ it "receives delete responses" do
214
+ @holodeck.mock(Twilio::Response.new(
215
+ 204,
216
+ nil,
217
+ ))
218
+
219
+ actual = @client.voice.v1.ip_records('ILXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX').delete()
220
+
221
+ expect(actual).to eq(true)
222
+ end
223
+ end
@@ -0,0 +1,219 @@
1
+ ##
2
+ # This code was generated by
3
+ # \ / _ _ _| _ _
4
+ # | (_)\/(_)(_|\/| |(/_ v1.0.0
5
+ # / /
6
+ #
7
+ # frozen_string_literal: true
8
+
9
+ require 'spec_helper.rb'
10
+
11
+ describe 'SourceIpMapping' do
12
+ it "can create" do
13
+ @holodeck.mock(Twilio::Response.new(500, ''))
14
+
15
+ expect {
16
+ @client.voice.v1.source_ip_mappings.create(ip_record_sid: 'ILXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX', sip_domain_sid: 'SDXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX')
17
+ }.to raise_exception(Twilio::REST::TwilioError)
18
+
19
+ values = {
20
+ 'IpRecordSid' => 'ILXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX',
21
+ 'SipDomainSid' => 'SDXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX',
22
+ }
23
+ expect(
24
+ @holodeck.has_request?(Holodeck::Request.new(
25
+ method: 'post',
26
+ url: 'https://voice.twilio.com/v1/SourceIpMappings',
27
+ data: values,
28
+ ))).to eq(true)
29
+ end
30
+
31
+ it "receives create responses" do
32
+ @holodeck.mock(Twilio::Response.new(
33
+ 201,
34
+ %q[
35
+ {
36
+ "sid": "IBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
37
+ "ip_record_sid": "ILaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
38
+ "sip_domain_sid": "SDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
39
+ "date_created": "2020-03-18T23:31:36Z",
40
+ "date_updated": "2020-03-18T23:31:36Z",
41
+ "url": "https://voice.twilio.com/v1/SourceIpMappings/IBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
42
+ }
43
+ ]
44
+ ))
45
+
46
+ actual = @client.voice.v1.source_ip_mappings.create(ip_record_sid: 'ILXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX', sip_domain_sid: 'SDXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX')
47
+
48
+ expect(actual).to_not eq(nil)
49
+ end
50
+
51
+ it "can fetch" do
52
+ @holodeck.mock(Twilio::Response.new(500, ''))
53
+
54
+ expect {
55
+ @client.voice.v1.source_ip_mappings('IBXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX').fetch()
56
+ }.to raise_exception(Twilio::REST::TwilioError)
57
+
58
+ values = {}
59
+ expect(
60
+ @holodeck.has_request?(Holodeck::Request.new(
61
+ method: 'get',
62
+ url: 'https://voice.twilio.com/v1/SourceIpMappings/IBXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX',
63
+ ))).to eq(true)
64
+ end
65
+
66
+ it "receives fetch responses" do
67
+ @holodeck.mock(Twilio::Response.new(
68
+ 200,
69
+ %q[
70
+ {
71
+ "sid": "IBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
72
+ "ip_record_sid": "ILaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
73
+ "sip_domain_sid": "SDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
74
+ "date_created": "2020-03-18T23:31:36Z",
75
+ "date_updated": "2020-03-18T23:31:37Z",
76
+ "url": "https://voice.twilio.com/v1/SourceIpMappings/IBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
77
+ }
78
+ ]
79
+ ))
80
+
81
+ actual = @client.voice.v1.source_ip_mappings('IBXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX').fetch()
82
+
83
+ expect(actual).to_not eq(nil)
84
+ end
85
+
86
+ it "can read" do
87
+ @holodeck.mock(Twilio::Response.new(500, ''))
88
+
89
+ expect {
90
+ @client.voice.v1.source_ip_mappings.list()
91
+ }.to raise_exception(Twilio::REST::TwilioError)
92
+
93
+ values = {}
94
+ expect(
95
+ @holodeck.has_request?(Holodeck::Request.new(
96
+ method: 'get',
97
+ url: 'https://voice.twilio.com/v1/SourceIpMappings',
98
+ ))).to eq(true)
99
+ end
100
+
101
+ it "receives read_full responses" do
102
+ @holodeck.mock(Twilio::Response.new(
103
+ 200,
104
+ %q[
105
+ {
106
+ "meta": {
107
+ "page": 0,
108
+ "page_size": 50,
109
+ "first_page_url": "https://voice.twilio.com/v1/SourceIpMappings?PageSize=50&Page=0",
110
+ "previous_page_url": null,
111
+ "url": "https://voice.twilio.com/v1/SourceIpMappings?PageSize=50&Page=0",
112
+ "next_page_url": null,
113
+ "key": "source_ip_mappings"
114
+ },
115
+ "source_ip_mappings": [
116
+ {
117
+ "sid": "IBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
118
+ "ip_record_sid": "ILaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
119
+ "sip_domain_sid": "SDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
120
+ "date_created": "2020-03-18T23:31:36Z",
121
+ "date_updated": "2020-03-18T23:31:37Z",
122
+ "url": "https://voice.twilio.com/v1/SourceIpMappings/IBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
123
+ }
124
+ ]
125
+ }
126
+ ]
127
+ ))
128
+
129
+ actual = @client.voice.v1.source_ip_mappings.list()
130
+
131
+ expect(actual).to_not eq(nil)
132
+ end
133
+
134
+ it "receives read_empty responses" do
135
+ @holodeck.mock(Twilio::Response.new(
136
+ 200,
137
+ %q[
138
+ {
139
+ "meta": {
140
+ "page": 0,
141
+ "page_size": 50,
142
+ "first_page_url": "https://voice.twilio.com/v1/SourceIpMappings?PageSize=50&Page=0",
143
+ "previous_page_url": null,
144
+ "url": "https://voice.twilio.com/v1/SourceIpMappings?PageSize=50&Page=0",
145
+ "next_page_url": null,
146
+ "key": "source_ip_mappings"
147
+ },
148
+ "source_ip_mappings": []
149
+ }
150
+ ]
151
+ ))
152
+
153
+ actual = @client.voice.v1.source_ip_mappings.list()
154
+
155
+ expect(actual).to_not eq(nil)
156
+ end
157
+
158
+ it "can update" do
159
+ @holodeck.mock(Twilio::Response.new(500, ''))
160
+
161
+ expect {
162
+ @client.voice.v1.source_ip_mappings('IBXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX').update(sip_domain_sid: 'SDXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX')
163
+ }.to raise_exception(Twilio::REST::TwilioError)
164
+
165
+ values = {'SipDomainSid' => 'SDXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX', }
166
+ expect(
167
+ @holodeck.has_request?(Holodeck::Request.new(
168
+ method: 'post',
169
+ url: 'https://voice.twilio.com/v1/SourceIpMappings/IBXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX',
170
+ data: values,
171
+ ))).to eq(true)
172
+ end
173
+
174
+ it "receives update responses" do
175
+ @holodeck.mock(Twilio::Response.new(
176
+ 200,
177
+ %q[
178
+ {
179
+ "sid": "IBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
180
+ "ip_record_sid": "ILaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
181
+ "sip_domain_sid": "SDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaab",
182
+ "date_created": "2020-03-18T23:31:36Z",
183
+ "date_updated": "2020-03-18T23:31:37Z",
184
+ "url": "https://voice.twilio.com/v1/SourceIpMappings/IBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
185
+ }
186
+ ]
187
+ ))
188
+
189
+ actual = @client.voice.v1.source_ip_mappings('IBXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX').update(sip_domain_sid: 'SDXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX')
190
+
191
+ expect(actual).to_not eq(nil)
192
+ end
193
+
194
+ it "can delete" do
195
+ @holodeck.mock(Twilio::Response.new(500, ''))
196
+
197
+ expect {
198
+ @client.voice.v1.source_ip_mappings('IBXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX').delete()
199
+ }.to raise_exception(Twilio::REST::TwilioError)
200
+
201
+ values = {}
202
+ expect(
203
+ @holodeck.has_request?(Holodeck::Request.new(
204
+ method: 'delete',
205
+ url: 'https://voice.twilio.com/v1/SourceIpMappings/IBXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX',
206
+ ))).to eq(true)
207
+ end
208
+
209
+ it "receives delete responses" do
210
+ @holodeck.mock(Twilio::Response.new(
211
+ 204,
212
+ nil,
213
+ ))
214
+
215
+ actual = @client.voice.v1.source_ip_mappings('IBXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX').delete()
216
+
217
+ expect(actual).to eq(true)
218
+ end
219
+ end
data/twilio-ruby.gemspec CHANGED
@@ -7,7 +7,7 @@ require 'twilio-ruby/version'
7
7
  Gem::Specification.new do |spec|
8
8
  spec.name = 'twilio-ruby'
9
9
  spec.version = Twilio::VERSION
10
- spec.authors = ['Twilio API Team']
10
+ spec.authors = ['Twilio API Team']
11
11
  spec.summary = 'The official library for communicating with the Twilio REST API, '\
12
12
  'building TwiML, and generating Twilio JWT Capability Tokens'
13
13
  spec.description = 'The official library for communicating with the Twilio REST API, '\