7
7
8
8
import unittest
9
9
from rss2email import *
10
+ import rss2email
11
+ import feedparser
10
12
11
- class Test_validateEmail (unittest .TestCase ):
13
+ class test_validateEmail (unittest .TestCase ):
12
14
""""""
13
15
def test_valid_email (self ):
14
16
@@ -26,5 +28,76 @@ def test_no_at(self):
26
28
email = validateEmail (
"invalid" ,
"[email protected] " )
27
29
self .
assertEqual (
email ,
"[email protected] " )
28
30
31
+ class test_getName (unittest .TestCase ):
32
+ """"""
33
+ def setUp (self ):
34
+ self .feed = feedparser .parse ("""
35
+ <feed xmlns="http://www.w3.org/2005/Atom">
36
+ <entry>
37
+ <author>
38
+ <name>Example author</name>
39
+
40
+ <url>http://example.com/</url>
41
+ </author>
42
+ </entry>
43
+ </feed>
44
+ """ )
45
+ self .entry = self .feed .entries [0 ]
46
+
47
+
48
+ def test_no_friendly_name (self ):
49
+ rss2email .NO_FRIENDLY_NAME = 1
50
+ name = getName (0 , 0 )
51
+ rss2email .NO_FRIENDLY_NAME = 0
52
+ self .assertEqual (name , '' )
53
+
54
+ def test_override_from (self ):
55
+ # have to fake url attribute because it is only set on downloaded feeds
56
+ urlToOverride = 'http://example.com/feed/'
57
+ self .feed ['url' ] = urlToOverride
58
+ rss2email .OVERRIDE_FROM = {urlToOverride :'override' }
59
+ name = getName (self .feed , self .entry )
60
+ self .assertEqual (name , 'override' )
61
+
62
+ def test_no_friendly_name_negative (self ):
63
+ rss2email .NO_FRIENDLY_NAME = 0
64
+ name = getName (self .feed , self .entry )
65
+ self .assertEqual (name , 'Example author' )
66
+
67
+ class test_getTags (unittest .TestCase ):
68
+ """"""
69
+ def test_valid_tags (self ):
70
+ entry = {'tags' : [{'term' : u'tag1' , 'scheme' : None , 'label' : None }]}
71
+ tagline = getTags (entry )
72
+ self .assertEqual (tagline , "tag1" )
73
+
74
+ def test_no_tags (self ):
75
+ entry = {}
76
+ tagline = getTags (entry )
77
+ self .assertEqual (tagline , "" )
78
+
79
+ def test_empty_tags (self ):
80
+ entry = {'tags' : []}
81
+ tagline = getTags (entry )
82
+ self .assertEqual (tagline , "" )
83
+
84
+ def test_no_term (self ):
85
+ entry = {'tags' : [{'scheme' : None , 'label' : None }]}
86
+ tagline = getTags (entry )
87
+ self .assertEqual (tagline , "" )
88
+
89
+ def test_empty_term (self ):
90
+ entry = {'tags' : [{'term' : u'' , 'scheme' : None , 'label' : None }]}
91
+ tagline = getTags (entry )
92
+ self .assertEqual (tagline , "" )
93
+
94
+ def test_multiple_tags (self ):
95
+ entry = {'tags' : [{'term' : u'tag1' , 'scheme' : None , 'label' : None }, {'term' : u'tag2' , 'scheme' : None , 'label' : None }]}
96
+ tagline = getTags (entry )
97
+ self .assertEqual (tagline , "tag1,tag2" )
98
+
99
+
100
+
29
101
if __name__ == '__main__' :
30
102
unittest .main ()
103
+
0 commit comments