mms2r 2.4.1 → 3.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (61) hide show
  1. data/.gitignore +1 -0
  2. data/History.txt +5 -0
  3. data/Manifest.txt +1 -1
  4. data/README.txt +12 -9
  5. data/Rakefile +11 -10
  6. data/conf/mobile.indosat.net.id.yml +1 -1
  7. data/conf/waw.plspictures.com.yml +1 -1
  8. data/lib/mail_ext.rb +37 -0
  9. data/lib/mms2r.rb +7 -5
  10. data/lib/mms2r/media.rb +29 -35
  11. data/lib/mms2r/media/sprint.rb +19 -19
  12. data/mms2r.gemspec +23 -17
  13. data/test/fixtures/att-blackberry-02.mail +5 -6
  14. data/test/fixtures/att-iphone-01.mail +3 -3
  15. data/test/fixtures/dobson-image-01.mail +3 -3
  16. data/test/fixtures/maroctelecom-france-mms-01.mail +4 -4
  17. data/test/fixtures/mycingular-image-01.mail +3 -3
  18. data/test/fixtures/nextel-image-02.mail +2 -2
  19. data/test/fixtures/orangepoland-text-01.mail +2 -1
  20. data/test/fixtures/orangepoland-text-02.mail +2 -1
  21. data/test/fixtures/pics.cingularme.com-image-01.mail +0 -1
  22. data/test/fixtures/sasktel-image-01.mail +4 -4
  23. data/test/fixtures/sprint-broken-image-01.mail +1 -1
  24. data/test/fixtures/sprint-text-01.mail +1 -1
  25. data/test/fixtures/tmobile-blackberry-02.mail +4 -4
  26. data/test/test_1nbox_net.rb +16 -19
  27. data/test/test_bell_canada.rb +8 -13
  28. data/test/test_bellsouth_net.rb +5 -10
  29. data/test/test_helper.rb +16 -11
  30. data/test/test_mediamessaging_o2_co_uk.rb +21 -17
  31. data/test/test_messaging_nextel_com.rb +18 -12
  32. data/test/test_messaging_sprintpcs_com.rb +4 -8
  33. data/test/test_mms2r_media.rb +153 -143
  34. data/test/test_mms_3ireland_ie.rb +4 -9
  35. data/test/test_mms_ae.rb +12 -12
  36. data/test/test_mms_alltel_com.rb +14 -15
  37. data/test/test_mms_att_net.rb +35 -27
  38. data/test/test_mms_dobson_net.rb +9 -11
  39. data/test/test_mms_luxgsm_lu.rb +23 -17
  40. data/test/test_mms_mobileiam_ma.rb +4 -10
  41. data/test/test_mms_mtn_co_za.rb +4 -9
  42. data/test/test_mms_mycricket_com.rb +9 -9
  43. data/test/test_mms_myhelio_com.rb +18 -14
  44. data/test/test_mms_netcom_no.rb +19 -17
  45. data/test/test_mms_o2online_de.rb +20 -18
  46. data/test/test_mms_three_co_uk.rb +14 -14
  47. data/test/test_mms_vodacom4me_co_za.rb +24 -24
  48. data/test/test_mobile_indosat_net_id.rb +6 -9
  49. data/test/test_msg_telus_com.rb +5 -10
  50. data/test/test_orangemms_net.rb +25 -17
  51. data/test/test_pm_sprint_com.rb +37 -22
  52. data/test/test_pxt_vodafone_net_nz.rb +7 -11
  53. data/test/test_rci_rogers_com.rb +3 -8
  54. data/test/test_sms_sasktel_com.rb +2 -7
  55. data/test/test_tmomail_net.rb +25 -23
  56. data/test/test_unicel_com.rb +8 -12
  57. data/test/test_vmpix_com.rb +14 -13
  58. data/test/test_vzwpix_com.rb +24 -14
  59. data/test/test_waw_plspictures_com.rb +2 -7
  60. metadata +77 -26
  61. data/lib/tmail_ext.rb +0 -22
