punchblock 2.5.2 → 2.5.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (74) hide show
  1. checksums.yaml +4 -4
  2. data/.hound.yml +2 -0
  3. data/CHANGELOG.md +6 -0
  4. data/README.markdown +2 -1
  5. data/lib/punchblock/translator/asterisk/call.rb +3 -3
  6. data/lib/punchblock/translator/asterisk/component/mrcp_recog_prompt.rb +15 -9
  7. data/lib/punchblock/translator/asterisk/component/output.rb +8 -1
  8. data/lib/punchblock/translator/input_component.rb +2 -0
  9. data/lib/punchblock/version.rb +1 -1
  10. data/punchblock.gemspec +1 -1
  11. data/spec/punchblock/client/component_registry_spec.rb +3 -3
  12. data/spec/punchblock/client_spec.rb +22 -15
  13. data/spec/punchblock/command/accept_spec.rb +17 -7
  14. data/spec/punchblock/command/answer_spec.rb +19 -9
  15. data/spec/punchblock/command/dial_spec.rb +76 -27
  16. data/spec/punchblock/command/hangup_spec.rb +17 -7
  17. data/spec/punchblock/command/join_spec.rb +78 -24
  18. data/spec/punchblock/command/mute_spec.rb +3 -3
  19. data/spec/punchblock/command/redirect_spec.rb +33 -12
  20. data/spec/punchblock/command/reject_spec.rb +41 -14
  21. data/spec/punchblock/command/unjoin_spec.rb +29 -12
  22. data/spec/punchblock/command/unmute_spec.rb +3 -3
  23. data/spec/punchblock/command_node_spec.rb +43 -20
  24. data/spec/punchblock/component/asterisk/agi/command_spec.rb +52 -12
  25. data/spec/punchblock/component/asterisk/ami/action_spec.rb +69 -21
  26. data/spec/punchblock/component/component_node_spec.rb +12 -12
  27. data/spec/punchblock/component/input_spec.rb +304 -87
  28. data/spec/punchblock/component/output_spec.rb +434 -173
  29. data/spec/punchblock/component/prompt_spec.rb +63 -20
  30. data/spec/punchblock/component/receive_fax_spec.rb +43 -14
  31. data/spec/punchblock/component/record_spec.rb +215 -71
  32. data/spec/punchblock/component/send_fax_spec.rb +54 -15
  33. data/spec/punchblock/connection/asterisk_spec.rb +34 -24
  34. data/spec/punchblock/connection/freeswitch_spec.rb +9 -9
  35. data/spec/punchblock/connection/xmpp_spec.rb +92 -83
  36. data/spec/punchblock/event/answered_spec.rb +14 -4
  37. data/spec/punchblock/event/asterisk/ami/event_spec.rb +34 -12
  38. data/spec/punchblock/event/complete_spec.rb +36 -16
  39. data/spec/punchblock/event/dtmf_spec.rb +9 -3
  40. data/spec/punchblock/event/end_spec.rb +43 -10
  41. data/spec/punchblock/event/input_timers_started_spec.rb +1 -1
  42. data/spec/punchblock/event/joined_spec.rb +29 -7
  43. data/spec/punchblock/event/offer_spec.rb +41 -10
  44. data/spec/punchblock/event/ringing_spec.rb +14 -4
  45. data/spec/punchblock/event/started_speaking_spec.rb +9 -3
  46. data/spec/punchblock/event/stopped_speaking_spec.rb +9 -3
  47. data/spec/punchblock/event/unjoined_spec.rb +24 -6
  48. data/spec/punchblock/protocol_error_spec.rb +16 -13
  49. data/spec/punchblock/ref_spec.rb +90 -26
  50. data/spec/punchblock/translator/asterisk/call_spec.rb +176 -161
  51. data/spec/punchblock/translator/asterisk/component/asterisk/agi_command_spec.rb +18 -18
  52. data/spec/punchblock/translator/asterisk/component/asterisk/ami_action_spec.rb +9 -9
  53. data/spec/punchblock/translator/asterisk/component/composed_prompt_spec.rb +14 -14
  54. data/spec/punchblock/translator/asterisk/component/input_spec.rb +57 -36
  55. data/spec/punchblock/translator/asterisk/component/mrcp_native_prompt_spec.rb +50 -50
  56. data/spec/punchblock/translator/asterisk/component/mrcp_prompt_spec.rb +59 -48
  57. data/spec/punchblock/translator/asterisk/component/output_spec.rb +231 -221
  58. data/spec/punchblock/translator/asterisk/component/record_spec.rb +82 -82
  59. data/spec/punchblock/translator/asterisk/component/stop_by_redirect_spec.rb +10 -10
  60. data/spec/punchblock/translator/asterisk/component_spec.rb +4 -4
  61. data/spec/punchblock/translator/asterisk_spec.rb +89 -82
  62. data/spec/punchblock/translator/freeswitch/call_spec.rb +114 -99
  63. data/spec/punchblock/translator/freeswitch/component/flite_output_spec.rb +19 -19
  64. data/spec/punchblock/translator/freeswitch/component/input_spec.rb +24 -24
  65. data/spec/punchblock/translator/freeswitch/component/output_spec.rb +23 -23
  66. data/spec/punchblock/translator/freeswitch/component/record_spec.rb +78 -78
  67. data/spec/punchblock/translator/freeswitch/component/tts_output_spec.rb +19 -19
  68. data/spec/punchblock/translator/freeswitch/component_spec.rb +8 -8
  69. data/spec/punchblock/translator/freeswitch_spec.rb +66 -59
  70. data/spec/punchblock/uri_list_spec.rb +45 -10
  71. data/spec/punchblock_spec.rb +13 -13
  72. data/spec/spec_helper.rb +18 -11
  73. data/spec/support/mock_connection_with_event_handler.rb +1 -1
  74. metadata +5 -4
