twilio-ruby 5.22.0 → 5.22.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 (53) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGES.md +15 -0
  3. data/README.md +2 -2
  4. data/lib/twilio-ruby/rest/client.rb +7 -0
  5. data/lib/twilio-ruby/rest/flex_api/v1/configuration.rb +14 -0
  6. data/lib/twilio-ruby/rest/messaging/v1/session.rb +1 -7
  7. data/lib/twilio-ruby/rest/proxy/v1/service/phone_number.rb +34 -32
  8. data/lib/twilio-ruby/rest/proxy/v1/service/session/interaction.rb +37 -35
  9. data/lib/twilio-ruby/rest/proxy/v1/service/session/participant/message_interaction.rb +45 -38
  10. data/lib/twilio-ruby/rest/proxy/v1/service/session/participant.rb +38 -34
  11. data/lib/twilio-ruby/rest/proxy/v1/service/session.rb +67 -52
  12. data/lib/twilio-ruby/rest/proxy/v1/service/short_code.rb +32 -23
  13. data/lib/twilio-ruby/rest/proxy/v1/service.rb +123 -79
  14. data/lib/twilio-ruby/rest/proxy/v1.rb +2 -1
  15. data/lib/twilio-ruby/rest/proxy.rb +2 -1
  16. data/lib/twilio-ruby/rest/serverless/v1/service/asset/asset_version.rb +366 -0
  17. data/lib/twilio-ruby/rest/serverless/v1/service/asset.rb +384 -0
  18. data/lib/twilio-ruby/rest/serverless/v1/service/build.rb +348 -0
  19. data/lib/twilio-ruby/rest/serverless/v1/service/environment/deployment.rb +358 -0
  20. data/lib/twilio-ruby/rest/serverless/v1/service/environment/variable.rb +398 -0
  21. data/lib/twilio-ruby/rest/serverless/v1/service/environment.rb +417 -0
  22. data/lib/twilio-ruby/rest/serverless/v1/service/function/function_version.rb +366 -0
  23. data/lib/twilio-ruby/rest/serverless/v1/service/function.rb +384 -0
  24. data/lib/twilio-ruby/rest/{verify → serverless}/v1/service.rb +139 -175
  25. data/lib/twilio-ruby/rest/{verify → serverless}/v1.rb +6 -6
  26. data/lib/twilio-ruby/rest/serverless.rb +46 -0
  27. data/lib/twilio-ruby/rest/trunking/v1/trunk/terminating_sip_domain.rb +419 -0
  28. data/lib/twilio-ruby/rest/trunking/v1/trunk.rb +26 -0
  29. data/lib/twilio-ruby/rest/verify/v2/service/verification.rb +46 -38
  30. data/lib/twilio-ruby/rest/verify/v2/service/verification_check.rb +24 -20
  31. data/lib/twilio-ruby/rest/verify/v2/service.rb +59 -57
  32. data/lib/twilio-ruby/rest/verify/v2.rb +2 -1
  33. data/lib/twilio-ruby/rest/verify.rb +2 -8
  34. data/lib/twilio-ruby/version.rb +1 -1
  35. data/spec/integration/flex_api/v1/configuration_spec.rb +15 -0
  36. data/spec/integration/messaging/v1/session/participant_spec.rb +10 -10
  37. data/spec/integration/serverless/v1/service/asset/asset_version_spec.rb +144 -0
  38. data/spec/integration/serverless/v1/service/asset_spec.rb +177 -0
  39. data/spec/integration/serverless/v1/service/build_spec.rb +184 -0
  40. data/spec/integration/serverless/v1/service/environment/deployment_spec.rb +137 -0
  41. data/spec/integration/serverless/v1/service/environment/variable_spec.rb +181 -0
  42. data/spec/integration/serverless/v1/service/environment_spec.rb +143 -0
  43. data/spec/integration/serverless/v1/service/function/function_version_spec.rb +144 -0
  44. data/spec/integration/serverless/v1/service/function_spec.rb +177 -0
  45. data/spec/integration/serverless/v1/service_spec.rb +180 -0
  46. data/spec/integration/trunking/v1/trunk/terminating_sip_domain_spec.rb +231 -0
  47. data/spec/integration/trunking/v1/trunk_spec.rb +12 -6
  48. metadata +34 -12
  49. data/lib/twilio-ruby/rest/verify/v1/service/verification.rb +0 -340
  50. data/lib/twilio-ruby/rest/verify/v1/service/verification_check.rb +0 -209
  51. data/spec/integration/verify/v1/service/verification_check_spec.rb +0 -54
  52. data/spec/integration/verify/v1/service/verification_spec.rb +0 -169
  53. data/spec/integration/verify/v1/service_spec.rb +0 -231
