2222class BaseTest (unittest .TestCase ):
2323 url = None
2424 bzclass = Bugzilla
25+ bzversion = (0 , 0 )
2526 closestatus = "CLOSED"
2627
2728 def clicomm (self , argstr , expectexc = False ):
2829 comm = "bugzilla " + argstr
2930
30- bz = self . bzclass (url = self .url , cookiefile = None , tokenfile = None )
31+ bz = Bugzilla (url = self .url , cookiefile = None , tokenfile = None )
3132 if expectexc :
3233 self .assertRaises (Exception , tests .clicomm , comm , bz )
3334 else :
3435 return tests .clicomm (comm , bz )
3536
36- def _testBZClass (self ):
37+ def _testBZVersion (self ):
3738 bz = Bugzilla (self .url , cookiefile = None , tokenfile = None )
38- self .assertTrue (bz .__class__ is self .bzclass )
39+ self .assertEquals (bz .__class__ , self .bzclass )
40+ self .assertEquals (bz .bz_ver_major , self .bzversion [0 ])
41+ self .assertEquals (bz .bz_ver_minor , self .bzversion [1 ])
3942
4043 # Since we are running these tests against bugzilla instances in
4144 # the wild, we can't depend on certain data like product lists
@@ -115,17 +118,27 @@ def _testQueryURL(self, url, count, expectstr):
115118
116119
117120class BZMozilla (BaseTest ):
118- url = "https://bugzilla.mozilla.org"
119- bzclass = bugzilla .Bugzilla42
120- test0 = BaseTest ._testBZClass
121+ def testVersion (self ):
122+ # bugzilla.mozilla.org returns version values in YYYY-MM-DD
123+ # format, so just try to confirm that
124+ bz = Bugzilla ("bugzilla.mozilla.org" , cookiefile = None , tokenfile = None )
125+ self .assertEquals (bz .__class__ , Bugzilla )
126+ self .assertTrue (bz .bz_ver_major >= 2016 )
127+ self .assertTrue (bz .bz_ver_minor in range (1 , 13 ))
128+
129+
130+ class BZGentoo (BaseTest ):
131+ url = "bugs.gentoo.org"
132+ bzversion = (5 , 0 )
133+ test0 = BaseTest ._testBZVersion
121134
122135
123136class BZGnome (BaseTest ):
124137 url = "https://bugzilla.gnome.org/xmlrpc.cgi"
125- bzclass = bugzilla . Bugzilla44
138+ bzversion = ( 4 , 4 )
126139 closestatus = "RESOLVED"
127140
128- test0 = BaseTest ._testBZClass
141+ test0 = BaseTest ._testBZVersion
129142 test1 = lambda s : BaseTest ._testQuery (s ,
130143 "--product dogtail --component sniff" ,
131144 9 , "321654" )
@@ -137,10 +150,10 @@ class BZGnome(BaseTest):
137150
138151class BZFDO (BaseTest ):
139152 url = "https://bugs.freedesktop.org/xmlrpc.cgi"
140- bzclass = bugzilla . Bugzilla44
153+ bzversion = ( 5 , 0 )
141154 closestatus = "CLOSED,RESOLVED"
142155
143- test0 = BaseTest ._testBZClass
156+ test0 = BaseTest ._testBZVersion
144157
145158 test1 = lambda s : BaseTest ._testQuery (s , "--product avahi" , 10 , "3450" )
146159 test2 = lambda s : BaseTest ._testQueryFull (s , "3450" , 10 , "Blocked: \n " )
@@ -158,8 +171,9 @@ class BZFDO(BaseTest):
158171class RHTest (BaseTest ):
159172 url = tests .REDHAT_URL or "https://bugzilla.redhat.com/xmlrpc.cgi"
160173 bzclass = bugzilla .RHBugzilla
174+ bzversion = (4 , 4 )
161175
162- test0 = BaseTest ._testBZClass
176+ test0 = BaseTest ._testBZVersion
163177 test1 = lambda s : BaseTest ._testInfoProducts (s , 125 ,
164178 "Virtualization Tools" )
165179 test2 = lambda s : BaseTest ._testInfoComps (s , "Virtualization Tools" ,
0 commit comments