@@ -24,7 +24,7 @@ module Punchblock
24
24
 
25
25
  before do
26
26
  mock_stream.as_null_object
27
- mock_call.stub(:uuid_foo)
27
+ allow(mock_call).to receive(:uuid_foo)
28
28
  end
29
29
 
30
30
  subject { Record.new original_command, mock_call }
@@ -39,12 +39,12 @@ module Punchblock
39
39
 
40
40
  it "sets command response to a reference to the component" do
41
41
  subject.execute
42
- original_command.response(0.1).should be_a Ref
43
- original_command.component_id.should be == subject.id
42
+ expect(original_command.response(0.1)).to be_a Ref
43
+ expect(original_command.component_id).to eq(subject.id)
44
44
  end
45
45
 
46
46
  it "starts a recording via uuid_record, using the component ID as the filename" do
47
- mock_call.should_receive(:uuid_foo).once.with(:record, "start #{filename}")
47
+ expect(mock_call).to receive(:uuid_foo).once.with(:record, "start #{filename}")
48
48
  subject.execute
49
49
  end
50
50
 
@@ -56,37 +56,37 @@ module Punchblock
56
56
  :record_file_path => filename
57
57
  }
58
58
  mock_call.handle_es_event record_stop_event
59
- reason.should be_a Punchblock::Component::Record::Complete::MaxDuration
60
- recording.uri.should be == full_filename
61
- original_command.should be_complete
59
+ expect(reason).to be_a Punchblock::Component::Record::Complete::MaxDuration
60
+ expect(recording.uri).to eq(full_filename)
61
+ expect(original_command).to be_complete
62
62
  end
63
63
 
64
64
  describe 'start_paused' do
65
65
  context "set to nil" do
66
66
  let(:command_options) { { :start_paused => nil } }
67
67
  it "should execute normally" do
68
- mock_call.should_receive(:uuid_foo).once.with(:record, /.wav$/)
68
+ expect(mock_call).to receive(:uuid_foo).once.with(:record, /.wav$/)
69
69
  subject.execute
70
- original_command.response(0.1).should be_a Ref
70
+ expect(original_command.response(0.1)).to be_a Ref
71
71
  end
72
72
  end
73
73
 
74
74
  context "set to false" do
75
75
  let(:command_options) { { :start_paused => false } }
76
76
  it "should execute normally" do
77
- mock_call.should_receive(:uuid_foo).once.with(:record, /.wav$/)
77
+ expect(mock_call).to receive(:uuid_foo).once.with(:record, /.wav$/)
78
78
  subject.execute
79
- original_command.response(0.1).should be_a Ref
79
+ expect(original_command.response(0.1)).to be_a Ref
80
80
  end