@@ -0,0 +1,184 @@
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 'Build' do
12
+ it "can read" do
13
+ @holodeck.mock(Twilio::Response.new(500, ''))
14
+
15
+ expect {
16
+ @client.serverless.v1.services('ZSXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') \
17
+ .builds.list()
18
+ }.to raise_exception(Twilio::REST::TwilioError)
19
+
20
+ values = {}
21
+ expect(
22
+ @holodeck.has_request?(Holodeck::Request.new(
23
+ method: 'get',
24
+ url: 'https://serverless.twilio.com/v1/Services/ZSXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Builds',
25
+ ))).to eq(true)
26
+ end
27
+
28
+ it "receives read_empty responses" do
29
+ @holodeck.mock(Twilio::Response.new(
30
+ 200,
31
+ %q[
32
+ {
33
+ "builds": [],
34
+ "meta": {
35
+ "first_page_url": "https://serverless.twilio.com/v1/Services/ZS00000000000000000000000000000000/Builds?PageSize=50&Page=0",
36
+ "key": "builds",
37
+ "next_page_url": null,
38
+ "page": 0,
39
+ "page_size": 50,
40
+ "previous_page_url": null,
41
+ "url": "https://serverless.twilio.com/v1/Services/ZS00000000000000000000000000000000/Builds?PageSize=50&Page=0"
42
+ }
43
+ }
44
+ ]
45
+ ))
46
+
47
+ actual = @client.serverless.v1.services('ZSXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') \
48
+ .builds.list()
49
+
50
+ expect(actual).to_not eq(nil)
51
+ end
52
+
53
+ it "can fetch" do
54
+ @holodeck.mock(Twilio::Response.new(500, ''))
55
+
56
+ expect {
57
+ @client.serverless.v1.services('ZSXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') \
58
+ .builds('ZBXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX').fetch()
59
+ }.to raise_exception(Twilio::REST::TwilioError)
60
+
61
+ values = {}
62
+ expect(
63
+ @holodeck.has_request?(Holodeck::Request.new(
64
+ method: 'get',
65
+ url: 'https://serverless.twilio.com/v1/Services/ZSXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Builds/ZBXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX',
66
+ ))).to eq(true)
67
+ end
68
+
69
+ it "receives fetch responses" do
70
+ @holodeck.mock(Twilio::Response.new(
71
+ 200,
72
+ %q[
73
+ {
74
+ "sid": "ZB00000000000000000000000000000000",
75
+ "account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
76
+ "service_sid": "ZS00000000000000000000000000000000",
77
+ "asset_versions": [
78
+ {
79
+ "sid": "ZN00000000000000000000000000000000",
80
+ "account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
81
+ "service_sid": "ZS00000000000000000000000000000000",
82
+ "asset_sid": "ZH00000000000000000000000000000000",
83
+ "date_created": "2018-11-10T20:00:00Z",
84
+ "path": "asset-path",
85
+ "visibility": "PUBLIC"
86
+ }
87
+ ],
88
+ "function_versions": [
89
+ {
90
+ "sid": "ZN00000000000000000000000000000001",
91
+ "account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
92
+ "service_sid": "ZS00000000000000000000000000000000",
93
+ "function_sid": "ZH00000000000000000000000000000001",
94
+ "date_created": "2018-11-10T20:00:00Z",
95
+ "path": "function-path",
96
+ "visibility": "PUBLIC"
97
+ }
98
+ ],
99
+ "dependencies": [
100
+ {
101
+ "name": "twilio",
102
+ "version": "3.6.3"
103
+ }
104
+ ],
105
+ "status": "deploying",
106
+ "date_created": "2018-11-10T20:00:00Z",
107
+ "date_updated": "2018-11-10T20:00:00Z",
108
+ "url": "https://serverless.twilio.com/v1/Services/ZS00000000000000000000000000000000/Builds/ZB00000000000000000000000000000000"
109
+ }
110
+ ]
111
+ ))
112
+
113
+ actual = @client.serverless.v1.services('ZSXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') \
114
+ .builds('ZBXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX').fetch()
115
+
116
+ expect(actual).to_not eq(nil)
117
+ end
118
+
119
+ it "can create" do
120
+ @holodeck.mock(Twilio::Response.new(500, ''))
121
+
122
+ expect {
123
+ @client.serverless.v1.services('ZSXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') \
124
+ .builds.create()
125
+ }.to raise_exception(Twilio::REST::TwilioError)
126
+
127
+ values = {}
128
+ expect(
129
+ @holodeck.has_request?(Holodeck::Request.new(
130
+ method: 'post',
131
+ url: 'https://serverless.twilio.com/v1/Services/ZSXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Builds',
132
+ ))).to eq(true)
133
+ end
134
+
135
+ it "receives create responses" do
136
+ @holodeck.mock(Twilio::Response.new(
137
+ 201,
138
+ %q[
139
+ {
140
+ "sid": "ZB00000000000000000000000000000000",
141
+ "account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
142
+ "service_sid": "ZS00000000000000000000000000000000",
143
+ "asset_versions": [
144
+ {
145
+ "sid": "ZN00000000000000000000000000000000",
146
+ "account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
147
+ "service_sid": "ZS00000000000000000000000000000000",
148
+ "asset_sid": "ZH00000000000000000000000000000000",
149
+ "date_created": "2018-11-10T20:00:00Z",
150
+ "path": "asset-path",
151
+ "visibility": "PUBLIC"
152
+ }
153
+ ],
154
+ "function_versions": [
155
+ {
156
+ "sid": "ZN00000000000000000000000000000001",
157
+ "account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
158
+ "service_sid": "ZS00000000000000000000000000000000",
159
+ "function_sid": "ZH00000000000000000000000000000001",
160
+ "date_created": "2018-11-10T20:00:00Z",
161
+ "path": "function-path",
162
+ "visibility": "PUBLIC"
163
+ }
164
+ ],
165
+ "dependencies": [
166
+ {
167
+ "name": "twilio",
168
+ "version": "3.6.3"
169
+ }
170
+ ],
171
+ "status": "queued",
172
+ "date_created": "2018-11-10T20:00:00Z",
173
+ "date_updated": "2018-11-10T20:00:00Z",
174
+ "url": "https://serverless.twilio.com/v1/Services/ZS00000000000000000000000000000000/Builds/ZB00000000000000000000000000000000"
175
+ }
176
+ ]
177
+ ))
178
+
179
+ actual = @client.serverless.v1.services('ZSXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') \
180
+ .builds.create()
181
+
182
+ expect(actual).to_not eq(nil)
183
+ end
184
+ end
@@ -0,0 +1,137 @@
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 'Deployment' do
12
+ it "can read" do
13
+ @holodeck.mock(Twilio::Response.new(500, ''))
14
+
15
+ expect {
16
+ @client.serverless.v1.services('ZSXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') \
17
+ .environments('ZEXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') \
18
+ .deployments.list()
19
+ }.to raise_exception(Twilio::REST::TwilioError)
20
+
21
+ values = {}
22
+ expect(
23
+ @holodeck.has_request?(Holodeck::Request.new(
24
+ method: 'get',
25
+ url: 'https://serverless.twilio.com/v1/Services/ZSXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Environments/ZEXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Deployments',
26
+ ))).to eq(true)
27
+ end
28
+
29
+ it "receives read_empty responses" do
30
+ @holodeck.mock(Twilio::Response.new(
31
+ 200,
32
+ %q[
33
+ {
34
+ "deployments": [],
35
+ "meta": {
36
+ "first_page_url": "https://serverless.twilio.com/v1/Services/ZS00000000000000000000000000000000/Environments/ZE00000000000000000000000000000000/Deployments?PageSize=50&Page=0",
37
+ "key": "deployments",
38
+ "next_page_url": null,
39
+ "page": 0,
40
+ "page_size": 50,
41
+ "previous_page_url": null,
42
+ "url": "https://serverless.twilio.com/v1/Services/ZS00000000000000000000000000000000/Environments/ZE00000000000000000000000000000000/Deployments?PageSize=50&Page=0"
43
+ }
44
+ }
45
+ ]
46
+ ))
47
+
48
+ actual = @client.serverless.v1.services('ZSXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') \
49
+ .environments('ZEXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') \
50
+ .deployments.list()
51
+
52
+ expect(actual).to_not eq(nil)
53
+ end
54
+
55
+ it "can fetch" do
56
+ @holodeck.mock(Twilio::Response.new(500, ''))
57
+
58
+ expect {
59
+ @client.serverless.v1.services('ZSXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') \
60
+ .environments('ZEXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') \
61
+ .deployments('ZDXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX').fetch()
62
+ }.to raise_exception(Twilio::REST::TwilioError)
63
+
64
+ values = {}
65
+ expect(
66
+ @holodeck.has_request?(Holodeck::Request.new(
67
+ method: 'get',
68
+ url: 'https://serverless.twilio.com/v1/Services/ZSXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Environments/ZEXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Deployments/ZDXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX',
69
+ ))).to eq(true)
70
+ end
71
+
72
+ it "receives fetch responses" do
73
+ @holodeck.mock(Twilio::Response.new(
74
+ 200,
75
+ %q[
76
+ {
77
+ "sid": "ZD00000000000000000000000000000000",
78
+ "account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
79
+ "service_sid": "ZS00000000000000000000000000000000",
80
+ "environment_sid": "ZE00000000000000000000000000000000",
81
+ "build_sid": "ZB00000000000000000000000000000000",
82
+ "date_created": "2018-11-10T20:00:00Z",
83
+ "date_updated": "2018-11-10T20:00:00Z",
84
+ "url": "https://serverless.twilio.com/v1/Services/ZS00000000000000000000000000000000/Environments/ZE00000000000000000000000000000000/Deployments/ZD00000000000000000000000000000000"
85
+ }
86
+ ]
87
+ ))
88
+
89
+ actual = @client.serverless.v1.services('ZSXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') \
90
+ .environments('ZEXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') \
91
+ .deployments('ZDXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX').fetch()
92
+
93
+ expect(actual).to_not eq(nil)
94
+ end
95
+
96
+ it "can create" do
97
+ @holodeck.mock(Twilio::Response.new(500, ''))
98
+
99
+ expect {
100
+ @client.serverless.v1.services('ZSXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') \
101
+ .environments('ZEXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') \
102
+ .deployments.create(build_sid: 'ZBXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX')
103
+ }.to raise_exception(Twilio::REST::TwilioError)
104
+
105
+ values = {'BuildSid' => 'ZBXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX', }
106
+ expect(
107
+ @holodeck.has_request?(Holodeck::Request.new(
108
+ method: 'post',
109
+ url: 'https://serverless.twilio.com/v1/Services/ZSXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Environments/ZEXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Deployments',
110
+ data: values,
111
+ ))).to eq(true)
112
+ end
113
+
114
+ it "receives create responses" do
115
+ @holodeck.mock(Twilio::Response.new(
116
+ 201,
117
+ %q[
118
+ {
119
+ "sid": "ZD00000000000000000000000000000000",
120
+ "account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
121
+ "service_sid": "ZS00000000000000000000000000000000",
122
+ "environment_sid": "ZE00000000000000000000000000000000",
123
+ "build_sid": "ZB00000000000000000000000000000000",
124
+ "date_created": "2018-11-10T20:00:00Z",
125
+ "date_updated": "2018-11-10T20:00:00Z",
126
+ "url": "https://serverless.twilio.com/v1/Services/ZS00000000000000000000000000000000/Environments/ZE00000000000000000000000000000000/Deployments/ZD00000000000000000000000000000000"
127
+ }
128
+ ]
129
+ ))
130
+
131
+ actual = @client.serverless.v1.services('ZSXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') \
132
+ .environments('ZEXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') \
133
+ .deployments.create(build_sid: 'ZBXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX')
134
+
135
+ expect(actual).to_not eq(nil)
136
+ end
137
+ end
@@ -0,0 +1,181 @@
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 'Variable' do
12
+ it "can read" do
13
+ @holodeck.mock(Twilio::Response.new(500, ''))
14
+
15
+ expect {
16
+ @client.serverless.v1.services('ZSXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') \
17
+ .environments('ZEXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') \
18
+ .variables.list()
19
+ }.to raise_exception(Twilio::REST::TwilioError)
20
+
21
+ values = {}
22
+ expect(
23
+ @holodeck.has_request?(Holodeck::Request.new(
24
+ method: 'get',
25
+ url: 'https://serverless.twilio.com/v1/Services/ZSXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Environments/ZEXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Variables',
26
+ ))).to eq(true)
27
+ end
28
+
29
+ it "receives read_empty responses" do
30
+ @holodeck.mock(Twilio::Response.new(
31
+ 200,
32
+ %q[
33
+ {
34
+ "variables": [],
35
+ "meta": {
36
+ "first_page_url": "https://serverless.twilio.com/v1/Services/ZS00000000000000000000000000000000/Environments/ZE00000000000000000000000000000000/Variables?PageSize=50&Page=0",
37
+ "key": "variables",
38
+ "next_page_url": null,
39
+ "page": 0,
40
+ "page_size": 50,
41
+ "previous_page_url": null,
42
+ "url": "https://serverless.twilio.com/v1/Services/ZS00000000000000000000000000000000/Environments/ZE00000000000000000000000000000000/Variables?PageSize=50&Page=0"
43
+ }
44
+ }
45
+ ]
46
+ ))
47
+
48
+ actual = @client.serverless.v1.services('ZSXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') \
49
+ .environments('ZEXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') \
50
+ .variables.list()
51
+
52
+ expect(actual).to_not eq(nil)
53
+ end
54
+
55
+ it "can fetch" do
56
+ @holodeck.mock(Twilio::Response.new(500, ''))
57
+
58
+ expect {
59
+ @client.serverless.v1.services('ZSXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') \
60
+ .environments('ZEXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') \
61
+ .variables('ZVXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX').fetch()
62
+ }.to raise_exception(Twilio::REST::TwilioError)
63
+
64
+ values = {}
65
+ expect(
66
+ @holodeck.has_request?(Holodeck::Request.new(
67
+ method: 'get',
68
+ url: 'https://serverless.twilio.com/v1/Services/ZSXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Environments/ZEXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Variables/ZVXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX',
69
+ ))).to eq(true)
70
+ end
71
+
72
+ it "receives fetch responses" do
73
+ @holodeck.mock(Twilio::Response.new(
74
+ 200,
75
+ %q[
76
+ {
77
+ "sid": "ZV00000000000000000000000000000000",
78
+ "account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
79
+ "service_sid": "ZS00000000000000000000000000000000",
80
+ "environment_sid": "ZE00000000000000000000000000000000",
81
+ "key": "test-key",
82
+ "value": "test-value",
83
+ "date_created": "2018-11-10T20:00:00Z",
84
+ "date_updated": "2018-11-10T20:00:00Z",
85
+ "url": "https://serverless.twilio.com/v1/Services/ZS00000000000000000000000000000000/Environments/ZE00000000000000000000000000000000/Variables/ZV00000000000000000000000000000000"
86
+ }
87
+ ]
88
+ ))
89
+
90
+ actual = @client.serverless.v1.services('ZSXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') \
91
+ .environments('ZEXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') \
92
+ .variables('ZVXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX').fetch()
93
+
94
+ expect(actual).to_not eq(nil)
95
+ end
96
+
97
+ it "can create" do
98
+ @holodeck.mock(Twilio::Response.new(500, ''))
99
+
100
+ expect {
101
+ @client.serverless.v1.services('ZSXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') \
102
+ .environments('ZEXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') \
103
+ .variables.create(key: 'key', value: 'value')
104
+ }.to raise_exception(Twilio::REST::TwilioError)
105
+
106
+ values = {'Key' => 'key', 'Value' => 'value', }
107
+ expect(
108
+ @holodeck.has_request?(Holodeck::Request.new(
109
+ method: 'post',
110
+ url: 'https://serverless.twilio.com/v1/Services/ZSXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Environments/ZEXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Variables',
111
+ data: values,
112
+ ))).to eq(true)
113
+ end
114
+
115
+ it "receives create responses" do
116
+ @holodeck.mock(Twilio::Response.new(
117
+ 201,
118
+ %q[
119
+ {
120
+ "sid": "ZV00000000000000000000000000000000",
121
+ "account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
122
+ "service_sid": "ZS00000000000000000000000000000000",
123
+ "environment_sid": "ZE00000000000000000000000000000000",
124
+ "key": "new-key",
125
+ "value": "new-value",
126
+ "date_created": "2018-11-10T20:00:00Z",
127
+ "date_updated": "2018-11-10T20:00:00Z",
128
+ "url": "https://serverless.twilio.com/v1/Services/ZS00000000000000000000000000000000/Environments/ZE00000000000000000000000000000000/Variables/ZV00000000000000000000000000000000"
129
+ }
130
+ ]
131
+ ))
132
+
133
+ actual = @client.serverless.v1.services('ZSXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') \
134
+ .environments('ZEXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') \
135
+ .variables.create(key: 'key', value: 'value')
136
+
137
+ expect(actual).to_not eq(nil)
138
+ end
139
+
140
+ it "can update" do
141
+ @holodeck.mock(Twilio::Response.new(500, ''))
142
+
143
+ expect {
144
+ @client.serverless.v1.services('ZSXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') \
145
+ .environments('ZEXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') \
146
+ .variables('ZVXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX').update()
147
+ }.to raise_exception(Twilio::REST::TwilioError)
148
+
149
+ values = {}
150
+ expect(
151
+ @holodeck.has_request?(Holodeck::Request.new(
152
+ method: 'post',
153
+ url: 'https://serverless.twilio.com/v1/Services/ZSXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Environments/ZEXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Variables/ZVXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX',
154
+ ))).to eq(true)
155
+ end
156
+
157
+ it "receives update responses" do
158
+ @holodeck.mock(Twilio::Response.new(
159
+ 200,
160
+ %q[
161
+ {
162
+ "sid": "ZV00000000000000000000000000000000",
163
+ "account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
164
+ "service_sid": "ZS00000000000000000000000000000000",
165
+ "environment_sid": "ZE00000000000000000000000000000000",
166
+ "key": "update-key",
167
+ "value": "update-value",
168
+ "date_created": "2018-11-10T20:00:00Z",
169
+ "date_updated": "2018-11-11T20:00:00Z",
170
+ "url": "https://serverless.twilio.com/v1/Services/ZS00000000000000000000000000000000/Environments/ZE00000000000000000000000000000000/Variables/ZV00000000000000000000000000000000"
171
+ }
172
+ ]
173
+ ))
174
+
175
+ actual = @client.serverless.v1.services('ZSXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') \
176
+ .environments('ZEXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') \
177
+ .variables('ZVXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX').update()
178
+
179
+ expect(actual).to_not eq(nil)
180
+ end
181
+ end