@@ -1,26 +1,24 @@
1
- require File.join(File.dirname(__FILE__), "..", "lib", "mms2r")
2
1
  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
2
 
9
3
  class TestMmsMycricketCom < Test::Unit::TestCase
10
4
  include MMS2R::TestHelper
11
5
 
12
6
  def test_subject
13
7
  # mms.mycricket.com service
14
- mail = TMail::Mail.parse(load_mail('mms.mycricket.com-pic.mail').join)
8
+ mail = mail('mms.mycricket.com-pic.mail')
15
9
  mms = MMS2R::Media.new(mail)
10
+ assert_equal "2068675309", mms.number
11
+ assert_equal "mms.mycricket.com", mms.carrier
16
12
  assert_equal "", mms.subject
17
13
  mms.purge
18
14
  end
19
15
 
20
16
  def test_image
21
17
  # mms.mycricket.com service
22
- mail = TMail::Mail.parse(load_mail('mms.mycricket.com-pic.mail').join)
18
+ mail = mail('mms.mycricket.com-pic.mail')
23
19
  mms = MMS2R::Media.new(mail)
20
+ assert_equal "2068675309", mms.number
21
+ assert_equal "mms.mycricket.com", mms.carrier
24
22
 
25
23
  assert_equal 1, mms.media.size
26
24
  assert_nil mms.media['text/plain']
@@ -36,8 +34,10 @@ class TestMmsMycricketCom < Test::Unit::TestCase
36
34
 
37
35
  def test_image_and_text
38
36
  # mms.mycricket.com service
39
- mail = TMail::Mail.parse(load_mail('mms.mycricket.com-pic-and-text.mail').join)
37
+ mail = mail('mms.mycricket.com-pic-and-text.mail')
40
38
  mms = MMS2R::Media.new(mail)
39
+ assert_equal "2068675309", mms.number
40
+ assert_equal "mms.mycricket.com", mms.carrier
41
41
 
42
42
  assert_equal 2, mms.media.size
43
43
  assert_nil mms.media['text/html']
@@ -1,17 +1,13 @@
1
- require File.join(File.dirname(__FILE__), "..", "lib", "mms2r")
2
1
  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
2
 
9
3
  class TestMmsMyhelioCom < Test::Unit::TestCase
10
4
  include MMS2R::TestHelper
11
5
 
12
6
  def test_only_valid_content_should_be_retained_for_mms_with_image_and_text
13
- mail = TMail::Mail.parse(load_mail('helio-image-01.mail').join)
7
+ mail = mail('helio-image-01.mail')
14
8
  mms = MMS2R::Media.new(mail)
9
+ assert_equal "5551234", mms.number
10
+ assert_equal "mms.myhelio.com", mms.carrier
15
11
  assert_equal 2, mms.media.size
16
12
  assert_equal 1, mms.media['image/jpeg'].size
17
13
  assert_equal 1, mms.media['text/plain'].size
@@ -19,40 +15,48 @@ class TestMmsMyhelioCom < Test::Unit::TestCase
19
15
  end
20
16
 
21
17
  def test_only_valid_content_should_be_retained_for_mms_with_text
22
- mail = TMail::Mail.parse(load_mail('helio-message-01.mail').join)
18
+ mail = mail('helio-message-01.mail')
23
19
  mms = MMS2R::Media.new(mail)
20
+ assert_equal "5551234", mms.number
21
+ assert_equal "mms.myhelio.com", mms.carrier
24
22
  assert_equal 1, mms.media.size
25
23
  assert_equal 1, mms.media['text/plain'].size
26
24
  mms.purge
27
25
  end
28
26
 
29
27
  def test_number_should_return_correct_number
30
- mail = TMail::Mail.parse(load_mail('helio-image-01.mail').join)
28
+ mail = mail('helio-image-01.mail')
31
29
  mms = MMS2R::Media.new(mail)