81
81
  end
82
82
 
83
83
  context "set to true" do
84
84
  let(:command_options) { { :start_paused => true } }
85
85
  it "should return an error and not execute any actions" do
86
- mock_call.should_receive(:uuid_foo).never
86
+ expect(mock_call).to receive(:uuid_foo).never
87
87
  subject.execute
88
88
  error = ProtocolError.new.setup 'option error', 'A start-paused value of true is unsupported.'
89
- original_command.response(0.1).should be == error
89
+ expect(original_command.response(0.1)).to eq(error)
90
90
  end
91
91
  end
92
92
  end
@@ -95,30 +95,30 @@ module Punchblock
95
95
  context "set to nil" do
96
96
  let(:command_options) { { :initial_timeout => nil } }
97
97
  it "should setvar RECORD_INITIAL_TIMEOUT_MS with a 0 value" do
98
- mock_call.should_receive(:uuid_foo).once.with(:setvar, "RECORD_INITIAL_TIMEOUT_MS 0").ordered
99
- mock_call.should_receive(:uuid_foo).once.with(:record, /.wav$/).ordered
98
+ expect(mock_call).to receive(:uuid_foo).once.with(:setvar, "RECORD_INITIAL_TIMEOUT_MS 0").ordered
99
+ expect(mock_call).to receive(:uuid_foo).once.with(:record, /.wav$/).ordered
100
100
  subject.execute
101
- original_command.response(0.1).should be_a Ref
101
+ expect(original_command.response(0.1)).to be_a Ref
102
102
  end
103
103
  end
104
104
 
105
105
  context "set to -1" do
106
106
  let(:command_options) { { :initial_timeout => -1 } }
107
107
  it "should setvar RECORD_INITIAL_TIMEOUT_MS with a 0 value" do
108
- mock_call.should_receive(:uuid_foo).once.with(:setvar, "RECORD_INITIAL_TIMEOUT_MS 0").ordered
109
- mock_call.should_receive(:uuid_foo).once.with(:record, /.wav$/).ordered
108
+ expect(mock_call).to receive(:uuid_foo).once.with(:setvar, "RECORD_INITIAL_TIMEOUT_MS 0").ordered
109
+ expect(mock_call).to receive(:uuid_foo).once.with(:record, /.wav$/).ordered
110
110
  subject.execute
111
- original_command.response(0.1).should be_a Ref
111
+ expect(original_command.response(0.1)).to be_a Ref
112
112
  end
113
113
  end
114
114
 
115
115
  context "set to a positive number" do
116
116
  let(:command_options) { { :initial_timeout => 10 } }
117
117
  it "should setvar RECORD_INITIAL_TIMEOUT_MS with a value in ms" do
118
- mock_call.should_receive(:uuid_foo).once.with(:setvar, "RECORD_INITIAL_TIMEOUT_MS 10").ordered
119
- mock_call.should_receive(:uuid_foo).once.with(:record, /.wav$/).ordered
118
+ expect(mock_call).to receive(:uuid_foo).once.with(:setvar, "RECORD_INITIAL_TIMEOUT_MS 10").ordered
119
+ expect(mock_call).to receive(:uuid_foo).once.with(:record, /.wav$/).ordered
120
120
  subject.execute
121
- original_command.response(0.1).should be_a Ref
121
+ expect(original_command.response(0.1)).to be_a Ref
122
122
  end
123
123
  end
124
124
  end
@@ -127,30 +127,30 @@ module Punchblock
127
127
  context "set to nil" do
128
128
  let(:command_options) { { :final_timeout => nil } }
129
129
  it "should setvar RECORD_FINAL_TIMEOUT_MS with a 0 value" do
130
- mock_call.should_receive(:uuid_foo).once.with(:setvar, "RECORD_FINAL_TIMEOUT_MS 0").ordered
131
- mock_call.should_receive(:uuid_foo).once.with(:record, /.wav$/).ordered
130
+ expect(mock_call).to receive(:uuid_foo).once.with(:setvar, "RECORD_FINAL_TIMEOUT_MS 0").ordered
131
+ expect(mock_call).to receive(:uuid_foo).once.with(:record, /.wav$/).ordered
132
132
  subject.execute
