sipgate_io 0.1.6 → 0.2.0
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 +4 -4
- data/lib/sipgate_io/version.rb +1 -1
- data/lib/sipgate_io/xml_response.rb +34 -50
- data/test/dummy/app/models/event_processor.rb +0 -4
- data/test/dummy/db/schema.rb +0 -0
- data/test/dummy/log/test.log +9093 -0
- data/test/lib/sipgate_io/xml_response_test.rb +140 -7
- metadata +4 -2
@@ -2,12 +2,145 @@ require 'test_helper'
|
|
2
2
|
|
3
3
|
module SipgateIo
|
4
4
|
class XmlResponseTestTest < ActiveSupport::TestCase
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
5
|
+
|
6
|
+
test "hangup xml response without parameter" do
|
7
|
+
actual = SipgateIo::XmlResponse.hangup
|
8
|
+
expected = %Q[<?xml version="1.0" encoding="UTF-8"?><Response><Hangup/></Response>]
|
9
|
+
assert_equal sanitize_xml_for_test(actual), expected
|
10
|
+
end
|
11
|
+
|
12
|
+
test "hangup xml response with on_answer parameter" do
|
13
|
+
actual = SipgateIo::XmlResponse.hangup(callback: :on_answer)
|
14
|
+
expected = %Q[<?xml version="1.0" encoding="UTF-8"?><Response onAnswer="http://localhost:3000"><Hangup/></Response>]
|
15
|
+
assert_equal sanitize_xml_for_test(actual), expected
|
16
|
+
end
|
17
|
+
|
18
|
+
test "hangup xml response with on_hangup parameter" do
|
19
|
+
actual = SipgateIo::XmlResponse.hangup(callback: :on_hangup)
|
20
|
+
expected = %Q[<?xml version="1.0" encoding="UTF-8"?><Response onHangup="http://localhost:3000"><Hangup/></Response>]
|
21
|
+
assert_equal sanitize_xml_for_test(actual), expected
|
22
|
+
end
|
23
|
+
|
24
|
+
test "reject without reason" do
|
25
|
+
actual = SipgateIo::XmlResponse.reject
|
26
|
+
expected = %Q[<?xml version="1.0" encoding="UTF-8"?><Response><Reject/></Response>]
|
27
|
+
assert_equal sanitize_xml_for_test(actual), expected
|
28
|
+
end
|
29
|
+
|
30
|
+
test "reject with reason" do
|
31
|
+
actual = SipgateIo::XmlResponse.reject(reason: :busy)
|
32
|
+
expected = %Q[<?xml version="1.0" encoding="UTF-8"?><Response><Reject reason="busy"/></Response>]
|
33
|
+
assert_equal sanitize_xml_for_test(actual), expected
|
34
|
+
|
35
|
+
actual = SipgateIo::XmlResponse.reject(reason: :rejected)
|
36
|
+
expected = %Q[<?xml version="1.0" encoding="UTF-8"?><Response><Reject reason="rejected"/></Response>]
|
37
|
+
assert_equal sanitize_xml_for_test(actual), expected
|
38
|
+
end
|
39
|
+
|
40
|
+
test "reject with reason and callback" do
|
41
|
+
actual = SipgateIo::XmlResponse.reject(reason: :busy, callback: :on_hangup)
|
42
|
+
expected = %Q[<?xml version="1.0" encoding="UTF-8"?><Response onHangup="http://localhost:3000"><Reject reason="busy"/></Response>]
|
43
|
+
assert_equal sanitize_xml_for_test(actual), expected
|
44
|
+
|
45
|
+
actual = SipgateIo::XmlResponse.reject(reason: :rejected, callback: :on_answer)
|
46
|
+
expected = %Q[<?xml version="1.0" encoding="UTF-8"?><Response onAnswer="http://localhost:3000"><Reject reason="rejected"/></Response>]
|
47
|
+
assert_equal sanitize_xml_for_test(actual), expected
|
48
|
+
end
|
49
|
+
|
50
|
+
test "play with url" do
|
51
|
+
actual = SipgateIo::XmlResponse.play(soundfile_url: "http://file.wav")
|
52
|
+
expected = %Q[<?xml version="1.0" encoding="UTF-8"?><Response><Play><Url>http://file.wav</Url></Play></Response>]
|
53
|
+
assert_equal sanitize_xml_for_test(actual), expected
|
54
|
+
end
|
55
|
+
|
56
|
+
test "play with url and callback" do
|
57
|
+
actual = SipgateIo::XmlResponse.play(soundfile_url: "http://file.wav", callback: :on_hangup)
|
58
|
+
expected = %Q[<?xml version="1.0" encoding="UTF-8"?><Response onHangup="http://localhost:3000"><Play><Url>http://file.wav</Url></Play></Response>]
|
59
|
+
assert_equal sanitize_xml_for_test(actual), expected
|
60
|
+
end
|
61
|
+
|
62
|
+
test "gather xml response without parameter" do
|
63
|
+
actual = SipgateIo::XmlResponse.gather
|
64
|
+
expected = %Q[<?xml version="1.0" encoding="UTF-8"?><Response><Gather onData="http://localhost:3000"></Gather></Response>]
|
65
|
+
assert_equal sanitize_xml_for_test(actual), expected
|
66
|
+
|
67
|
+
actual = SipgateIo::XmlResponse.gather()
|
68
|
+
expected = %Q[<?xml version="1.0" encoding="UTF-8"?><Response><Gather onData="http://localhost:3000"></Gather></Response>]
|
69
|
+
assert_equal sanitize_xml_for_test(actual), expected
|
70
|
+
end
|
71
|
+
|
72
|
+
test "gather xml response with callback" do
|
73
|
+
actual = SipgateIo::XmlResponse.gather(callback: :on_hangup)
|
74
|
+
expected = %Q[<?xml version="1.0" encoding="UTF-8"?><Response onHangup="http://localhost:3000"><Gather onData="http://localhost:3000"></Gather></Response>]
|
75
|
+
assert_equal sanitize_xml_for_test(actual), expected
|
76
|
+
end
|
77
|
+
|
78
|
+
test "gather xml response with parameter" do
|
79
|
+
actual = SipgateIo::XmlResponse.gather(soundfile_url: "http://file.wav")
|
80
|
+
expected = %Q[<?xml version="1.0" encoding="UTF-8"?><Response><Gather onData="http://localhost:3000"><Play><Url>http://file.wav</Url></Play></Gather></Response>]
|
81
|
+
assert_equal sanitize_xml_for_test(actual), expected
|
82
|
+
|
83
|
+
actual = SipgateIo::XmlResponse.gather(soundfile_url: "http://file.wav", timeout: 5000)
|
84
|
+
expected = %Q[<?xml version="1.0" encoding="UTF-8"?><Response><Gather onData="http://localhost:3000" timeout="5000"><Play><Url>http://file.wav</Url></Play></Gather></Response>]
|
85
|
+
assert_equal sanitize_xml_for_test(actual), expected
|
86
|
+
end
|
87
|
+
|
88
|
+
test "gather xml response with parameter and callback" do
|
89
|
+
actual = SipgateIo::XmlResponse.gather(soundfile_url: "http://file.wav", callback: :on_hangup)
|
90
|
+
expected = %Q[<?xml version="1.0" encoding="UTF-8"?><Response onHangup="http://localhost:3000"><Gather onData="http://localhost:3000"><Play><Url>http://file.wav</Url></Play></Gather></Response>]
|
91
|
+
assert_equal sanitize_xml_for_test(actual), expected
|
92
|
+
|
93
|
+
actual = SipgateIo::XmlResponse.gather(soundfile_url: "http://file.wav", max_digits: 5, callback: :on_answer)
|
94
|
+
expected = %Q[<?xml version="1.0" encoding="UTF-8"?><Response onAnswer="http://localhost:3000"><Gather onData="http://localhost:3000" maxDigits="5"><Play><Url>http://file.wav</Url></Play></Gather></Response>]
|
95
|
+
assert_equal sanitize_xml_for_test(actual), expected
|
96
|
+
end
|
97
|
+
|
98
|
+
test "call redirect to voicemail" do
|
99
|
+
actual = SipgateIo::XmlResponse.dial(target: :voicemail)
|
100
|
+
expected = %Q[<?xml version="1.0" encoding="UTF-8"?><Response><Dial><Voicemail/></Dial></Response>]
|
101
|
+
assert_equal sanitize_xml_for_test(actual), expected
|
102
|
+
end
|
103
|
+
|
104
|
+
test "call redirect to number" do
|
105
|
+
actual = SipgateIo::XmlResponse.dial(target: "4915799912345")
|
106
|
+
expected = %Q[<?xml version="1.0" encoding="UTF-8"?><Response><Dial><Number>4915799912345</Number></Dial></Response>]
|
107
|
+
assert_equal sanitize_xml_for_test(actual), expected
|
108
|
+
end
|
109
|
+
|
110
|
+
test "call redirect to number with anonymous" do
|
111
|
+
actual = SipgateIo::XmlResponse.dial(target: "4915799912345", clip: :anonymous)
|
112
|
+
expected = %Q[<?xml version="1.0" encoding="UTF-8"?><Response><Dial anonymous="true"><Number>4915799912345</Number></Dial></Response>]
|
113
|
+
assert_equal sanitize_xml_for_test(actual), expected
|
114
|
+
end
|
115
|
+
|
116
|
+
test "call redirect to number with clip" do
|
117
|
+
actual = SipgateIo::XmlResponse.dial(target: "4915799912345", clip: "4915799912345")
|
118
|
+
expected = %Q[<?xml version="1.0" encoding="UTF-8"?><Response><Dial callerId="4915799912345"><Number>4915799912345</Number></Dial></Response>]
|
119
|
+
assert_equal sanitize_xml_for_test(actual), expected
|
120
|
+
end
|
121
|
+
|
122
|
+
test "call redirect to number with clip and callback" do
|
123
|
+
actual = SipgateIo::XmlResponse.dial(target: "4915799912345", clip: "4915799912345", callback: :on_answer)
|
124
|
+
expected = %Q[<?xml version="1.0" encoding="UTF-8"?><Response onAnswer="http://localhost:3000"><Dial callerId="4915799912345"><Number>4915799912345</Number></Dial></Response>]
|
125
|
+
assert_equal sanitize_xml_for_test(actual), expected
|
126
|
+
end
|
127
|
+
|
128
|
+
test "only on answer" do
|
129
|
+
actual = SipgateIo::XmlResponse.on_answer
|
130
|
+
expected = %Q[<?xml version="1.0" encoding="UTF-8"?><Response onAnswer="http://localhost:3000"/>]
|
131
|
+
assert_equal sanitize_xml_for_test(actual), expected
|
132
|
+
end
|
133
|
+
|
134
|
+
test "only on hangup" do
|
135
|
+
actual = SipgateIo::XmlResponse.on_hangup
|
136
|
+
expected = %Q[<?xml version="1.0" encoding="UTF-8"?><Response onHangup="http://localhost:3000"/>]
|
137
|
+
assert_equal sanitize_xml_for_test(actual), expected
|
138
|
+
end
|
139
|
+
|
140
|
+
private
|
141
|
+
|
142
|
+
def sanitize_xml_for_test(xml)
|
143
|
+
xml.gsub(/(?<=\s{1})\s+/,"").gsub("\n", "")
|
144
|
+
end
|
12
145
|
end
|
13
146
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sipgate_io
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Chris Schmidt
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-02-
|
11
|
+
date: 2016-02-12 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -116,6 +116,7 @@ files:
|
|
116
116
|
- test/dummy/config/routes.rb
|
117
117
|
- test/dummy/config/secrets.yml
|
118
118
|
- test/dummy/db/development.sqlite3
|
119
|
+
- test/dummy/db/schema.rb
|
119
120
|
- test/dummy/db/test.sqlite3
|
120
121
|
- test/dummy/log/development.log
|
121
122
|
- test/dummy/log/test.log
|
@@ -188,6 +189,7 @@ test_files:
|
|
188
189
|
- test/dummy/config/secrets.yml
|
189
190
|
- test/dummy/config.ru
|
190
191
|
- test/dummy/db/development.sqlite3
|
192
|
+
- test/dummy/db/schema.rb
|
191
193
|
- test/dummy/db/test.sqlite3
|
192
194
|
- test/dummy/log/development.log
|
193
195
|
- test/dummy/log/test.log
|