32
- number = mms.number()
33
- assert_equal number, 5551234.to_s
30
+ assert_equal "5551234", mms.number
31
+ assert_equal "mms.myhelio.com", mms.carrier
34
32
  mms.purge
35
33
  end
36
34
 
37
35
  def test_subject_should_return_correct_subject
38
- mail = TMail::Mail.parse(load_mail('helio-image-01.mail').join)
36
+ mail = mail('helio-image-01.mail')
39
37
  mms = MMS2R::Media.new(mail)
38
+ assert_equal "5551234", mms.number
39
+ assert_equal "mms.myhelio.com", mms.carrier
40
40
  title = mms.subject()
41
41
  assert_equal title, "Test image"
42
42
  mms.purge
43
43
  end
44
44
 
45
45
  def test_body_should_return_correct_body
46
- mail = TMail::Mail.parse(load_mail('helio-image-01.mail').join)
46
+ mail = mail('helio-image-01.mail')
47
47
  mms = MMS2R::Media.new(mail)
48
+ assert_equal "5551234", mms.number
49
+ assert_equal "mms.myhelio.com", mms.carrier
48
50
  body = mms.body()
49
51
  assert_equal body, "Test image"
50
52
  mms.purge
51
53
  end
52
54
 
53
55
  def test_attachment_should_return_jpeg
54
- mail = TMail::Mail.parse(load_mail('helio-image-01.mail').join)
56
+ mail = mail('helio-image-01.mail')
55
57
  mms = MMS2R::Media.new(mail)
58
+ assert_equal "5551234", mms.number
59
+ assert_equal "mms.myhelio.com", mms.carrier
56
60
  image = mms.default_media()
57
61
  assert_not_nil mms.media['image/jpeg'][0]
58
62
  assert_match(/0628070005.jpg$/, mms.media['image/jpeg'][0])
@@ -1,52 +1,54 @@
1
- require File.join(File.dirname(__FILE__), "..", "lib", "mms2r")
2
1
  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
2
 
9
3
  class TestMmsNetcomNo < Test::Unit::TestCase
10
4
  include MMS2R::TestHelper
11
5
 
12
6
  def test_subject
13
- mail = TMail::Mail.parse(load_mail('netcom-image-01.mail').join)
7
+ mail = mail('netcom-image-01.mail')
14
8
  mms = MMS2R::Media.new(mail)
9
+ assert_equal "5551234", mms.number
10
+ assert_equal "mms.netcom.no", mms.carrier
15
11
  assert_equal "Morning greetings from norway. This is a", mms.subject
16
12
 
17
13
  mms.purge
18
14
  end
19
15
 
20
16
  def test_image
21
- mail = TMail::Mail.parse(load_mail('netcom-image-01.mail').join)
17
+ mail = mail('netcom-image-01.mail')
22
18
  mms = MMS2R::Media.new(mail)
23
-
19
+ assert_equal "5551234", mms.number
20
+ assert_equal "mms.netcom.no", mms.carrier
21
+
24
22
  assert_equal 2, mms.media.size
25
23
  assert_not_nil mms.media['text/plain']
26
24
  assert_equal 1, mms.media['text/plain'].size
27
25
  assert_not_nil mms.media['image/jpeg']
28
26
  assert_equal 1, mms.media['image/jpeg'].size
29
27
  assert_file_size mms.media['image/jpeg'].first, 337
30
-
28
+
31
29
  mms.purge
32
30
  end
33
31
 
34
32
  def test_default_media_should_return_user_generated_content
35
- mail = TMail::Mail.parse(load_mail('netcom-image-01.mail').join)
33
+ mail = mail('netcom-image-01.mail')
36
34
  mms = MMS2R::Media.new(mail)
35
+ assert_equal "5551234", mms.number
36
+ assert_equal "mms.netcom.no", mms.carrier
37
37
  file = mms.default_media
38
38
  assert_equal 337, file.size
39
-
39
+
40
40
  mms.purge
41
- end
41
+ end
42
42
 
43
43
  def test_default_text_should_return_user_generated_content
