e134709505516c79b9dadaaaf218d8fd93ff67d2
[platform/upstream/libzypp-bindings.git] / swig / python / tests / repoinfo.py
1 #!/usr/bin/python
2 #
3 # Author: Jan Blunck <jblunck@suse.de>
4 #
5
6 import unittest
7 from zypp import RepoInfo, Url, UrlSet, RepoType
8 import sys
9
10 repo_urls = [ "file:/mounts/mirror/SuSE/ftp.opensuse.org/srv/ftp/pub/opensuse/debug/update/11.1/", 
11               "http://download.opensuse.org/debug/update/11.1/" ] 
12
13 class RepoInfoTestCase(unittest.TestCase):
14
15     def setUp(self):
16         self.info = RepoInfo()
17         self.info.addBaseUrl(Url(repo_urls[0]))
18         self.info.addBaseUrl(Url(repo_urls[1]))
19         self.info.setAlias("default")
20         self.info.setName("default")
21         self.info.setEnabled(True)
22         self.info.setType(RepoType.RPMMD)
23         self.info.setGpgCheck(False)
24
25     def testUrlSetIsUrlSet(self):
26         urls = UrlSet()
27         assert urls.__class__.__name__ == "UrlSet", 'Incorrect class (' + urls.__class__.__name__ + ')'
28
29     def testUrlSetAppend(self):
30         urls = UrlSet()
31         urls.append(Url(repo_urls[0]))
32         urls.append(Url(repo_urls[1]))
33         assert urls.size() == 2, 'Incorrect size ' + urls.size()
34
35     def testBaseUrlsReturnsTuple(self):
36         baseurls = self.info.baseUrls()
37         assert baseurls.__class__.__name__ == "tuple", 'Incorrect class (' + baseurls.__class__.__name__ + ')'
38
39     def testBaseUrlsIteratable(self):
40         baseurls = self.info.baseUrls()
41         for url in baseurls:
42             assert url.__str__() in repo_urls, 'Incorrect URL ' + url.__str__()
43
44     def testSetBaseUrl(self):
45         baseurls = self.info.baseUrls()
46         assert len(baseurls) == 2
47         self.info.setBaseUrl(Url(repo_urls[0]))
48         baseurls = self.info.baseUrls()
49         assert len(baseurls) == 1
50
51     def testDump(self):
52         out = self.info.dump()
53         assert len(out) == 414, 'Invalid output length %d' % len(out)
54
55     def testDumpIni(self):
56         out = self.info.dumpAsIni()
57         assert len(out) == 208, 'Invalid output length %d' % len(out)
58
59     def testDumpXML(self):
60         out = self.info.dumpAsXML()
61         assert len(out) == 253, 'Invalid output length %d' % len(out)
62
63 if __name__ == "__main__":
64     unittest.main()