133
- original_command.response(0.1).should be_a Ref
133
+ expect(original_command.response(0.1)).to be_a Ref
134
134
  end
135
135
  end
136
136
 
137
137
  context "set to -1" do
138
138
  let(:command_options) { { :final_timeout => -1 } }
139
139
  it "should setvar RECORD_FINAL_TIMEOUT_MS with a 0 value" do
140
- mock_call.should_receive(:uuid_foo).once.with(:setvar, "RECORD_FINAL_TIMEOUT_MS 0").ordered
141
- mock_call.should_receive(:uuid_foo).once.with(:record, /.wav$/).ordered
140
+ expect(mock_call).to receive(:uuid_foo).once.with(:setvar, "RECORD_FINAL_TIMEOUT_MS 0").ordered
141
+ expect(mock_call).to receive(:uuid_foo).once.with(:record, /.wav$/).ordered
142
142
  subject.execute
143
- original_command.response(0.1).should be_a Ref
143
+ expect(original_command.response(0.1)).to be_a Ref
144
144
  end
145
145
  end
146
146
 
147
147
  context "set to a positive number" do
148
148
  let(:command_options) { { :final_timeout => 10 } }
149
149
  it "should setvar RECORD_FINAL_TIMEOUT_MS with a value in ms" do
150
- mock_call.should_receive(:uuid_foo).once.with(:setvar, "RECORD_FINAL_TIMEOUT_MS 10").ordered
151
- mock_call.should_receive(:uuid_foo).once.with(:record, /.wav$/).ordered
150
+ expect(mock_call).to receive(:uuid_foo).once.with(:setvar, "RECORD_FINAL_TIMEOUT_MS 10").ordered
151
+ expect(mock_call).to receive(:uuid_foo).once.with(:record, /.wav$/).ordered
152
152
  subject.execute
153
- original_command.response(0.1).should be_a Ref
153
+ expect(original_command.response(0.1)).to be_a Ref
154
154
  end
155
155
  end
156
156
  end
@@ -159,40 +159,40 @@ module Punchblock
159
159
  context "set to nil" do
160
160
  let(:command_options) { { :format => nil } }
161
161
  it "should execute as 'wav'" do
162
- mock_call.should_receive(:uuid_foo).once.with(:record, /.wav/)
162
+ expect(mock_call).to receive(:uuid_foo).once.with(:record, /.wav/)
163
163
  subject.execute
164
- original_command.response(0.1).should be_a Ref
164
+ expect(original_command.response(0.1)).to be_a Ref
165
165
  end
166
166
 
167
167
  it "provides the correct filename in the recording" do
168
- mock_call.should_receive(:uuid_foo)
168
+ expect(mock_call).to receive(:uuid_foo)
169
169
  subject.execute
170
170
  record_stop_event = RubyFS::Event.new nil, {
171
171
  :event_name => 'RECORD_STOP',
172
172
  :record_file_path => "#{Record::RECORDING_BASE_PATH}/#{subject.id}.wav"
173
173
  }
174
174
  mock_call.handle_es_event record_stop_event
175
- recording.uri.should match(/.*\.wav$/)
175
+ expect(recording.uri).to match(/.*\.wav$/)
176
176
  end
177
177
  end
178
178
 
179
179
  context "set to 'mp3'" do
180
180
  let(:command_options) { { :format => 'mp3' } }
181
181
  it "should execute as 'mp3'" do
182
- mock_call.should_receive(:uuid_foo).once.with(:record, /.mp3/)
182
+ expect(mock_call).to receive(:uuid_foo).once.with(:record, /.mp3/)
183
183
  subject.execute
184
- original_command.response(0.1).should be_a Ref
184
+ expect(original_command.response(0.1)).to be_a Ref
185
185
  end
186
186
 
187
187
  it "provides the correct filename in the recording" do
188
- mock_call.should_receive(:uuid_foo)
188
+ expect(mock_call).to receive(:uuid_foo)
189
189
  subject.execute
190
190
  record_stop_event = RubyFS::Event.new nil, {
191
191
  :event_name => 'RECORD_STOP',
192
192
  :record_file_path => "#{Record::RECORDING_BASE_PATH}/#{subject.id}.mp3"
193
193
  }
194
194
  mock_call.handle_es_event record_stop_event
