brendanlim-mms2r 2.2.0
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +3 -0
- data/History.txt +292 -0
- data/Manifest.txt +169 -0
- data/README.txt +202 -0
- data/Rakefile +36 -0
- data/conf/1nbox.net.yml +13 -0
- data/conf/aliases.yml +17 -0
- data/conf/bellsouth.net.yml +2 -0
- data/conf/from.yml +2 -0
- data/conf/mediamessaging.o2.co.uk.yml +4 -0
- data/conf/messaging.nextel.com.yml +10 -0
- data/conf/mms.3ireland.ie.yml +17 -0
- data/conf/mms.ae.yml +5 -0
- data/conf/mms.alltel.com.yml +15 -0
- data/conf/mms.att.net.yml +11 -0
- data/conf/mms.dobson.net.yml +4 -0
- data/conf/mms.luxgsm.lu.yml +13 -0
- data/conf/mms.mobileiam.ma.yml +16 -0
- data/conf/mms.mtn.co.za.yml +13 -0
- data/conf/mms.mycricket.com.yml +4 -0
- data/conf/mms.myhelio.com.yml +12 -0
- data/conf/mms.netcom.no.yml +4 -0
- data/conf/mms.o2online.de.yml +8 -0
- data/conf/mms.three.co.uk.yml +15 -0
- data/conf/mms.vodacom4me.co.za.yml +13 -0
- data/conf/mms2r_media.yml +24 -0
- data/conf/mobile.indosat.net.id.yml +14 -0
- data/conf/msg.telus.com.yml +6 -0
- data/conf/orangemms.net.yml +13 -0
- data/conf/pm.sprint.com.yml +12 -0
- data/conf/pxt.vodafone.net.nz.yml +5 -0
- data/conf/rci.rogers.com.yml +18 -0
- data/conf/sms.sasktel.com.yml +12 -0
- data/conf/tmomail.net.yml +28 -0
- data/conf/txt.bell.ca.yml +4 -0
- data/conf/unicel.com.yml +6 -0
- data/conf/vmpix.com.yml +11 -0
- data/conf/vzwpix.com.yml +8 -0
- data/conf/waw.plspictures.com.yml +15 -0
- data/dev_tools/anonymizer.rb +20 -0
- data/dev_tools/debug_sprint_hpricot_parsing.rb +82 -0
- data/dev_tools/github.rb +8 -0
- data/lib/mms2r.rb +58 -0
- data/lib/mms2r/media.rb +746 -0
- data/lib/mms2r/media/sprint.rb +189 -0
- data/lib/tmail_ext.rb +17 -0
- data/mms2r.gemspec +41 -0
- data/test/fixtures/1nbox-2images-01.mail +738 -0
- data/test/fixtures/1nbox-2images-02.mail +736 -0
- data/test/fixtures/1nbox-2images-03.mail +736 -0
- data/test/fixtures/1nbox-2images-04.mail +732 -0
- data/test/fixtures/3ireland-mms-01.mail +671 -0
- data/test/fixtures/alltel-image-01.mail +319 -0
- data/test/fixtures/alltel-mms-01.mail +270 -0
- data/test/fixtures/alltel-mms-03.mail +270 -0
- data/test/fixtures/apple-double-image-01.mail +53 -0
- data/test/fixtures/att-blackberry-02.mail +54 -0
- data/test/fixtures/att-blackberry.mail +60 -0
- data/test/fixtures/att-image-01.mail +37 -0
- data/test/fixtures/att-image-02.mail +37 -0
- data/test/fixtures/att-iphone-01.mail +73 -0
- data/test/fixtures/att-iphone-02.mail +61 -0
- data/test/fixtures/att-iphone-03.mail +61 -0
- data/test/fixtures/att-text-01.mail +27 -0
- data/test/fixtures/bell-canada-image-01.mail +2273 -0
- data/test/fixtures/cingularme-text-01.mail +13 -0
- data/test/fixtures/cingularme-text-02.mail +14 -0
- data/test/fixtures/dobson-image-01.mail +64 -0
- data/test/fixtures/dot.jpg +0 -0
- data/test/fixtures/generic.mail +50 -0
- data/test/fixtures/helio-image-01.mail +348 -0
- data/test/fixtures/helio-message-01.mail +327 -0
- data/test/fixtures/iconv-fr-text-01.mail +50 -0
- data/test/fixtures/indosat-image-01.mail +751 -0
- data/test/fixtures/indosat-image-02.mail +751 -0
- data/test/fixtures/info2go-image-01.mail +43 -0
- data/test/fixtures/luxgsm-image-01.mail +388 -0
- data/test/fixtures/maroctelecom-france-mms-01.mail +511 -0
- data/test/fixtures/mediamessaging_o2_co_uk-image-01.mail +61 -0
- data/test/fixtures/mmode-image-01.mail +36 -0
- data/test/fixtures/mms.ae-image-01.mail +45 -0
- data/test/fixtures/mms.mycricket.com-pic-and-text.mail +87 -0
- data/test/fixtures/mms.mycricket.com-pic.mail +78 -0
- data/test/fixtures/mmsreply.t-mobile.co.uk-text-image-01.mail +431 -0
- data/test/fixtures/mobile.mycingular.com-text-01.mail +25 -0
- data/test/fixtures/mtn-southafrica-mms.mail +127 -0
- data/test/fixtures/mycingular-image-01.mail +66 -0
- data/test/fixtures/netcom-image-01.mail +63 -0
- data/test/fixtures/nextel-image-01.mail +46 -0
- data/test/fixtures/nextel-image-02.mail +43 -0
- data/test/fixtures/nextel-image-03.mail +44 -0
- data/test/fixtures/nextel-image-04.mail +43 -0
- data/test/fixtures/o2-de-image-01.mail +134 -0
- data/test/fixtures/orange-uk-image-01.mail +71 -0
- data/test/fixtures/orangefrance-text-and-image.mail +68 -0
- data/test/fixtures/orangepoland-text-01.mail +7 -0
- data/test/fixtures/orangepoland-text-02.mail +7 -0
- data/test/fixtures/pics.cingularme.com-image-01.mail +44 -0
- data/test/fixtures/pxt-image-01.mail +118 -0
- data/test/fixtures/rogers-canada-mms-01.mail +1029 -0
- data/test/fixtures/sasktel-image-01.mail +1791 -0
- data/test/fixtures/sprint-broken-image-01.mail +195 -0
- data/test/fixtures/sprint-image-01.mail +211 -0
- data/test/fixtures/sprint-pcs-text-01.mail +8 -0
- data/test/fixtures/sprint-purged-image-01.mail +195 -0
- data/test/fixtures/sprint-text-01.mail +195 -0
- data/test/fixtures/sprint-two-images-01.mail +231 -0
- data/test/fixtures/sprint-video-01.mail +210 -0
- data/test/fixtures/sprint.mov +0 -0
- data/test/fixtures/suncom-blackberry.mail +43 -0
- data/test/fixtures/telus-image-01.mail +89 -0
- data/test/fixtures/three-uk-image-01.mail +684 -0
- data/test/fixtures/tmo.blackberry.net-image-01.mail +48 -0
- data/test/fixtures/tmobile-blackberry-02.mail +50 -0
- data/test/fixtures/tmobile-blackberry.mail +44 -0
- data/test/fixtures/tmobile-image-01.mail +145 -0
- data/test/fixtures/tmobile-image-02.mail +145 -0
- data/test/fixtures/unicel-image-01.mail +60 -0
- data/test/fixtures/verizon-blackberry.mail +53 -0
- data/test/fixtures/verizon-image-01.mail +44 -0
- data/test/fixtures/verizon-image-02.mail +50 -0
- data/test/fixtures/verizon-image-03.mail +53 -0
- data/test/fixtures/verizon-text-01.mail +10 -0
- data/test/fixtures/verizon-video-01.mail +336 -0
- data/test/fixtures/virgin-mobile-image-01.mail +73 -0
- data/test/fixtures/virgin.ca-text-01.mail +21 -0
- data/test/fixtures/vodacom4me-co-za-01.mail +104 -0
- data/test/fixtures/vodacom4me-co-za-02.mail +108 -0
- data/test/fixtures/vodacom4me-southafrica-mms-01.mail +152 -0
- data/test/fixtures/vodacom4me-southafrica-mms-04.mail +655 -0
- data/test/fixtures/vtext-text-01.mail +10 -0
- data/test/fixtures/waw.plspictures.com-image-01.mail +1611 -0
- data/test/test_1nbox_net.rb +78 -0
- data/test/test_bell_canada.rb +44 -0
- data/test/test_bellsouth_net.rb +22 -0
- data/test/test_github.rb +12 -0
- data/test/test_helper.rb +58 -0
- data/test/test_mediamessaging_o2_co_uk.rb +52 -0
- data/test/test_messaging_nextel_com.rb +93 -0
- data/test/test_messaging_sprintpcs_com.rb +26 -0
- data/test/test_mms2r_media.rb +760 -0
- data/test/test_mms_3ireland_ie.rb +25 -0
- data/test/test_mms_ae.rb +46 -0
- data/test/test_mms_alltel_com.rb +53 -0
- data/test/test_mms_att_net.rb +142 -0
- data/test/test_mms_dobson_net.rb +41 -0
- data/test/test_mms_luxgsm_lu.rb +58 -0
- data/test/test_mms_mobileiam_ma.rb +26 -0
- data/test/test_mms_mtn_co_za.rb +25 -0
- data/test/test_mms_mycricket_com.rb +60 -0
- data/test/test_mms_myhelio_com.rb +62 -0
- data/test/test_mms_netcom_no.rb +52 -0
- data/test/test_mms_o2online_de.rb +53 -0
- data/test/test_mms_three_co_uk.rb +42 -0
- data/test/test_mms_vodacom4me_co_za.rb +107 -0
- data/test/test_mobile_indosat_net_id.rb +52 -0
- data/test/test_msg_telus_com.rb +28 -0
- data/test/test_orangemms_net.rb +100 -0
- data/test/test_pm_sprint_com.rb +202 -0
- data/test/test_pxt_vodafone_net_nz.rb +37 -0
- data/test/test_rci_rogers_com.rb +28 -0
- data/test/test_sms_sasktel_com.rb +28 -0
- data/test/test_tmomail_net.rb +108 -0
- data/test/test_unicel_com.rb +49 -0
- data/test/test_vmpix_com.rb +56 -0
- data/test/test_vzwpix_com.rb +131 -0
- data/test/test_waw_plspictures_com.rb +27 -0
- data/vendor/plugins/mms2r/lib/autotest/discover.rb +3 -0
- data/vendor/plugins/mms2r/lib/autotest/mms2r.rb +38 -0
- metadata +288 -0
@@ -0,0 +1,202 @@
|
|
1
|
+
require File.join(File.dirname(__FILE__), "..", "lib", "mms2r")
|
2
|
+
require File.join(File.dirname(__FILE__), "test_helper")
|
3
|
+
require 'test/unit'
|
4
|
+
require 'rubygems'
|
5
|
+
require 'mocha'
|
6
|
+
gem 'tmail', '>= 1.2.1'
|
7
|
+
require 'tmail'
|
8
|
+
|
9
|
+
class TestPmSprintCom < Test::Unit::TestCase
|
10
|
+
include MMS2R::TestHelper
|
11
|
+
|
12
|
+
def mock_sprint_image(message_id)
|
13
|
+
uri = URI.parse('http://pictures.sprintpcs.com//mmps/RECIPIENT/001_2066c7013e7ca833_1/2?wm=1&ext=.jpg&iconifyVideo=true&inviteToken=PE5rJ5PdYzzwk7V7zoXU&outquality=90')
|
14
|
+
res = mock()
|
15
|
+
body = mock()
|
16
|
+
res.expects(:content_type).at_least_once.returns('image/jpeg')
|
17
|
+
res.expects(:body).once.returns(body)
|
18
|
+
res.expects(:code).never
|
19
|
+
Net::HTTP.expects(:get_response).once.with(uri).returns res
|
20
|
+
end
|
21
|
+
|
22
|
+
def mock_sprint_purged_image(message_id)
|
23
|
+
uri = URI.parse('http://pictures.sprintpcs.com//mmps/RECIPIENT/001_2066c7013e7ca833_1/2?wm=1&ext=.jpg&iconifyVideo=true&inviteToken=PE5rJ5PdYzzwk7V7zoXU&outquality=90')
|
24
|
+
res = mock()
|
25
|
+
body = mock()
|
26
|
+
res.expects(:content_type).once.returns('text/html')
|
27
|
+
res.expects(:code).once.returns('500')
|
28
|
+
res.expects(:body).never
|
29
|
+
Net::HTTP.expects(:get_response).once.with(uri).returns res
|
30
|
+
end
|
31
|
+
|
32
|
+
def test_mms_should_have_text
|
33
|
+
mail = TMail::Mail.parse(load_mail('sprint-text-01.mail').join)
|
34
|
+
mms = MMS2R::Media.new(mail)
|
35
|
+
|
36
|
+
assert_equal 1, mms.media.size
|
37
|
+
assert_equal 1, mms.media['text/plain'].size
|
38
|
+
file = mms.media['text/plain'].first
|
39
|
+
assert_equal true, File.exist?(file)
|
40
|
+
assert_match(/\.txt$/, File.basename(file))
|
41
|
+
assert_equal "Tea Pot", IO.read(file)
|
42
|
+
mms.purge
|
43
|
+
end
|
44
|
+
|
45
|
+
def test_mms_should_have_a_phone_number
|
46
|
+
mail = TMail::Mail.parse(load_mail('sprint-image-01.mail').join)
|
47
|
+
mms = MMS2R::Media.new(mail)
|
48
|
+
|
49
|
+
assert_equal '2068675309', mms.number
|
50
|
+
mms.purge
|
51
|
+
end
|
52
|
+
|
53
|
+
def test_should_have_simple_video
|
54
|
+
mail = TMail::Mail.parse(load_mail('sprint-video-01.mail').join)
|
55
|
+
|
56
|
+
uri = URI.parse(
|
57
|
+
'http://pictures.sprintpcs.com//mmps/RECIPIENT/000_259e41e851be9b1d_1/2?inviteToken=lEvrJnPVY5UfOYmahQcx&iconifyVideo=true&wm=1&limitsize=125,125&outquality=90&squareoutput=255,255,255&ext=.jpg&iconifyVideo=true&wm=1')
|
58
|
+
res = mock()
|
59
|
+
body = mock()
|
60
|
+
res.expects(:content_type).at_least_once.returns('video/quicktime')
|
61
|
+
res.expects(:body).once.returns(body)
|
62
|
+
res.expects(:code).never
|
63
|
+
Net::HTTP.expects(:get_response).once.with(uri).returns res
|
64
|
+
|
65
|
+
mms = MMS2R::Media.new(mail)
|
66
|
+
|
67
|
+
assert_equal 1, mms.media.size
|
68
|
+
assert_nil mms.media['text/plain']
|
69
|
+
assert_nil mms.media['text/html']
|
70
|
+
assert_not_nil mms.media['video/quicktime']
|
71
|
+
assert_equal 1, mms.media['video/quicktime'].size
|
72
|
+
assert_equal "000_259e41e851be9b1d_1-0.mov", File.basename(mms.media['video/quicktime'][0])
|
73
|
+
|
74
|
+
mms.purge
|
75
|
+
end
|
76
|
+
|
77
|
+
def test_should_have_simple_image
|
78
|
+
mail = TMail::Mail.parse(load_mail('sprint-image-01.mail').join)
|
79
|
+
mock_sprint_image(mail.message_id)
|
80
|
+
mms = MMS2R::Media.new(mail)
|
81
|
+
|
82
|
+
assert_equal 1, mms.media.size
|
83
|
+
assert_nil mms.media['text/plain']
|
84
|
+
assert_nil mms.media['text/html']
|
85
|
+
assert_not_nil mms.media['image/jpeg'][0]
|
86
|
+
assert_match(/001_2066c7013e7ca833_1-0.jpg$/, mms.media['image/jpeg'][0])
|
87
|
+
|
88
|
+
mms.purge
|
89
|
+
end
|
90
|
+
|
91
|
+
def test_collect_image_using_block
|
92
|
+
mail = TMail::Mail.parse(load_mail('sprint-image-01.mail').join)
|
93
|
+
mock_sprint_image(mail.message_id)
|
94
|
+
mms = MMS2R::Media.new(mail)
|
95
|
+
assert_equal 1, mms.media.size
|
96
|
+
file_array = nil
|
97
|
+
mms.process do |k, v|
|
98
|
+
file_array = v if (k == 'image/jpeg')
|
99
|
+
assert_equal 1, file_array.size
|
100
|
+
file = file_array.first
|
101
|
+
assert_not_nil file = file_array.first
|
102
|
+
assert_equal "001_2066c7013e7ca833_1-0.jpg", File.basename(file)
|
103
|
+
end
|
104
|
+
mms.purge
|
105
|
+
end
|
106
|
+
|
107
|
+
def test_process_internals_should_only_be_executed_once
|
108
|
+
mail = TMail::Mail.parse(load_mail('sprint-image-01.mail').join)
|
109
|
+
mock_sprint_image(mail.message_id)
|
110
|
+
mms = MMS2R::Media.new(mail)
|
111
|
+
assert_equal 1, mms.media.size
|
112
|
+
|
113
|
+
# second time through shouldn't go into the was_processed block
|
114
|
+
mms.mail.expects(:parts).never
|
115
|
+
|
116
|
+
mms.process{|k, v| }
|
117
|
+
|
118
|
+
mms.purge
|
119
|
+
end
|
120
|
+
|
121
|
+
def test_should_have_two_images
|
122
|
+
mail = TMail::Mail.parse(load_mail('sprint-two-images-01.mail').join)
|
123
|
+
|
124
|
+
uri1 = URI.parse('http://pictures.sprintpcs.com/mmps/RECIPIENT/001_104058d23d79fb6a_1/2?wm=1&ext=.jpg&iconifyVideo=true&inviteToken=5E1rJSPk5hYDkUnY7op0&outquality=90')
|
125
|
+
res1 = mock()
|
126
|
+
body1 = mock()
|
127
|
+
res1.expects(:content_type).at_least_once.returns('image/jpeg')
|
128
|
+
res1.expects(:body).once.returns(body1)
|
129
|
+
res1.expects(:code).never
|
130
|
+
Net::HTTP.expects(:get_response).once.with(uri1).returns res1
|
131
|
+
|
132
|
+
uri2 = URI.parse('http://pictures.sprintpcs.com/mmps/RECIPIENT/001_104058d23d79fb6a_1/3?wm=1&ext=.jpg&iconifyVideo=true&inviteToken=5E1rJSPk5hYDkUnY7op0&outquality=90')
|
133
|
+
|
134
|
+
res2 = mock()
|
135
|
+
body2 = mock()
|
136
|
+
res2.expects(:content_type).at_least_once.returns('image/jpeg')
|
137
|
+
res2.expects(:body).once.returns(body2)
|
138
|
+
res2.expects(:code).never
|
139
|
+
Net::HTTP.expects(:get_response).once.with(uri2).returns res2
|
140
|
+
mms = MMS2R::Media.new(mail)
|
141
|
+
|
142
|
+
assert_equal 1, mms.media.size
|
143
|
+
assert_nil mms.media['text/plain']
|
144
|
+
assert_nil mms.media['text/html']
|
145
|
+
assert_equal 2, mms.media['image/jpeg'].size
|
146
|
+
assert_not_nil mms.media['image/jpeg'][0]
|
147
|
+
assert_not_nil mms.media['image/jpeg'][1]
|
148
|
+
assert_match(/001_104058d23d79fb6a_1-0.jpg$/, mms.media['image/jpeg'][0])
|
149
|
+
assert_match(/001_104058d23d79fb6a_1-1.jpg$/, mms.media['image/jpeg'][1])
|
150
|
+
|
151
|
+
mms.purge
|
152
|
+
end
|
153
|
+
|
154
|
+
def test_image_should_be_missing
|
155
|
+
# this test is questionable
|
156
|
+
mail = TMail::Mail.parse(load_mail('sprint-broken-image-01.mail').join)
|
157
|
+
mms = MMS2R::Media.new(mail)
|
158
|
+
|
159
|
+
assert_equal 0, mms.media.size
|
160
|
+
|
161
|
+
mms.purge
|
162
|
+
end
|
163
|
+
|
164
|
+
def test_image_should_be_purged_from_content_server
|
165
|
+
mail = TMail::Mail.parse(load_mail('sprint-image-01.mail').join)
|
166
|
+
mock_sprint_purged_image(mail.message_id)
|
167
|
+
mms = MMS2R::Media.new(mail)
|
168
|
+
|
169
|
+
assert_equal 0, mms.media.size
|
170
|
+
|
171
|
+
mms.purge
|
172
|
+
end
|
173
|
+
|
174
|
+
def test_body_should_return_empty_when_there_is_no_user_text
|
175
|
+
mail = TMail::Mail.parse(load_mail('sprint-image-01.mail').join)
|
176
|
+
mms = MMS2R::Media.new(mail)
|
177
|
+
assert_equal "", mms.body
|
178
|
+
end
|
179
|
+
|
180
|
+
def test_sprint_write_file
|
181
|
+
require 'tempfile'
|
182
|
+
mail = mock(:message_id => 'a')
|
183
|
+
mail.expects(:header).at_least_once.returns({})
|
184
|
+
mail.expects(:from).at_least_once.returns(['joe@pm.sprint.com'])
|
185
|
+
s = MMS2R::Media::Sprint.new(mail, :process => :lazy)
|
186
|
+
type = 'text/plain'
|
187
|
+
content = 'foo'
|
188
|
+
file = Tempfile.new('sprint')
|
189
|
+
file.close
|
190
|
+
|
191
|
+
type, file = s.send(:sprint_write_file, type, content, file.path)
|
192
|
+
assert_equal 'text/plain', type
|
193
|
+
assert_equal content, IO.read(file)
|
194
|
+
end
|
195
|
+
|
196
|
+
def test_subject
|
197
|
+
mail = TMail::Mail.parse(load_mail('sprint-image-01.mail').join)
|
198
|
+
mms = MMS2R::Media.new(mail)
|
199
|
+
assert_equal "", mms.subject
|
200
|
+
end
|
201
|
+
|
202
|
+
end
|
@@ -0,0 +1,37 @@
|
|
1
|
+
require File.join(File.dirname(__FILE__), "..", "lib", "mms2r")
|
2
|
+
require File.join(File.dirname(__FILE__), "test_helper")
|
3
|
+
require 'test/unit'
|
4
|
+
require 'rubygems'
|
5
|
+
require 'mocha'
|
6
|
+
gem 'tmail', '>= 1.2.1'
|
7
|
+
require 'tmail'
|
8
|
+
|
9
|
+
class TestPxtVodafoneNetNz < Test::Unit::TestCase
|
10
|
+
include MMS2R::TestHelper
|
11
|
+
|
12
|
+
def setup
|
13
|
+
mail = TMail::Mail.parse(load_mail('pxt-image-01.mail').join)
|
14
|
+
@mms = MMS2R::Media.new(mail)
|
15
|
+
end
|
16
|
+
|
17
|
+
def teardown
|
18
|
+
@mms.purge
|
19
|
+
end
|
20
|
+
|
21
|
+
def test_pxt_text_returns_text_plain
|
22
|
+
assert_not_nil(@mms.media['text/plain'])
|
23
|
+
|
24
|
+
file = @mms.media['text/plain'][0]
|
25
|
+
assert_not_nil(file)
|
26
|
+
assert(File::exist?(file), "file #{file} does not exist")
|
27
|
+
text = IO.readlines("#{file}").join
|
28
|
+
assert_match(/Kia ora ano Luke/, text)
|
29
|
+
|
30
|
+
assert_match(/Kia ora ano Luke/, @mms.body)
|
31
|
+
end
|
32
|
+
|
33
|
+
def test_subject_should_clear_default_pxt_message
|
34
|
+
assert_equal "", @mms.subject
|
35
|
+
end
|
36
|
+
|
37
|
+
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
require File.join(File.dirname(__FILE__), "..", "lib", "mms2r")
|
2
|
+
require File.join(File.dirname(__FILE__), "test_helper")
|
3
|
+
require 'test/unit'
|
4
|
+
require 'rubygems'
|
5
|
+
require 'mocha'
|
6
|
+
gem 'tmail', '>= 1.2.1'
|
7
|
+
require 'tmail'
|
8
|
+
|
9
|
+
class TestRciRogersCom < Test::Unit::TestCase
|
10
|
+
include MMS2R::TestHelper
|
11
|
+
|
12
|
+
def test_image_and_text_and_number
|
13
|
+
mail = TMail::Mail.parse(load_mail('rogers-canada-mms-01.mail').join)
|
14
|
+
mms = MMS2R::Media.new(mail)
|
15
|
+
|
16
|
+
assert_equal "1234567890", mms.number
|
17
|
+
assert_equal "", mms.subject
|
18
|
+
|
19
|
+
assert_equal 1, mms.media.size
|
20
|
+
assert_equal 2, mms.media['image/jpeg'].size
|
21
|
+
|
22
|
+
#janky test because there is a verisign logo in the file
|
23
|
+
assert_not_nil mms.media['image/jpeg'].first
|
24
|
+
assert mms.media['image/jpeg'].detect{|f| /A2.2658324049556002.jpg$/ =~ f}
|
25
|
+
mms.purge
|
26
|
+
end
|
27
|
+
|
28
|
+
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
require File.join(File.dirname(__FILE__), "..", "lib", "mms2r")
|
2
|
+
require File.join(File.dirname(__FILE__), "test_helper")
|
3
|
+
require 'test/unit'
|
4
|
+
require 'rubygems'
|
5
|
+
require 'mocha'
|
6
|
+
gem 'tmail', '>= 1.2.1'
|
7
|
+
require 'tmail'
|
8
|
+
|
9
|
+
class TestSmsSasktelCom < Test::Unit::TestCase
|
10
|
+
include MMS2R::TestHelper
|
11
|
+
|
12
|
+
def test_sms_sasktel_com
|
13
|
+
# sms.sasktel.com service
|
14
|
+
mail = TMail::Mail.parse(load_mail('sasktel-image-01.mail').join)
|
15
|
+
mms = MMS2R::Media.new(mail)
|
16
|
+
assert_equal "sms.sasktel.com", mms.carrier
|
17
|
+
assert_equal "", mms.subject
|
18
|
+
assert_nil mms.media['text/html']
|
19
|
+
assert_nil mms.media['image/gif']
|
20
|
+
assert_equal 1, mms.media.size
|
21
|
+
assert_not_nil mms.media['image/jpeg']
|
22
|
+
assert_equal 1, mms.media['image/jpeg'].size
|
23
|
+
assert_match(/A1.8463391017738573.jpg$/, mms.media['image/jpeg'].first)
|
24
|
+
assert_file_size(mms.media['image/jpeg'].first, 337)
|
25
|
+
mms.purge
|
26
|
+
end
|
27
|
+
|
28
|
+
end
|
@@ -0,0 +1,108 @@
|
|
1
|
+
require File.join(File.dirname(__FILE__), "..", "lib", "mms2r")
|
2
|
+
require File.join(File.dirname(__FILE__), "test_helper")
|
3
|
+
require 'test/unit'
|
4
|
+
require 'rubygems'
|
5
|
+
require 'mocha'
|
6
|
+
gem 'tmail', '>= 1.2.1'
|
7
|
+
require 'tmail'
|
8
|
+
|
9
|
+
class TestTmomailNet < Test::Unit::TestCase
|
10
|
+
include MMS2R::TestHelper
|
11
|
+
|
12
|
+
def test_ignore_simple_image
|
13
|
+
mail = TMail::Mail.parse(load_mail('tmobile-image-01.mail').join)
|
14
|
+
mms = MMS2R::Media.new(mail)
|
15
|
+
|
16
|
+
assert_equal 1, mms.media.size
|
17
|
+
assert_nil mms.media['text/plain']
|
18
|
+
assert_nil mms.media['text/html']
|
19
|
+
assert_not_nil mms.media['image/jpeg'][0]
|
20
|
+
assert_match(/12-01-06_1234.jpg$/, mms.media['image/jpeg'][0])
|
21
|
+
|
22
|
+
assert_file_size mms.media['image/jpeg'][0], 337
|
23
|
+
|
24
|
+
mms.purge
|
25
|
+
end
|
26
|
+
|
27
|
+
def test_message_with_body_text
|
28
|
+
mail = TMail::Mail.parse(load_mail('tmobile-image-02.mail').join)
|
29
|
+
mms = MMS2R::Media.new(mail)
|
30
|
+
|
31
|
+
assert_equal 2, mms.media.size
|
32
|
+
assert_not_nil mms.media['text/plain']
|
33
|
+
assert_nil mms.media['text/html']
|
34
|
+
assert_not_nil mms.media['image/jpeg'][0]
|
35
|
+
assert_match(/07-25-05_0935.jpg$/, mms.media['image/jpeg'][0])
|
36
|
+
|
37
|
+
assert_file_size mms.media['image/jpeg'][0], 337
|
38
|
+
|
39
|
+
file = mms.media['text/plain'][0]
|
40
|
+
assert_not_nil file
|
41
|
+
assert File::exist?(file), "file #{file} does not exist"
|
42
|
+
text = IO.readlines("#{file}").join
|
43
|
+
assert_equal "Lillies", text.strip
|
44
|
+
|
45
|
+
mms.purge
|
46
|
+
end
|
47
|
+
|
48
|
+
def test_image_from_blackberry
|
49
|
+
mail = TMail::Mail.parse(load_mail('tmobile-blackberry.mail').join)
|
50
|
+
mms = MMS2R::Media.new(mail)
|
51
|
+
|
52
|
+
assert_nil mms.media['text/plain']
|
53
|
+
|
54
|
+
assert_not_nil mms.media['image/jpeg'].first
|
55
|
+
assert_match(/Windows-1252\?B\?SU1HMDAyMzkuanBn/, mms.media['image/jpeg'].first)
|
56
|
+
mms.purge
|
57
|
+
end
|
58
|
+
|
59
|
+
def test_image_from_blackberry2
|
60
|
+
mail = TMail::Mail.parse(load_mail('tmobile-blackberry-02.mail').join)
|
61
|
+
mms = MMS2R::Media.new(mail)
|
62
|
+
|
63
|
+
assert_equal 1, mms.media.size
|
64
|
+
assert_nil mms.media['text/plain']
|
65
|
+
|
66
|
+
assert_not_nil mms.media['image/jpeg'].first
|
67
|
+
assert_match(/Windows-1252\?B\?SU1HMDAxNDEuanBn/, mms.media['image/jpeg'].first)
|
68
|
+
mms.purge
|
69
|
+
end
|
70
|
+
|
71
|
+
def test_tmobile_uk_image_and_text_and_number
|
72
|
+
mail = TMail::Mail.parse(load_mail('mmsreply.t-mobile.co.uk-text-image-01.mail').join)
|
73
|
+
mms = MMS2R::Media.new(mail)
|
74
|
+
|
75
|
+
assert_equal '12345678901', mms.number
|
76
|
+
assert_equal 'mmsreply.t-mobile.co.uk', mms.carrier
|
77
|
+
|
78
|
+
assert_equal 2, mms.media.size
|
79
|
+
assert_equal 1, mms.media['image/jpeg'].size
|
80
|
+
assert_equal 1, mms.media['text/plain'].size
|
81
|
+
|
82
|
+
assert_equal "Do you know this office? Do you know this office? Do \nyou know this office? Do you know this office?", mms.default_text.read
|
83
|
+
|
84
|
+
assert_file_size mms.media['image/jpeg'][0], 337
|
85
|
+
file = mms.default_media
|
86
|
+
assert_equal 'Image002.jpg', file.original_filename
|
87
|
+
|
88
|
+
mms.purge
|
89
|
+
end
|
90
|
+
|
91
|
+
def test_tmo_blackberry_net
|
92
|
+
mail = TMail::Mail.parse(load_mail('tmo.blackberry.net-image-01.mail').join)
|
93
|
+
mms = MMS2R::Media.new(mail)
|
94
|
+
|
95
|
+
assert_equal '2068675309', mms.number
|
96
|
+
assert_equal 'IMG00440.jpg', mms.subject
|
97
|
+
assert_equal 'tmo.blackberry.net', mms.carrier
|
98
|
+
|
99
|
+
assert_equal 1, mms.media.size
|
100
|
+
assert_equal 1, mms.media['image/jpeg'].size
|
101
|
+
|
102
|
+
assert_file_size mms.media['image/jpeg'][0], 337
|
103
|
+
file = mms.default_media
|
104
|
+
assert_equal '=?Windows-1252?B?SU1HMDA0NDAuanBn?=.jpg', file.original_filename
|
105
|
+
|
106
|
+
mms.purge
|
107
|
+
end
|
108
|
+
end
|
@@ -0,0 +1,49 @@
|
|
1
|
+
require File.join(File.dirname(__FILE__), "..", "lib", "mms2r")
|
2
|
+
require File.join(File.dirname(__FILE__), "test_helper")
|
3
|
+
require 'test/unit'
|
4
|
+
require 'rubygems'
|
5
|
+
require 'mocha'
|
6
|
+
gem 'tmail', '>= 1.2.1'
|
7
|
+
require 'tmail'
|
8
|
+
|
9
|
+
class TestUnicelCom < Test::Unit::TestCase
|
10
|
+
include MMS2R::TestHelper
|
11
|
+
|
12
|
+
def test_subject_number_image_unicel
|
13
|
+
mail = TMail::Mail.parse(load_mail('unicel-image-01.mail').join)
|
14
|
+
mms = MMS2R::Media.new(mail)
|
15
|
+
|
16
|
+
assert_equal "", mms.subject
|
17
|
+
# assert_equal "1234567890", mms.number
|
18
|
+
|
19
|
+
assert_equal 2, mms.media.size
|
20
|
+
assert_equal 1, mms.media['text/plain'].size
|
21
|
+
assert_equal 1, mms.media['image/jpeg'].size
|
22
|
+
|
23
|
+
image = mms.media['image/jpeg'].detect{|f| /moto_0002\.jpg/ =~ f}
|
24
|
+
assert_equal 337, File.size(image)
|
25
|
+
|
26
|
+
file = mms.media['text/plain'][0]
|
27
|
+
text = IO.readlines("#{file}").join
|
28
|
+
assert_match(/2068675309/, text)
|
29
|
+
|
30
|
+
mms.purge
|
31
|
+
end
|
32
|
+
|
33
|
+
def test_subject_number_image_info2go
|
34
|
+
mail = TMail::Mail.parse(load_mail('info2go-image-01.mail').join)
|
35
|
+
mms = MMS2R::Media.new(mail)
|
36
|
+
|
37
|
+
assert_equal "", mms.subject
|
38
|
+
assert_equal "2068675309", mms.number
|
39
|
+
|
40
|
+
assert_equal 1, mms.media.size
|
41
|
+
assert_equal 1, mms.media['image/jpeg'].size
|
42
|
+
|
43
|
+
image = mms.media['image/jpeg'].detect{|f| /Image047\.jpeg/ =~ f}
|
44
|
+
assert_equal 337, File.size(image)
|
45
|
+
|
46
|
+
mms.purge
|
47
|
+
end
|
48
|
+
|
49
|
+
end
|