44
- mail = TMail::Mail.parse(load_mail('netcom-image-01.mail').join)
44
+ mail = mail('netcom-image-01.mail')
45
45
  mms = MMS2R::Media.new(mail)
46
+ assert_equal "5551234", mms.number
47
+ assert_equal "mms.netcom.no", mms.carrier
46
48
  file = mms.default_text
47
49
  assert_equal "Morning greetings from norway. This is a mms from norwegian carrier netcom.", file.read
48
-
50
+
49
51
  mms.purge
50
- end
51
-
52
+ end
53
+
52
54
  end
@@ -1,25 +1,23 @@
1
- require File.join(File.dirname(__FILE__), "..", "lib", "mms2r")
2
1
  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
2
 
9
3
  class TestMmsO2onlineDe < Test::Unit::TestCase
10
4
  include MMS2R::TestHelper
11
5
 
12
6
  def test_subject
13
- mail = TMail::Mail.parse(load_mail('o2-de-image-01.mail').join)
7
+ mail = mail('o2-de-image-01.mail')
14
8
  mms = MMS2R::Media.new(mail)
9
+ assert_equal "o2.5551234", mms.number
10
+ assert_equal "mms.o2online.de", mms.carrier
15
11
  assert_equal "this is a subject", mms.subject
16
12
  mms.purge
17
13
  end
18
14
 
19
15
  def test_image
20
- mail = TMail::Mail.parse(load_mail('o2-de-image-01.mail').join)
16
+ mail = mail('o2-de-image-01.mail')
21
17
  mms = MMS2R::Media.new(mail)
22
-
18
+ assert_equal "o2.5551234", mms.number
19
+ assert_equal "mms.o2online.de", mms.carrier
20
+
23
21
  # o2 is ungly, you cant' tel the logo is different than user content by its file name
24
22
  assert_equal 2, mms.media.size
25
23
  assert_not_nil mms.media['text/plain']
@@ -27,27 +25,31 @@ class TestMmsO2onlineDe < Test::Unit::TestCase
27
25
  assert_not_nil mms.media['image/jpeg']
28
26
  assert_equal 2, mms.media['image/jpeg'].size
29
27
  assert mms.media['image/jpeg'].detect{|f| File.size(f) == 337}
30
-
28
+
31
29
  mms.purge
32
30
  end
33
31
 
34
32
  def test_default_media_should_return_user_generated_content
35
- mail = TMail::Mail.parse(load_mail('o2-de-image-01.mail').join)
33
+ mail = mail('o2-de-image-01.mail')
36
34
  mms = MMS2R::Media.new(mail)
35
+ assert_equal "o2.5551234", mms.number
36
+ assert_equal "mms.o2online.de", mms.carrier
37
37
  file = mms.default_media
38
38
  assert_equal 1275, file.size
39
-
39
+
40
40
  mms.purge
41
- end
41
+ end
42
42
 
43
43
  def test_default_text_should_return_user_generated_content
44
- mail = TMail::Mail.parse(load_mail('o2-de-image-01.mail').join)
44
+ mail = mail('o2-de-image-01.mail')
45
45
  mms = MMS2R::Media.new(mail)
46
+ assert_equal "o2.5551234", mms.number
47
+ assert_equal "mms.o2online.de", mms.carrier
46
48
  file = mms.default_text
47
49
  #assert_equal 42, file.size
48
- assert_equal "This is text before the image. Thank you!\n", file.read
49
-
50
+ assert_equal "This is text before the image. Thank you!", file.read.strip
51
+
50
52
  mms.purge
51
- end
52
-
53
+ end
54
+
53
55
  end
@@ -1,42 +1,42 @@
1
- require File.join(File.dirname(__FILE__), "..", "lib", "mms2r")
2
1
  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
2
 
9
3
  class TestMmsThreeCoUk < Test::Unit::TestCase
10
4
  include MMS2R::TestHelper
11
5
 
12
6
  def test_subject