195
- recording.uri.should match(/.*\.mp3$/)
195
+ expect(recording.uri).to match(/.*\.mp3$/)
196
196
  end
197
197
  end
198
198
  end
@@ -201,18 +201,18 @@ module Punchblock
201
201
  context "set to nil" do
202
202
  let(:command_options) { { :start_beep => nil } }
203
203
  it "should execute normally" do
204
- mock_call.should_receive(:uuid_foo).once.with(:record, /.wav$/)
204
+ expect(mock_call).to receive(:uuid_foo).once.with(:record, /.wav$/)
205
205
  subject.execute
206
- original_command.response(0.1).should be_a Ref
206
+ expect(original_command.response(0.1)).to be_a Ref
207
207
  end
208
208
  end
209
209
 
210
210
  context "set to false" do
211
211
  let(:command_options) { { :start_beep => false } }
212
212
  it "should execute normally" do
213
- mock_call.should_receive(:uuid_foo).once.with(:record, /.wav$/)
213
+ expect(mock_call).to receive(:uuid_foo).once.with(:record, /.wav$/)
214
214
  subject.execute
215
- original_command.response(0.1).should be_a Ref
215
+ expect(original_command.response(0.1)).to be_a Ref
216
216
  end
217
217
  end
218
218
 
@@ -220,10 +220,10 @@ module Punchblock
220
220
  let(:command_options) { { :start_beep => true } }
221
221
 
222
222
  it "should return an error and not execute any actions" do
223
- mock_call.should_receive(:uuid_foo).never
223
+ expect(mock_call).to receive(:uuid_foo).never
224
224
  subject.execute
225
225
  error = ProtocolError.new.setup 'option error', 'A start-beep value of true is unsupported.'
226
- original_command.response(0.1).should be == error
226
+ expect(original_command.response(0.1)).to eq(error)
227
227
  end
228
228
  end
229
229
  end
@@ -232,18 +232,18 @@ module Punchblock
232
232
  context "set to nil" do
233
233
  let(:command_options) { { :max_duration => nil } }
234
234
  it "should execute normally" do
235
- mock_call.should_receive(:uuid_foo).once.with(:record, /.wav$/)
235
+ expect(mock_call).to receive(:uuid_foo).once.with(:record, /.wav$/)
236
236
  subject.execute
237
- original_command.response(0.1).should be_a Ref
237
+ expect(original_command.response(0.1)).to be_a Ref
238
238
  end
239
239
  end
240
240
 
241
241
  context "set to -1" do
242
242
  let(:command_options) { { :max_duration => -1 } }
243
243
  it "should execute normally" do
244
- mock_call.should_receive(:uuid_foo).once.with(:record, /.wav$/)
244
+ expect(mock_call).to receive(:uuid_foo).once.with(:record, /.wav$/)
245
245
  subject.execute
246
- original_command.response(0.1).should be_a Ref
246
+ expect(original_command.response(0.1)).to be_a Ref
247
247
  end
248
248
  end
249
249
 
@@ -253,7 +253,7 @@ module Punchblock
253
253
  it "should return an error and not execute any actions" do
254
254
  subject.execute
255
255
  error = ProtocolError.new.setup 'option error', 'A max-duration value that is negative (and not -1) is invalid.'
256
- original_command.response(0.1).should be == error
256
+ expect(original_command.response(0.1)).to eq(error)
257
257
  end
258
258
  end
259
259
 
@@ -263,9 +263,9 @@ module Punchblock
263
263
  let(:command_options) { { :max_duration => 1000 } }
264
264
 
265
265
  it "executes the recording with a time limit" do
266
- mock_call.should_receive(:uuid_foo).once.with(:record, /.wav 1$/)
266
+ expect(mock_call).to receive(:uuid_foo).once.with(:record, /.wav 1$/)
267
267
  subject.execute
268
- original_command.response(0.1).should be_a Ref
268
+ expect(original_command.response(0.1)).to be_a Ref
269
269
  end
270
270
  end
271
271
  end
@@ -274,37 +274,37 @@ module Punchblock
274
274
  context "with nil" do
275
275
  let(:command_options) { { :direction => nil } }
276
276
  it "should execute the setvar application with duplex options before recording" do
