tsig_api 1.0.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.gitignore +18 -0
- data/MIT-LICENSE +20 -0
- data/README.md +4 -0
- data/Rakefile +23 -0
- data/init.rb +4 -0
- data/install.rb +1 -0
- data/lib/tsig_api.rb +30 -0
- data/lib/tsig_api/authorize.rb +15 -0
- data/lib/tsig_api/base.rb +108 -0
- data/lib/tsig_api/carrier.rb +16 -0
- data/lib/tsig_api/contact.rb +79 -0
- data/lib/tsig_api/group.rb +15 -0
- data/lib/tsig_api/message.rb +116 -0
- data/lib/tsig_api/remote_actions.rb +71 -0
- data/lib/tsig_api/team.rb +79 -0
- data/test/test_helper.rb +18 -0
- data/test/tsig_api_authorize_test.rb +71 -0
- data/test/tsig_api_carrier_test.rb +124 -0
- data/test/tsig_api_contact_test.rb +148 -0
- data/test/tsig_api_group_test.rb +90 -0
- data/test/tsig_api_message_test.rb +167 -0
- data/test/tsig_api_team_test.rb +182 -0
- data/test/tsig_api_test.rb +37 -0
- data/tsig_api.gemspec +21 -0
- data/tsig_api.yml +13 -0
- data/uninstall.rb +1 -0
- metadata +79 -0
@@ -0,0 +1,90 @@
|
|
1
|
+
require File.join(File.dirname(__FILE__), '/test_helper')
|
2
|
+
|
3
|
+
class TsigApiGroupTest < ActiveSupport::TestCase
|
4
|
+
|
5
|
+
def setup
|
6
|
+
response_xml = <<-EOS
|
7
|
+
<?xml version='1.0'?>
|
8
|
+
<txtsig_response version="1.0">
|
9
|
+
<content type="response">
|
10
|
+
<item type="groups">
|
11
|
+
<element name='success'>
|
12
|
+
true
|
13
|
+
</element>
|
14
|
+
<element name='group_a'>
|
15
|
+
Group A
|
16
|
+
</element>
|
17
|
+
<element name='group_b'>
|
18
|
+
Foo
|
19
|
+
</element>
|
20
|
+
<element name='group_c'>
|
21
|
+
Group C
|
22
|
+
</element>
|
23
|
+
<element name='group_d'>
|
24
|
+
Group D
|
25
|
+
</element>
|
26
|
+
<element name='group_e'>
|
27
|
+
Group E
|
28
|
+
</element>
|
29
|
+
</item>
|
30
|
+
</content>
|
31
|
+
</txtsig_response>
|
32
|
+
EOS
|
33
|
+
|
34
|
+
error_xml = <<-EOS
|
35
|
+
<?xml version='1.0'?>
|
36
|
+
<txtsig_response version="1.0">
|
37
|
+
<content type="error">
|
38
|
+
<item type="error_description">
|
39
|
+
<element name="error_code">10</element>
|
40
|
+
<element name="error_text"><![CDATA[General Fault]]></element>
|
41
|
+
</item>
|
42
|
+
</content>
|
43
|
+
</txtsig_response>
|
44
|
+
EOS
|
45
|
+
|
46
|
+
net_response = stub("net_response")
|
47
|
+
net_response.body{response_xml}
|
48
|
+
net_error = stub("net_error")
|
49
|
+
net_error.body{error_xml}
|
50
|
+
|
51
|
+
@valid_response = TsigApi::RemoteActions::Response.new(true, net_response)
|
52
|
+
stub(@valid_response).body{response_xml}
|
53
|
+
@error_response = TsigApi::RemoteActions::Response.new(true, net_error)
|
54
|
+
stub(@error_response).body{error_xml}
|
55
|
+
|
56
|
+
TsigApi::Base.establish_connection(1234, 'joe', '123456789012345678901234567890ab')
|
57
|
+
end
|
58
|
+
|
59
|
+
def test_should_initialize_carrier
|
60
|
+
g = TsigApi::Group.new
|
61
|
+
assert_equal TsigApi::Group, g.class
|
62
|
+
assert_equal :groups, g.class.remote_type
|
63
|
+
end
|
64
|
+
|
65
|
+
def test_should_build_query_xml
|
66
|
+
g = TsigApi::Group.new
|
67
|
+
request = g.query
|
68
|
+
assert request.body.include?('<action type="list_groups">')
|
69
|
+
assert request.body.include?('<client_id><![CDATA[1234]]></client_id>')
|
70
|
+
assert request.body.include?('<api_username><![CDATA[joe]]></api_username>')
|
71
|
+
assert request.body.include?('<api_password><![CDATA[123456789012345678901234567890ab]]></api_password>')
|
72
|
+
end
|
73
|
+
|
74
|
+
def test_should_send_request_and_parse_response
|
75
|
+
g = TsigApi::Group.new
|
76
|
+
request = g.query
|
77
|
+
stub(request).send_request{@valid_response}
|
78
|
+
content_type, response_hash = g.parse_response(request.send_request)
|
79
|
+
assert_equal content_type, "response"
|
80
|
+
assert_equal response_hash["group_a"], "Group A"
|
81
|
+
assert_equal response_hash["group_b"], "Foo"
|
82
|
+
|
83
|
+
# now we fake an error response
|
84
|
+
stub(request).send_request{@error_response}
|
85
|
+
content_type, response_hash = g.parse_response(request.send_request)
|
86
|
+
assert_equal content_type, "error"
|
87
|
+
assert_equal response_hash["error_code"], "10"
|
88
|
+
end
|
89
|
+
|
90
|
+
end
|
@@ -0,0 +1,167 @@
|
|
1
|
+
require File.join(File.dirname(__FILE__), '/test_helper')
|
2
|
+
|
3
|
+
class TsigApiMessageTest < ActiveSupport::TestCase
|
4
|
+
|
5
|
+
def setup
|
6
|
+
|
7
|
+
@tsig_message = TsigApi::Message.new("Group A")
|
8
|
+
|
9
|
+
create_response_xml = <<-EOS
|
10
|
+
<?xml version='1.0'?>
|
11
|
+
<txtsig_response version="1.0">
|
12
|
+
<content type="response">
|
13
|
+
<item type="message">
|
14
|
+
<element name='success'>1</element>
|
15
|
+
<element name='message_id'>15</element>
|
16
|
+
</item>
|
17
|
+
</content>
|
18
|
+
</txtsig_response>
|
19
|
+
EOS
|
20
|
+
|
21
|
+
query_response_xml = <<-EOS
|
22
|
+
<?xml version='1.0'?>
|
23
|
+
<txtsig_response version="1.0">
|
24
|
+
<content type="response">
|
25
|
+
<item type="message">
|
26
|
+
<element name='success'>1</element>
|
27
|
+
<element name='group'>a</element>
|
28
|
+
<element name='status'>PENDING</element>
|
29
|
+
<element name='date_sent'>2007-08-19 18:50:00</element>
|
30
|
+
<element name='broadcast_type'>team</element>
|
31
|
+
<element name='message'><![CDATA[sending messages is awesome]]></element>
|
32
|
+
</item>
|
33
|
+
</content>
|
34
|
+
</txtsig_response>
|
35
|
+
EOS
|
36
|
+
|
37
|
+
update_response_xml = <<-EOS
|
38
|
+
<?xml version='1.0'?>
|
39
|
+
<txtsig_response version="1.0">
|
40
|
+
<content type="response">
|
41
|
+
<item type="message">
|
42
|
+
<element name='success'>1</element>
|
43
|
+
<element name='message_id'>15</element>
|
44
|
+
</item>
|
45
|
+
</content>
|
46
|
+
</txtsig_response>
|
47
|
+
EOS
|
48
|
+
|
49
|
+
delete_response_xml = <<-EOS
|
50
|
+
<?xml version='1.0'?>
|
51
|
+
<txtsig_response version="1.0">
|
52
|
+
<content type="response">
|
53
|
+
<item type="message">
|
54
|
+
<element name='success'>1</element>
|
55
|
+
<element name='message_id'>15</element>
|
56
|
+
</item>
|
57
|
+
</content>
|
58
|
+
</txtsig_response>
|
59
|
+
EOS
|
60
|
+
|
61
|
+
error_xml = <<-EOS
|
62
|
+
<?xml version='1.0'?>
|
63
|
+
<txtsig_response version="1.0">
|
64
|
+
<content type="error">
|
65
|
+
<item type="error_description">
|
66
|
+
<element name="error_code">10</element>
|
67
|
+
<element name="error_text"><![CDATA[General Fault]]></element>
|
68
|
+
</item>
|
69
|
+
</content>
|
70
|
+
</txtsig_response>
|
71
|
+
EOS
|
72
|
+
|
73
|
+
create_response = stub("create_response")
|
74
|
+
create_response.body{create_response_xml}
|
75
|
+
query_response = stub("query_response")
|
76
|
+
query_response.body{query_response_xml}
|
77
|
+
update_response = stub("update_response")
|
78
|
+
update_response.body{update_response_xml}
|
79
|
+
delete_response = stub("delete_response")
|
80
|
+
delete_response.body{delete_response_xml}
|
81
|
+
net_error = stub("net_error")
|
82
|
+
net_error.body{error_xml}
|
83
|
+
|
84
|
+
@valid_create_response = TsigApi::RemoteActions::Response.new(true, create_response)
|
85
|
+
stub(@valid_create_response).body{create_response_xml}
|
86
|
+
@valid_query_response = TsigApi::RemoteActions::Response.new(true, query_response)
|
87
|
+
stub(@valid_query_response).body{query_response_xml}
|
88
|
+
@valid_update_response = TsigApi::RemoteActions::Response.new(true, update_response)
|
89
|
+
stub(@valid_update_response).body{update_response_xml}
|
90
|
+
@valid_delete_response = TsigApi::RemoteActions::Response.new(true, delete_response)
|
91
|
+
stub(@valid_delete_response).body{delete_response_xml}
|
92
|
+
@error_response = TsigApi::RemoteActions::Response.new(true, net_error)
|
93
|
+
stub(@error_response).body{error_xml}
|
94
|
+
|
95
|
+
@valid_message = {:broadcast_type => "team", :date_sent => Time.now + 3600, :send_now => false, :message => "sending messages is awesome"}
|
96
|
+
end
|
97
|
+
|
98
|
+
def test_should_initialize_message
|
99
|
+
assert_equal @tsig_message.class, TsigApi::Message
|
100
|
+
assert_equal @tsig_message.class.remote_type, :message
|
101
|
+
end
|
102
|
+
|
103
|
+
def test_should_build_create_xml
|
104
|
+
message_hash = @valid_message.merge({:has_contacts => [15], :has_teams => ["Team A"]})
|
105
|
+
request = @tsig_message.create(message_hash)
|
106
|
+
doc = REXML::Document.new(request.body)
|
107
|
+
assert_equal "Team A", REXML::XPath.first(doc, "//param[@name='has_teams']/team").get_text.to_s
|
108
|
+
end
|
109
|
+
|
110
|
+
def test_should_send_create_request_and_parse_response
|
111
|
+
message_hash = @valid_message.merge({:has_contacts => [15], :has_teams => ["Team A"]})
|
112
|
+
request = @tsig_message.create(message_hash)
|
113
|
+
stub(request).send_request{@valid_create_response}
|
114
|
+
content_type, response_hash = @tsig_message.parse_response(request.send_request)
|
115
|
+
assert_equal content_type, "response"
|
116
|
+
assert_equal response_hash["success"], "1"
|
117
|
+
assert_equal response_hash["message_id"], "15"
|
118
|
+
# now we fake an error response
|
119
|
+
stub(request).send_request{@error_response}
|
120
|
+
content_type, response_hash = @tsig_message.parse_response(request.send_request)
|
121
|
+
assert_equal content_type, "error"
|
122
|
+
assert_equal response_hash["error_code"], "10"
|
123
|
+
end
|
124
|
+
|
125
|
+
def test_should_send_query_and_parse_response
|
126
|
+
request = @tsig_message.query(:message_id => 15)
|
127
|
+
stub(request).send_request{@valid_query_response}
|
128
|
+
content_type, response_hash = @tsig_message.parse_response(request.send_request)
|
129
|
+
assert_equal "response", content_type
|
130
|
+
assert_equal response_hash["success"], "1"
|
131
|
+
assert_equal response_hash["group"], "a"
|
132
|
+
assert_equal "sending messages is awesome", response_hash["message"]
|
133
|
+
end
|
134
|
+
|
135
|
+
def test_should_send_delete_and_parse_response
|
136
|
+
request = @tsig_message.delete(15)
|
137
|
+
stub(request).send_request{@valid_delete_response}
|
138
|
+
content_type, response_hash = @tsig_message.parse_response(request.send_request)
|
139
|
+
assert_equal "response", content_type
|
140
|
+
assert_equal response_hash["success"], "1"
|
141
|
+
end
|
142
|
+
|
143
|
+
def test_should_send_update_request_and_parse_response
|
144
|
+
request = @tsig_message.update(15, :send_now => true)
|
145
|
+
stub(request).send_request{@valid_update_response}
|
146
|
+
content_type, response_hash = @tsig_message.parse_response(request.send_request)
|
147
|
+
assert_equal content_type, "response"
|
148
|
+
assert_equal response_hash["success"], "1"
|
149
|
+
assert_equal response_hash["message_id"], "15"
|
150
|
+
end
|
151
|
+
|
152
|
+
test 'create should return expected params' do
|
153
|
+
request = @tsig_message.create(
|
154
|
+
:broadcast_type => "team",
|
155
|
+
:send_at => '2020-01-02 03:04 PM',
|
156
|
+
:send_now => '0',
|
157
|
+
:message => 'This is a message',
|
158
|
+
:has_teams => [1]
|
159
|
+
)
|
160
|
+
assert_match %r(<param name='group'><!\[CDATA\[Group A\]\]></param>)im, request.body
|
161
|
+
assert_match %r(<param name='broadcast_type'>team</param>)im, request.body
|
162
|
+
assert_match %r(<param name='send_at'>2020-01-02 03:04 PM</param>)im, request.body
|
163
|
+
assert_match %r(<param name='send_now'>false</param>)im, request.body
|
164
|
+
assert_match %r(<param name='message'><!\[CDATA\[This is a message\]\]></param>)im, request.body
|
165
|
+
end
|
166
|
+
|
167
|
+
end
|
@@ -0,0 +1,182 @@
|
|
1
|
+
require File.join(File.dirname(__FILE__), '/test_helper')
|
2
|
+
|
3
|
+
class TsigApiTeamTest < ActiveSupport::TestCase
|
4
|
+
|
5
|
+
def setup
|
6
|
+
|
7
|
+
list_response_xml = <<-EOS
|
8
|
+
<?xml version='1.0'?>
|
9
|
+
<txtsig_response version="1.0">
|
10
|
+
<content type="response">
|
11
|
+
<item type="team">
|
12
|
+
<element name='success'>
|
13
|
+
true
|
14
|
+
</element>
|
15
|
+
<element name='team_1'>
|
16
|
+
Team One
|
17
|
+
</element>
|
18
|
+
<element name='team_2'>
|
19
|
+
Team Two
|
20
|
+
</element>
|
21
|
+
<element name='team_3'>
|
22
|
+
Team Three
|
23
|
+
</element>
|
24
|
+
</item>
|
25
|
+
</content>
|
26
|
+
</txtsig_response>
|
27
|
+
EOS
|
28
|
+
|
29
|
+
create_response_xml = <<-EOS
|
30
|
+
<?xml version='1.0'?>
|
31
|
+
<txtsig_response version="1.0">
|
32
|
+
<content type="response">
|
33
|
+
<item type="team">
|
34
|
+
<element name="success">1</element>
|
35
|
+
<element name="team_id">15</element>
|
36
|
+
</item>
|
37
|
+
</content>
|
38
|
+
</txtsig_response>
|
39
|
+
EOS
|
40
|
+
|
41
|
+
query_response_xml = <<-EOS
|
42
|
+
<?xml version='1.0'?>
|
43
|
+
<txtsig_response version="1.0">
|
44
|
+
<content type="response">
|
45
|
+
<item type="team">
|
46
|
+
<element name="success">1</element>
|
47
|
+
<element name="group">a</element>
|
48
|
+
<element name="team_name">Excellent Team</element>
|
49
|
+
</item>
|
50
|
+
</content>
|
51
|
+
</txtsig_response>
|
52
|
+
EOS
|
53
|
+
|
54
|
+
update_response_xml = <<-EOS
|
55
|
+
<?xml version='1.0'?>
|
56
|
+
<txtsig_response version="1.0">
|
57
|
+
<content type="response">
|
58
|
+
<item type="team">
|
59
|
+
<element name="success">1</element>
|
60
|
+
<element name="team_id">15</element>
|
61
|
+
</item>
|
62
|
+
</content>
|
63
|
+
</txtsig_response>
|
64
|
+
EOS
|
65
|
+
|
66
|
+
delete_response_xml = <<-EOS
|
67
|
+
<?xml version='1.0'?>
|
68
|
+
<txtsig_response version="1.0">
|
69
|
+
<content type="response">
|
70
|
+
<item type="message">
|
71
|
+
<element name='success'>1</element>
|
72
|
+
</item>
|
73
|
+
</content>
|
74
|
+
</txtsig_response>
|
75
|
+
EOS
|
76
|
+
|
77
|
+
error_xml = <<-EOS
|
78
|
+
<?xml version='1.0'?>
|
79
|
+
<txtsig_response version="1.0">
|
80
|
+
<content type="error">
|
81
|
+
<item type="error_description">
|
82
|
+
<element name="error_code">10</element>
|
83
|
+
<element name="error_text"><![CDATA[General Fault]]></element>
|
84
|
+
</item>
|
85
|
+
</content>
|
86
|
+
</txtsig_response>
|
87
|
+
EOS
|
88
|
+
|
89
|
+
list_response = stub('list_response')
|
90
|
+
list_response.body(list_response_xml)
|
91
|
+
create_response = stub('create_response')
|
92
|
+
create_response.body(create_response_xml)
|
93
|
+
query_response = stub('query_response')
|
94
|
+
query_response.body(query_response_xml)
|
95
|
+
update_response = stub('update_response')
|
96
|
+
update_response.body(update_response_xml)
|
97
|
+
delete_response = stub('delete_response')
|
98
|
+
delete_response.body(delete_response_xml)
|
99
|
+
error_response = stub('error_response')
|
100
|
+
error_response.body(error_xml)
|
101
|
+
|
102
|
+
@valid_list_response = TsigApi::RemoteActions::Response.new(true, list_response)
|
103
|
+
stub(@valid_list_response).body{list_response_xml}
|
104
|
+
@valid_create_response = TsigApi::RemoteActions::Response.new(true, create_response)
|
105
|
+
stub(@valid_create_response).body{create_response_xml}
|
106
|
+
@valid_query_response = TsigApi::RemoteActions::Response.new(true, query_response)
|
107
|
+
stub(@valid_query_response).body{query_response_xml}
|
108
|
+
@valid_update_response = TsigApi::RemoteActions::Response.new(true, update_response)
|
109
|
+
stub(@valid_update_response).body{update_response_xml}
|
110
|
+
@valid_delete_response = TsigApi::RemoteActions::Response.new(true, delete_response)
|
111
|
+
stub(@valid_delete_response).body{delete_response_xml}
|
112
|
+
@error_response = TsigApi::RemoteActions::Response.new(true, error_response)
|
113
|
+
stub(@error_response).body{error_xml}
|
114
|
+
|
115
|
+
@tsig_team = TsigApi::Team.new("group a")
|
116
|
+
|
117
|
+
@valid_team = {:name => "Excellent Team"}
|
118
|
+
end
|
119
|
+
|
120
|
+
test 'should_initialize_team' do
|
121
|
+
assert_equal @tsig_team.class, TsigApi::Team
|
122
|
+
assert_equal @tsig_team.class.remote_type, :team
|
123
|
+
end
|
124
|
+
|
125
|
+
test 'should_build_create_xml' do
|
126
|
+
team_hash = @valid_team.merge({:has_contacts => [1, 2]})
|
127
|
+
request = @tsig_team.create(team_hash)
|
128
|
+
doc = REXML::Document.new(request.body)
|
129
|
+
assert_equal "Excellent Team", REXML::XPath.first(doc, "//param[@name='team_name']").get_text.to_s
|
130
|
+
end
|
131
|
+
|
132
|
+
test 'should_send_list_request_and_parse_response' do
|
133
|
+
request = @tsig_team.list
|
134
|
+
stub(request).send_request{@valid_list_response}
|
135
|
+
content_type, response_hash = @tsig_team.parse_response(request.send_request)
|
136
|
+
|
137
|
+
assert_equal 'response', content_type
|
138
|
+
assert_equal 3, response_hash.select{|k,v| k =~ /^team_\d/}.size
|
139
|
+
assert_equal 'Team One', response_hash['team_1']
|
140
|
+
end
|
141
|
+
|
142
|
+
test 'should_send_create_request_and_parse_response' do
|
143
|
+
team_hash = @valid_team.merge({:has_contacts => [1, 2]})
|
144
|
+
request = @tsig_team.create(team_hash)
|
145
|
+
stub(request).send_request{@valid_create_response}
|
146
|
+
content_type, response_hash = @tsig_team.parse_response(request.send_request)
|
147
|
+
assert_equal content_type, "response"
|
148
|
+
assert_equal response_hash["success"], "1"
|
149
|
+
assert_equal response_hash["team_id"], "15"
|
150
|
+
# now we fake an error response
|
151
|
+
stub(request).send_request{@error_response}
|
152
|
+
content_type, response_hash = @tsig_team.parse_response(request.send_request)
|
153
|
+
assert_equal content_type, "error"
|
154
|
+
assert_equal response_hash["error_code"], "10"
|
155
|
+
end
|
156
|
+
|
157
|
+
test 'should_send_query_and_parse_response' do
|
158
|
+
request = @tsig_team.query(:team_id => 15)
|
159
|
+
stub(request).send_request{@valid_query_response}
|
160
|
+
content_type, response_hash = @tsig_team.parse_response(request.send_request)
|
161
|
+
assert_equal "response", content_type
|
162
|
+
assert_equal response_hash["success"], "1"
|
163
|
+
assert_equal "Excellent Team", response_hash["team_name"]
|
164
|
+
end
|
165
|
+
|
166
|
+
test 'should_send_delete_and_parse_response' do
|
167
|
+
request = @tsig_team.delete(15)
|
168
|
+
stub(request).send_request{@valid_delete_response}
|
169
|
+
content_type, response_hash = @tsig_team.parse_response(request.send_request)
|
170
|
+
assert_equal "response", content_type
|
171
|
+
assert_equal response_hash["success"], "1"
|
172
|
+
end
|
173
|
+
|
174
|
+
test 'should_send_update_request_and_parse_response' do
|
175
|
+
request = @tsig_team.update(15, {:name => "Woo"})
|
176
|
+
stub(request).send_request{@valid_query_response}
|
177
|
+
content_type, response_hash = @tsig_team.parse_response(request.send_request)
|
178
|
+
assert_equal content_type, "response"
|
179
|
+
assert_equal response_hash["success"], "1"
|
180
|
+
end
|
181
|
+
|
182
|
+
end
|
@@ -0,0 +1,37 @@
|
|
1
|
+
require File.join(File.dirname(__FILE__), '/test_helper')
|
2
|
+
|
3
|
+
class TsigApiTest < ActiveSupport::TestCase
|
4
|
+
|
5
|
+
def test_text_from_flash
|
6
|
+
str = "
|
7
|
+
<div id=\\'error-message-container\\'><div class=\\'flash error\\'>
|
8
|
+
<a class=\\\"float-right small-text\\\" href=\\\"#\\\" onclick=\\\"hideErrorMessage(); return false;\\\">[Hide this]</a>
|
9
|
+
<div class=\\\"message-title\\\"><span class=\\\"error-icon\\\">!</span></div>
|
10
|
+
<div class=\\\"message-contents\\\">Please correct the following error(s):
|
11
|
+
<ul><li>Please make one or more selections for Teams.</li></ul></div>
|
12
|
+
<div class=\\\"clear\\\"> </div></div></div>
|
13
|
+
"
|
14
|
+
assert_equal ['Please make one or more selections for Teams.'], TsigApi::text_from_flash(str)
|
15
|
+
|
16
|
+
str = "
|
17
|
+
<div id=\\'error-message-container\\'><div class=\\'flash error\\'>
|
18
|
+
<a class=\\\"float-right small-text\\\" href=\\\"#\\\" onclick=\\\"hideErrorMessage(); return false;\\\">[Hide this]</a>
|
19
|
+
<div class=\\\"message-title\\\"><span class=\\\"error-icon\\\">!</span></div>
|
20
|
+
<div class=\\\"message-contents\\\">Please correct the following error(s):
|
21
|
+
<ul><li>First message</li> <li>Second message</li>
|
22
|
+
<li>Third</li></ul></div>
|
23
|
+
<div class=\\\"clear\\\"> </div></div></div>
|
24
|
+
"
|
25
|
+
assert_equal ['First message', 'Second message', 'Third'], TsigApi::text_from_flash(str)
|
26
|
+
|
27
|
+
str = "
|
28
|
+
<div id=\\'error-message-container\\'><div class=\\'flash error\\'>
|
29
|
+
<a class=\\\"float-right small-text\\\" href=\\\"#\\\" onclick=\\\"hideErrorMessage(); return false;\\\">[Hide this]</a>
|
30
|
+
<div class=\\\"message-title\\\"><span class=\\\"error-icon\\\">!</span></div>
|
31
|
+
<div class=\\\"message-contents\\\">Please correct the following error(s):</div>
|
32
|
+
<div class=\\\"clear\\\"> </div></div></div>
|
33
|
+
"
|
34
|
+
assert_equal [], TsigApi::text_from_flash(str)
|
35
|
+
end
|
36
|
+
|
37
|
+
end
|