13
- mail = TMail::Mail.parse(load_mail('three-uk-image-01.mail').join)
7
+ mail = mail('three-uk-image-01.mail')
14
8
  mms = MMS2R::Media.new(mail)
9
+ assert_equal "5551234", mms.number
10
+ assert_equal "mms.three.co.uk", mms.carrier
15
11
  assert_equal "", mms.subject
16
12
 
17
13
  mms.purge
18
14
  end
19
15
 
20
16
  def test_image
21
- mail = TMail::Mail.parse(load_mail('three-uk-image-01.mail').join)
17
+ mail = mail('three-uk-image-01.mail')
22
18
  mms = MMS2R::Media.new(mail)
23
-
19
+ assert_equal "5551234", mms.number
20
+ assert_equal "mms.three.co.uk", mms.carrier
21
+
24
22
  assert_equal 1, mms.media.size
25
23
  assert_not_nil mms.media['image/jpeg']
26
24
  assert_equal 1, mms.media['image/jpeg'].size
27
25
  assert_match(/17102007.jpg$/, mms.media['image/jpeg'].first)
28
26
  assert_file_size mms.media['image/jpeg'].first, 337
29
-
27
+
30
28
  mms.purge
31
29
  end
32
30
 
33
31
  def test_default_media_should_return_user_generated_content
34
- mail = TMail::Mail.parse(load_mail('three-uk-image-01.mail').join)
32
+ mail = mail('three-uk-image-01.mail')
35
33
  mms = MMS2R::Media.new(mail)
34
+ assert_equal "5551234", mms.number
35
+ assert_equal "mms.three.co.uk", mms.carrier
36
36
  file = mms.default_media
37
37
  assert_equal '17102007.jpg', file.original_filename
38
-
38
+
39
39
  mms.purge
40
- end
41
-
40
+ end
41
+
42
42
  end
@@ -1,56 +1,55 @@
1
- require File.join(File.dirname(__FILE__), "..", "lib", "mms2r")
2
1
  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
2
 
9
3
  class TestMmsVodacom4meCoZa < Test::Unit::TestCase
10
4
  include MMS2R::TestHelper
11
-
5
+
12
6
  def test_image_only
13
- mail = TMail::Mail.parse(load_mail('vodacom4me-co-za-01.mail').join)
7
+ mail = mail('vodacom4me-co-za-01.mail')
14
8
  mms = MMS2R::Media.new(mail)
15
-
9
+ assert_equal "+2068675309", mms.number
10
+ assert_equal "mms.vodacom4me.co.za", mms.carrier
11
+
16
12
  assert_nil mms.media['text/plain']
17
13
  assert_nil mms.media['text/html']
18
-
14
+
19
15
  assert_not_nil mms.media['image/jpeg'].first
20
16
  assert_match(/Ugly\.jpg$/, mms.media['image/jpeg'].first)
21
17
  mms.purge
22
18
  end
23
19
 
24
20
  def test_should_have_phone_number
25
- mail = TMail::Mail.parse(load_mail('vodacom4me-co-za-01.mail').join)
21
+ mail = mail('vodacom4me-co-za-01.mail')
26
22
  mms = MMS2R::Media.new(mail)
23
+ assert_equal "+2068675309", mms.number
24
+ assert_equal "mms.vodacom4me.co.za", mms.carrier
27
25
 
28
- assert_equal '+2068675309', mms.number
29
-
30
26
  mms.purge
31
27
  end
32
-
28
+
33
29
  def test_image_and_text
34
- mail = TMail::Mail.parse(load_mail('vodacom4me-co-za-02.mail').join)
30
+ mail = mail('vodacom4me-co-za-02.mail')
35
31
  mms = MMS2R::Media.new(mail)
36
-
32
+ assert_equal "+2068675309", mms.number
33
+ assert_equal "mms.vodacom4me.co.za", mms.carrier
34
+
37
35
  assert_not_nil mms.media['text/plain']
38
36
  assert_equal "Hello World", open(mms.media['text/plain'].first).read
