Package yadis :: Package test :: Module livediscover
[hide private]
[frames] | no frames]

Source Code for Module yadis.test.livediscover

 1  import unittest 
 2  import urllib2 
 3   
 4  from yadis.discover import discover 
 5   
6 -def parseManifest(lines):
7 cases = [] 8 for line in lines: 9 if line.startswith('#') or not line.strip(): 10 continue 11 12 # remove newline 13 assert line[-1] == '\n' 14 line = line[:-1] 15 16 # split fields 17 parts = line.split('\t') 18 assert len(parts) == 3 19 20 cases.append(tuple(parts)) 21 22 return cases
23
24 -class DiscoverTestCase(unittest.TestCase):
25 - def __init__(self, input_url, normalized_url, xrds_url):
26 unittest.TestCase.__init__(self) 27 self.input_url = input_url 28 self.normalized_url = normalized_url 29 self.xrds_url = xrds_url
30
31 - def runTest(self):
32 normalized_url, content = discover(self.input_url) 33 34 msg = 'Identity URL mismatch: actual = %r, expected = %r' % ( 35 normalized_url, self.normalized_url) 36 self.failUnlessEqual(self.normalized_url, normalized_url, msg) 37 38 resp = urllib2.urlopen(self.xrds_url) 39 expected_content = resp.read() 40 resp.close() 41 42 msg = 'XRDS content mismatch: actual = %r, expected = %r' % ( 43 content, expected_content) 44 self.failUnlessEqual(expected_content, content, msg)
45
46 - def shortDescription(self):
47 return "%s (%s)" % (self.input_url, self.__class__.__module__)
48
49 -def mkSuite(parsed):
50 test_cases = [DiscoverTestCase(*t) for t in parsed] 51 return unittest.TestSuite(test_cases)
52
53 -def mkSuiteFromURL(manifest_url):
54 req = urllib2.urlopen(manifest_url) 55 parsed = parseManifest(req) 56 return mkSuite(parsed)
57
58 -def test(url):
59 suite = mkSuiteFromURL(url) 60 runner = unittest.TextTestRunner() 61 return runner.run(suite)
62 63 if __name__ == '__main__': 64 import sys 65 test(sys.argv[1]) 66