14
14
import softwarecenter.paths
15
from softwarecenter.db import DebFileApplication, DebFileOpenError
16
16
from softwarecenter.enums import PkgStates, SearchSeparators
17
17
from softwarecenter.ui.gtk3 import app
90
90
"""Pass several items, show the 'available' view."""
91
91
self.do_check(apps=(self.pkg_name, 'firefox', 'software-center'))
94
class ParsePackageArgsAsFileTestCase(unittest.TestCase):
93
96
def test_item_is_a_file(self):
94
97
"""Pass an item that is an existing file."""
98
# pass a real deb here
99
fname = os.path.join(os.path.dirname(os.path.abspath(__file__)),
100
"..", "data", "test_debs", "gdebi-test1.deb")
101
assert os.path.exists(fname)
102
# test once as string and as list
103
for items in ( fname, [fname] ):
104
search_text, result_app = app.parse_packages_args(fname)
105
self.assertIsInstance(result_app, DebFileApplication)
107
def test_item_is_invalid_file(self):
108
""" Pass an invalid file item """
96
110
assert os.path.exists(fname)
97
self.do_check(apps=(os.path.abspath(fname),), items=(fname,))
111
self.assertRaises(DebFileOpenError, app.parse_packages_args, fname)
100
114
class ParsePackagesWithAptPrefixTestCase(ParsePackagesArgsTestCase):
339
353
if __name__ == "__main__":
354
# avoid spawning recommender-agent, reviews, software-center-agent etc,
356
os.environ["SOFTWARE_CENTER_DISABLE_SPAWN_HELPER"] = "1"