39
-
37
+
40
38
  assert_nil mms.media['text/html']
41
-
39
+
42
40
  assert_not_nil mms.media['image/jpeg'].first
43
41
  assert_match(/DSC00184\.JPG$/, mms.media['image/jpeg'].first)
44
42
  mms.purge
45
43
  end
46
44
 
47
45
  def test_new_image_and_number
48
- mail = TMail::Mail.parse(load_mail('vodacom4me-southafrica-mms-01.mail').join)
46
+ mail = mail('vodacom4me-southafrica-mms-01.mail')
49
47
  mms = MMS2R::Media.new(mail)
50
-
48
+ assert_equal "+12345678901", mms.number
49
+ assert_equal "mms.vodacom4me.co.za", mms.carrier
50
+
51
51
  assert_nil mms.media['text/plain']
52
52
  assert_nil mms.media['text/html']
53
- assert_equal '+12345678901', mms.number
54
53
 
55
54
  assert_equal 1, mms.media.size
56
55
  assert_equal 1, mms.media['image/gif'].size
@@ -60,12 +59,13 @@ class TestMmsVodacom4meCoZa < Test::Unit::TestCase
60
59
  end
61
60
 
62
61
  def test_new_lots_of_images
63
- mail = TMail::Mail.parse(load_mail('vodacom4me-southafrica-mms-04.mail').join)
62
+ mail = mail('vodacom4me-southafrica-mms-04.mail')
64
63
  mms = MMS2R::Media.new(mail)
65
-
64
+ assert_equal "+12345678901", mms.number
65
+ assert_equal "mms.vodacom4me.co.za", mms.carrier
66
+
66
67
  assert_nil mms.media['text/plain']
67
68
  assert_nil mms.media['text/html']
68
- assert_equal '+12345678901', mms.number
69
69
 
70
70
  assert_not_nil mms.media['image/gif'].at(0)
71
71
  assert_match(/ZedLandingMedium\.gif$/, mms.media['image/gif'].at(0))
@@ -1,18 +1,13 @@
1
- require File.join(File.dirname(__FILE__), "..", "lib", "mms2r")
2
1
  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
2
 
9
3
  class TestMobileIndosatNetId < Test::Unit::TestCase
10
4
  include MMS2R::TestHelper
11
5
 
12
6
  def test_mms_indosat_with_yahoo_service
13
7
  # mobile.indosat.net.id service
14
- mail = TMail::Mail.parse(load_mail('indosat-image-01.mail').join)
8
+ mail = mail('indosat-image-01.mail')
15
9
  mms = MMS2R::Media.new(mail)
10
+ assert_equal "2068675309", mms.number
16
11
  assert_equal "mobile.indosat.net.id", mms.carrier
17
12
  assert_equal "", mms.subject
18
13
  assert_nil mms.media['text/html']
@@ -28,16 +23,18 @@ class TestMobileIndosatNetId < Test::Unit::TestCase
28
23
 
29
24
  def test_mms_indosat_phone_number_with_yahoo_service
30
25
  # mobile.indosat.net.id service
31
- mail = TMail::Mail.parse(load_mail('indosat-image-01.mail').join)
26
+ mail = mail('indosat-image-01.mail')
32
27
  mms = MMS2R::Media.new(mail)
33
28
  assert_equal "2068675309", mms.number
29
+ assert_equal "mobile.indosat.net.id", mms.carrier
34
30
  mms.purge
35
31
  end
36
32
 
37
33
  def test_mms_indosat
38
34
  # mobile.indosat.net.id service
39
- mail = TMail::Mail.parse(load_mail('indosat-image-02.mail').join)
35
+ mail = mail('indosat-image-02.mail')
40
36
  mms = MMS2R::Media.new(mail)
37
+ assert_equal "2068675309", mms.number
41
38
  assert_equal "mobile.indosat.net.id", mms.carrier
42
39
  assert_equal "Please pick up while I prepair another.", mms.subject
43
40
  assert_nil mms.media['text/html']