コード例 #1
0
	def test_aborts_on_package_without_current_version(self):
		"""CacheAdapter should not pass such objects to us. It's better to know
		in such cases. If there will ever be a need to support this, it can be
		changed."""
		self.fp.append_version(FakeVersion._create('1.2.3', ['Debian']), True)
		pa = PackageAdapter(self.fp)
		pa.candidate_version = pa.current_version
		pa.current_version = None
		self.assertRaises(ValueError, self.checker.check, pa)
コード例 #2
0
    def test_aborts_on_package_without_current_version(self):
        """CacheAdapter should not pass such objects to us. It's better to know
		in such cases. If there will ever be a need to support this, it can be
		changed."""
        self.fp.append_version(FakeVersion._create('1.2.3', ['Debian']), True)
        pa = PackageAdapter(self.fp)
        pa.candidate_version = pa.current_version
        pa.current_version = None
        self.assertRaises(ValueError, self.checker.check, pa)
コード例 #3
0
	def test_returns_none_in_common_case(self):
		"""Common case means: package with identical, officially-available
		current and candidate versions, which is also the newest available
		version."""
		self.fp.append_version(FakeVersion._create('1.2.3', ['Debian']), True)
		self.fp.append_version(FakeVersion._create('1.2.2', ['Debian']))
		pa = PackageAdapter(self.fp)
		pa.candidate_version = pa.current_version
		self.assertEquals(self.checker.check(pa), None)
コード例 #4
0
    def test_returns_none_in_common_case(self):
        """Common case means: package with identical, officially-available
		current and candidate versions, which is also the newest available
		version."""
        self.fp.append_version(FakeVersion._create('1.2.3', ['Debian']), True)
        self.fp.append_version(FakeVersion._create('1.2.2', ['Debian']))
        pa = PackageAdapter(self.fp)
        pa.candidate_version = pa.current_version
        self.assertEquals(self.checker.check(pa), None)
コード例 #5
0
 def test_returns_none_in_common_case_when_all_versions_available_additionally_from_unofficial_source(
         self):
     self.fp.append_version(
         FakeVersion._create('1.2.3', ['Debian', 'UnOfficial']), True)
     self.fp.append_version(
         FakeVersion._create('1.2.2', ['Debian', 'UnOfficial']))
     pa = PackageAdapter(self.fp)
     pa.candidate_version = pa.current_version
     self.assertEquals(self.checker.check(pa), None)
コード例 #6
0
 def _prepare_package_with_candidate_from_official_source_and_current_from_unofficial(
         self):
     self.fp.append_version(FakeVersion._create('1.2.2', ['NotDebian']),
                            True)
     self.fp.append_version(FakeVersion._create('1.2.3', ['Debian']))
     pa = PackageAdapter(self.fp)
     pa.candidate_version = VersionAdapter(
         FakeVersion._create('1.2.3', ['Debian']))
     return pa
コード例 #7
0
	def test_returns_a_status_object_on_package_with_candidate_from_unofficial_source(self):
		self.fp.append_version(FakeVersion._create('1.2.3', ['Unofficial']), True)
		self.fp.append_version(FakeVersion._create('1.2', ['Debian']))
		pa = PackageAdapter(self.fp)
		pa.candidate_version = VersionAdapter(FakeVersion._create('1.2.5', ['NonDebian']))
		status = self.checker.check(pa)
		self.assert_(status != None)
		self.assertEquals(status.package_name, 'afake')
		self.assertEquals(status.installed_version.string, '1.2.3')
		self.assertEquals(status.candidate_version.string, '1.2.5')
コード例 #8
0
	def test_does_not_abort_and_returns_a_status_object_on_package_without_candidate_version(self):
		"""Because a candidate version is always reported by apt in normal
		situations, even when the only known version is installed and not
		available anywhere else. One case where no candidate version is
		reported is when there is a pin which cannot be met."""
		self.fp.append_version(FakeVersion._create('1.2.3', ['Debian']), True)
		pa = PackageAdapter(self.fp)
		pa.candidate_version = None
		status = self.checker.check(pa)
		self.assert_(status != None)
コード例 #9
0
	def setUp(self):
		super(TestBasePackageAdapter, self).setUp()
		self.fake_package = FakePackage()
		self.setUp_mangle_fake_package()
		self.pa = PackageAdapter(self.fake_package)
		self.setUp_mangle_package_adapter()
		self.facter = self._create_mock_facter('Debian')
		self.apt_pkg_adapter = AptPkgAdapter(self._create_mock_apt_pkg_module())
		self.apt_pkg_adapter.init()
		self.status = self.pa.get_status(self.facter)
コード例 #10
0
    def test_does_not_abort_and_returns_a_status_object_on_package_without_candidate_version(
            self):
        """Because a candidate version is always reported by apt in normal
		situations, even when the only known version is installed and not
		available anywhere else. One case where no candidate version is
		reported is when there is a pin which cannot be met."""
        self.fp.append_version(FakeVersion._create('1.2.3', ['Debian']), True)
        pa = PackageAdapter(self.fp)
        pa.candidate_version = None
        status = self.checker.check(pa)
        self.assert_(status != None)
コード例 #11
0
 def test_returns_a_status_object_on_package_with_candidate_from_unofficial_source(
         self):
     self.fp.append_version(FakeVersion._create('1.2.3', ['Unofficial']),
                            True)
     self.fp.append_version(FakeVersion._create('1.2', ['Debian']))
     pa = PackageAdapter(self.fp)
     pa.candidate_version = VersionAdapter(
         FakeVersion._create('1.2.5', ['NonDebian']))
     status = self.checker.check(pa)
     self.assert_(status != None)
     self.assertEquals(status.package_name, 'afake')
     self.assertEquals(status.installed_version.string, '1.2.3')
     self.assertEquals(status.candidate_version.string, '1.2.5')
