9
9
from mock import Mock
11
from testutils import get_mock_options, setup_test_env
11
from testutils import FakedCache, get_mock_options, setup_test_env
14
14
import softwarecenter.paths
17
17
from softwarecenter.ui.gtk3 import app
20
class FakedCache(dict):
23
def __init__(self, *a, **kw):
24
super(FakedCache, self).__init__()
25
self._callbacks = defaultdict(list)
29
"""Open this cache."""
32
def connect(self, signal, callback):
33
"""Connect a signal with a callback."""
34
self._callbacks[signal].append(callback)
36
def disconnect_by_func(self, callback):
37
"""Disconnect 'callback' from every signal."""
38
for signal, cb in self._callbacks.iteritems():
40
self._callbacks[signal].remove(callback)
41
if len(self._callbacks[signal]) == 0:
42
self._callbacks.pop(signal)
44
def get_addons(self, pkgname):
45
"""Return (recommended, suggested) addons for 'pkgname'."""
48
def get_total_size_on_install(self,pkgname, addons_to_install,
49
addons_to_remove, archive_suite):
50
"""Return a fake (total_download_size, total_install_size) result."""
54
20
class ParsePackagesArgsTestCase(unittest.TestCase):
55
21
"""Test suite for the parse_packages_args helper."""