1 import unittest
2 import urllib2
3
4 from yadis.discover import discover
5
7 cases = []
8 for line in lines:
9 if line.startswith('#') or not line.strip():
10 continue
11
12
13 assert line[-1] == '\n'
14 line = line[:-1]
15
16
17 parts = line.split('\t')
18 assert len(parts) == 3
19
20 cases.append(tuple(parts))
21
22 return cases
23
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
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
47 return "%s (%s)" % (self.input_url, self.__class__.__module__)
48
50 test_cases = [DiscoverTestCase(*t) for t in parsed]
51 return unittest.TestSuite(test_cases)
52
57
62
63 if __name__ == '__main__':
64 import sys
65 test(sys.argv[1])
66