Files
pisi/tests/database/repodbtest.py
T
Fatih Aşıcı 1593858786 tests: Lots of fixes
Thanks to the great work done by Gökhan Göktürk.
2010-07-11 08:45:48 +00:00

65 lines
2.5 KiB
Python

# -*- coding: utf-8 -*-
#
# Copyright (C) 2007-2010, TUBITAK/UEKAE
#
# This program is free software; you can redistribute it and/or modify it under
# the terms of the GNU General Public License as published by the Free
# Software Foundation; either version 2 of the License, or (at your option)
# any later version.
#
# Please read the COPYING file.
#
import testcase
import pisi
class RepoDBTestCase(testcase.TestCase):
def setUp(self):
testcase.TestCase.setUp(self)
self.repodb = pisi.db.repodb.RepoDB()
def testAddRemoveRepo(self):
assert "contrib-2007-src" not in self.repodb.list_repos()
repo = pisi.db.repodb.Repo(pisi.uri.URI("repos/contrib-2007/pisi-index.xml.bz2"))
self.repodb.add_repo("contrib-2007-src", repo)
assert "contrib-2007-src" in self.repodb.list_repos()
self.repodb.remove_repo("contrib-2007-src")
assert "contrib-2007" in self.repodb.list_repos()
assert "pardus-2007" in self.repodb.list_repos()
assert "contrib-2007-src" not in self.repodb.list_repos()
def testAddRemoveCycle(self):
for r in range(30):
assert "test-repo" not in self.repodb.list_repos()
repo = pisi.db.repodb.Repo(pisi.uri.URI("http://test-repo/pisi-index.xml.bz2"))
self.repodb.add_repo("test-repo", repo)
assert "test-repo" in self.repodb.list_repos()
self.repodb.remove_repo("test-repo")
assert "test-repo" not in self.repodb.list_repos()
def testListRepos(self):
assert set(self.repodb.list_repos()) == set(['pardus-2007', 'contrib-2007', 'pardus-2007-src'])
def testGetSourceRepos(self):
assert set(self.repodb.get_source_repos()) == set(['pardus-2007-src'])
def testGetBinaryRepos(self):
assert set(self.repodb.get_binary_repos()) == set(['pardus-2007', 'contrib-2007'])
def testGetRepo(self):
repo = self.repodb.get_repo("pardus-2007")
uri = repo.indexuri
assert uri.get_uri() == "repos/pardus-2007-bin/pisi-index.xml.bz2"
def testRepoOrder(self):
repoorder = pisi.db.repodb.RepoOrder()
assert repoorder.get_order() == ['pardus-2007', 'contrib-2007', 'pardus-2007-src']
repoorder.add("test-repo", "http://test-repo/pisi-index.xml.bz2")
assert repoorder.get_order() == ['pardus-2007', 'contrib-2007', 'pardus-2007-src', 'test-repo']
repoorder.remove("test-repo")
assert repoorder.get_order() == ['pardus-2007', 'contrib-2007', 'pardus-2007-src']