277
- mock_call.should_receive(:uuid_foo).once.with(:setvar, "RECORD_STEREO true").ordered
278
- mock_call.should_receive(:uuid_foo).once.with(:record, /.wav$/).ordered
277
+ expect(mock_call).to receive(:uuid_foo).once.with(:setvar, "RECORD_STEREO true").ordered
278
+ expect(mock_call).to receive(:uuid_foo).once.with(:record, /.wav$/).ordered
279
279
  subject.execute
280
- original_command.response(0.1).should be_a Ref
280
+ expect(original_command.response(0.1)).to be_a Ref
281
281
  end
282
282
  end
283
283
  context "with :duplex" do
284
284
  let(:command_options) { { :direction => :duplex } }
285
285
  it "should execute the setvar application with duplex options before recording" do
286
- mock_call.should_receive(:uuid_foo).once.with(:setvar, "RECORD_STEREO true").ordered
287
- mock_call.should_receive(:uuid_foo).once.with(:record, /.wav$/).ordered
286
+ expect(mock_call).to receive(:uuid_foo).once.with(:setvar, "RECORD_STEREO true").ordered
287
+ expect(mock_call).to receive(:uuid_foo).once.with(:record, /.wav$/).ordered
288
288
  subject.execute
289
- original_command.response(0.1).should be_a Ref
289
+ expect(original_command.response(0.1)).to be_a Ref
290
290
  end
291
291
  end
292
292
  context "with :send" do
293
293
  let(:command_options) { { :direction => :send } }
294
294
  it "should execute the setvar application with send options before recording" do
295
- mock_call.should_receive(:uuid_foo).once.with(:setvar, "RECORD_WRITE_ONLY true").ordered
296
- mock_call.should_receive(:uuid_foo).once.with(:record, /.wav$/).ordered
295
+ expect(mock_call).to receive(:uuid_foo).once.with(:setvar, "RECORD_WRITE_ONLY true").ordered
296
+ expect(mock_call).to receive(:uuid_foo).once.with(:record, /.wav$/).ordered
297
297
  subject.execute
298
- original_command.response(0.1).should be_a Ref
298
+ expect(original_command.response(0.1)).to be_a Ref
299
299
  end
300
300
  end
301
301
  context "with :recv" do
302
302
  let(:command_options) { { :direction => :recv } }
303
303
  it "should execute the setvar application with recv options before recording" do
304
- mock_call.should_receive(:uuid_foo).once.with(:setvar, "RECORD_READ_ONLY true").ordered
305
- mock_call.should_receive(:uuid_foo).once.with(:record, /.wav$/).ordered
304
+ expect(mock_call).to receive(:uuid_foo).once.with(:setvar, "RECORD_READ_ONLY true").ordered
305
+ expect(mock_call).to receive(:uuid_foo).once.with(:record, /.wav$/).ordered
306
306
  subject.execute
307
- original_command.response(0.1).should be_a Ref
307
+ expect(original_command.response(0.1)).to be_a Ref
308
308
  end
309
309
  end
310
310
  end
@@ -320,7 +320,7 @@ module Punchblock
320
320
  before { command.request! }
321
321
  it "returns a ProtocolError response" do
322
322
  subject.execute_command command
323
- command.response(0.1).should be_a ProtocolError
323
+ expect(command.response(0.1)).to be_a ProtocolError
324
324
  end
325
325
  end
326
326
 
@@ -342,24 +342,24 @@ module Punchblock
342
342
  end
343
343
 
344
344
  it "sets the command response to true" do
345
- mock_call.should_receive :uuid_foo
345
+ expect(mock_call).to receive :uuid_foo
346
346
  subject.execute_command command
347
347
  send_stop_event
348
- command.response(0.1).should be == true
348
+ expect(command.response(0.1)).to eq(true)
349
349
  end
350
350
 
351
351
  it "executes a uuid_record stop command" do
352
- mock_call.should_receive(:uuid_foo).with(:record, "stop #{filename}")
352
+ expect(mock_call).to receive(:uuid_foo).with(:record, "stop #{filename}")
353
353
  subject.execute_command command
354
354
  end
355
355
 
356
356
  it "sends the correct complete event" do
357
- mock_call.should_receive(:uuid_foo).with(:record, "stop #{filename}")
357
+ expect(mock_call).to receive(:uuid_foo).with(:record, "stop #{filename}")
358
358
  subject.execute_command command