コード例 #12
0
 def setUp(self):
     super(TestDepCacheAdapter, self).setUp()
     self.mock_depcache = self.mox.CreateMock(apt_pkg.DepCache)
     self.a_fake_package = FakePackage()
     self.package_adapter = PackageAdapter(self.a_fake_package)
     self.dca = DepCacheAdapterFactory().create_depcache_adapter(
         self.mock_depcache)
コード例 #13
0
class TestBasePackageAdapter(test_helper.MoxTestCase):
	def setUp(self):
		super(TestBasePackageAdapter, self).setUp()
		self.fake_package = FakePackage()
		self.setUp_mangle_fake_package()
		self.pa = PackageAdapter(self.fake_package)
		self.setUp_mangle_package_adapter()
		self.facter = self._create_mock_facter('Debian')
		self.apt_pkg_adapter = AptPkgAdapter(self._create_mock_apt_pkg_module())
		self.apt_pkg_adapter.init()
		self.status = self.pa.get_status(self.facter)
	def setUp_mangle_fake_package(self):
		pass
	def setUp_mangle_package_adapter(self):
		pass
	def testProperties(self):
		self.assertEquals(self.pa.name, 'afake')
		self.assertEquals(self.pa.apt_package, self.fake_package)
	def testLenOfVersionsNonNegative(self):
		self.assert_(self.pa.versions >= 0)
	def testBasicStringificationWorks(self):
		self.assertContains(str(self.pa), 'PackageAdapter')
	def setUpAddAVersion(self, source = 'NonDebian', version = 'blah'):
		self.fake_package.append_version(FakeVersion._create(version, [source]))
	def test_get_status_returns_an_object(self):
		self.assert_(self.status)
		self.assertEquals(self.status.package_name, 'afake')
		self.assertEquals(self.status.installed_version, self.pa.current_version)
		self.assertEquals(self.status.candidate_version, self.pa.candidate_version)
		self.assert_(len(self.status.versions_by_origin) >= 0)
コード例 #14
0
 def set_up_package_adapter_and_replay_all(self):
     self.mox.ReplayAll()
     self.p = PackageAdapter(self.fake)
コード例 #15
0
	def _prepare_package_with_candidate_different_from_current(self):
		self.fp.append_version(FakeVersion._create('1.2.3', ['Debian']), True)
		pa = PackageAdapter(self.fp)
		pa.candidate_version = VersionAdapter((FakeVersion._create('1.2.4', ['Debian'])))
		return pa
コード例 #16
0
	def _prepare_package_with_candidate_from_official_source_and_current_from_unofficial(self):
		self.fp.append_version(FakeVersion._create('1.2.2', ['NotDebian']), True)
		self.fp.append_version(FakeVersion._create('1.2.3', ['Debian']))
		pa = PackageAdapter(self.fp)
		pa.candidate_version = VersionAdapter(FakeVersion._create('1.2.3', ['Debian']))
		return pa
コード例 #17
0
	def test_returns_a_status_object_on_package_with_same_current_and_candidate_both_only_locally(self):
		self.fp.current_ver = FakeVersion._create('1.2.3', ['dpkg'])
		pa = PackageAdapter(self.fp)
		pa.candidate_version = pa.current_version
		self.assert_(self.checker.check(pa) != None)
コード例 #18
0
	def test_returns_none_in_common_case_when_all_versions_available_additionally_from_unofficial_source(self):
		self.fp.append_version(FakeVersion._create('1.2.3', ['Debian', 'UnOfficial']), True)
		self.fp.append_version(FakeVersion._create('1.2.2', ['Debian', 'UnOfficial']))
		pa = PackageAdapter(self.fp)
		pa.candidate_version = pa.current_version
		self.assertEquals(self.checker.check(pa), None)
コード例 #19
0
 def test_aborts_on_package_without_versions(self):
     pa = PackageAdapter(self.fp)
     self.assertRaises(ValueError, self.checker.check, pa)
コード例 #20
0
 def _prepare_package_with_candidate_different_from_current(self):
     self.fp.append_version(FakeVersion._create('1.2.3', ['Debian']), True)
     pa = PackageAdapter(self.fp)
     pa.candidate_version = VersionAdapter(
         (FakeVersion._create('1.2.4', ['Debian'])))
     return pa
コード例 #21
0
 def test_returns_a_status_object_on_package_with_same_current_and_candidate_both_only_locally(
         self):
     self.fp.current_ver = FakeVersion._create('1.2.3', ['dpkg'])
     pa = PackageAdapter(self.fp)
     pa.candidate_version = pa.current_version
     self.assert_(self.checker.check(pa) != None)
コード例 #22
0
 def test_package_without_candidate_version_and_current_unofficial(self):
     self.fp.current_ver = FakeVersion._create('1.2.2', ['NotDebian'])
     pa = PackageAdapter(self.fp)
     pa.candidate_version = None
     status = self.checker.check(pa)
     self.assert_(status != None)
コード例 #23
0
	def test_package_without_candidate_version_and_current_unofficial(self):
		self.fp.current_ver = FakeVersion._create('1.2.2', ['NotDebian'])
		pa = PackageAdapter(self.fp)
		pa.candidate_version = None
		status = self.checker.check(pa)
		self.assert_(status != None)