359
359
  send_stop_event
360
- reason.should be_a Punchblock::Event::Complete::Stop
361
- recording.uri.should be == "file://#{filename}"
362
- original_command.should be_complete
360
+ expect(reason).to be_a Punchblock::Event::Complete::Stop
361
+ expect(recording.uri).to eq("file://#{filename}")
362
+ expect(original_command).to be_complete
363
363
  end
364
364
  end
365
365
 
@@ -368,7 +368,7 @@ module Punchblock
368
368
 
369
369
  before do
370
370
  pending
371
- mock_call.should_receive :uuid_foo
371
+ expect(mock_call).to receive :uuid_foo
372
372
  command.request!
373
373
  original_command.request!
374
374
  subject.execute
@@ -376,11 +376,11 @@ module Punchblock
376
376
 
377
377
  it "sets the command response to true" do
378
378
  subject.execute_command command
379
- command.response(0.1).should be == true
379
+ expect(command.response(0.1)).to eq(true)
380
380
  end
381
381
 
382
382
  it "pauses the recording via AMI" do
383
- mock_call.should_receive(:uuid_foo).once.with('PauseMonitor', 'Channel' => channel)
383
+ expect(mock_call).to receive(:uuid_foo).once.with('PauseMonitor', 'Channel' => channel)
384
384
  subject.execute_command command
385
385
  end
386
386
  end
@@ -390,7 +390,7 @@ module Punchblock
390
390
 
391
391
  before do
392
392
  pending
393
- mock_call.should_receive :uuid_foo
393
+ expect(mock_call).to receive :uuid_foo
394
394
  command.request!
395
395
  original_command.request!
396
396
  subject.execute
@@ -398,11 +398,11 @@ module Punchblock
398
398
 
399
399
  it "sets the command response to true" do
400
400
  subject.execute_command command
401
- command.response(0.1).should be == true
401
+ expect(command.response(0.1)).to eq(true)
402
402
  end
403
403
 
404
404
  it "resumes the recording via AMI" do
405
- mock_call.should_receive(:uuid_foo).once.with('ResumeMonitor', 'Channel' => channel)
405
+ expect(mock_call).to receive(:uuid_foo).once.with('ResumeMonitor', 'Channel' => channel)
406
406
  subject.execute_command command
407
407
  end
408
408
  end
@@ -35,7 +35,7 @@ module Punchblock
35
35
  describe '#execute' do
36
36
  before { original_command.request! }
37
37
  def expect_playback(voice = :kal, renderer = :flite, doc = ssml_doc)
38
- subject.wrapped_object.should_receive(:application).once.with :speak, "#{renderer}|#{voice}|#{doc}"
38
+ expect(subject.wrapped_object).to receive(:application).once.with :speak, "#{renderer}|#{voice}|#{doc}"
39
39
  end
40
40
 
41
41
  let :ssml_doc do
@@ -61,7 +61,7 @@ module Punchblock
61
61
  it "should return an error and not execute any actions" do
62
62
  execute
63
63
  error = ProtocolError.new.setup 'option error', 'An SSML document is required.'
64
- original_command.response(0.1).should be == error
64
+ expect(original_command.response(0.1)).to eq(error)
65
65
  end
66
66
  end
67
67
 
@@ -75,7 +75,7 @@ module Punchblock
75
75
  expect_playback
76
76
  execute
77
77
  subject.handle_es_event RubyFS::Event.new(nil, :event_name => "CHANNEL_EXECUTE_COMPLETE")
78
- original_command.complete_event(0.1).reason.should be_a Punchblock::Component::Output::Complete::Finish
78
+ expect(original_command.complete_event(0.1).reason).to be_a Punchblock::Component::Output::Complete::Finish
79
79
  end
80
80
  end
81
81
 
@@ -115,7 +115,7 @@ module Punchblock
115
115
  it "should return an error and not execute any actions" do
116
116
  execute
117
117
  error = ProtocolError.new.setup 'option error', 'A start_offset value is unsupported.'
118
- original_command.response(0.1).should be == error
118
+ expect(original_command.response(0.1)).to eq(error)
119
119
  end
120
120
  end
121
121
  end
@@ -134,7 +134,7 @@ module Punchblock
134
134
  it "should return an error and not execute any actions" do
135
135
  execute
136
136
  error = ProtocolError.new.setup 'option error', 'A start_paused value is unsupported.'
137
- original_command.response(0.1).should be == error
137
+ expect(original_command.response(0.1)).to eq(error)
138
138
  end
139
139
  end
140
140
  end
@@ -153,7 +153,7 @@ module Punchblock
153
153
  it "should return an error and not execute any actions" do
154
154
  execute
155
155
  error = ProtocolError.new.setup 'option error', 'A repeat_interval value is unsupported.'
156
- original_command.response(0.1).should be == error
156
+ expect(original_command.response(0.1)).to eq(error)
157
157
  end
158
158
  end
159
159
  end
@@ -172,7 +172,7 @@ module Punchblock
172
172
  it "should return an error and not execute any actions" do
173
173
  execute
174
174
  error = ProtocolError.new.setup 'option error', 'A repeat_times value is unsupported.'
175
- original_command.response(0.1).should be == error
175
+ expect(original_command.response(0.1)).to eq(error)
176
176
  end
177
177
  end
178
178
  end
@@ -191,7 +191,7 @@ module Punchblock
191
191
  it "should return an error and not execute any actions" do
192
192
  execute
193
193
  error = ProtocolError.new.setup 'option error', 'A max_time value is unsupported.'
194
- original_command.response(0.1).should be == error
194
+ expect(original_command.response(0.1)).to eq(error)
195
195
  end
196
196
  end
197
197
  end
@@ -228,7 +228,7 @@ module Punchblock
228
228
  it "should return an error and not execute any actions" do
229
229
  execute
230
230
  error = ProtocolError.new.setup 'option error', 'An interrupt-on value of any is unsupported.'
231
- original_command.response(0.1).should be == error
231
+ expect(original_command.response(0.1)).to eq(error)
232
232
  end
233
233
  end
234
234
 
@@ -237,7 +237,7 @@ module Punchblock
237
237
  it "should return an error and not execute any actions" do
238
238
  execute
239
239
  error = ProtocolError.new.setup 'option error', 'An interrupt-on value of dtmf is unsupported.'
240
- original_command.response(0.1).should be == error
240
+ expect(original_command.response(0.1)).to eq(error)
241
241
  end
242
242
  end
243
243
 
@@ -246,7 +246,7 @@ module Punchblock
246
246
  it "should return an error and not execute any actions" do
247
247
  execute
248
248
  error = ProtocolError.new.setup 'option error', 'An interrupt-on value of voice is unsupported.'
249
- original_command.response(0.1).should be == error
249
+ expect(original_command.response(0.1)).to eq(error)
250
250
  end
251
251
  end
252
252
  end
@@ -260,7 +260,7 @@ module Punchblock
260
260
 
261
261
  it "returns a ProtocolError response" do
262
262
  subject.execute_command command
263
- command.response(0.1).should be_a ProtocolError
263
+ expect(command.response(0.1)).to be_a ProtocolError
264
264
  end
265
265
  end
266
266
 
@@ -275,21 +275,21 @@ module Punchblock
275
275
  end
276
276
 
277
277
  it "sets the command response to true" do
278
- subject.wrapped_object.should_receive(:application)
278
+ expect(subject.wrapped_object).to receive(:application)
279
279
  subject.execute_command command
280
- command.response(0.1).should be == true
280
+ expect(command.response(0.1)).to eq(true)
281
281
  end
282
282
 
283
283
  it "sends the correct complete event" do
284
- subject.wrapped_object.should_receive(:application)
285
- original_command.should_not be_complete
284
+ expect(subject.wrapped_object).to receive(:application)
285
+ expect(original_command).not_to be_complete
286
286
  subject.execute_command command
287
- reason.should be_a Punchblock::Event::Complete::Stop
288
- original_command.should be_complete
287
+ expect(reason).to be_a Punchblock::Event::Complete::Stop
288
+ expect(original_command).to be_complete
289
289
  end
290
290
 
291
291
  it "breaks the current dialplan application" do
292
- subject.wrapped_object.should_receive(:application).once.with 'break'
292
+ expect(subject.wrapped_object).to receive(:application).once.with 'break'
293
293
  subject.execute_command command
294
294
  end
295
295
  end