Пример #1
0
 def test_version_max_returns_None_on_empty_list(self):
     self.mox.ReplayAll()
     self.assertEquals(self.apa.version_max([]), None)
     v2 = VersionAdapter(FakeVersion._create('2.0', []))
     v21 = VersionAdapter(FakeVersion._create('2.0~1', []))
     self.assertEquals(self.apa.version_max([v21]), v21)
     self.assertEquals(self.apa.version_max([v2, v21]), v2)
     self.assertEquals(self.apa.version_max([v21, v2]), v2)
	def test_version_max_returns_None_on_empty_list(self):
		self.mox.ReplayAll()
		self.assertEquals(self.apa.version_max([]), None)
		v2 = VersionAdapter(FakeVersion._create('2.0', []))
		v21 = VersionAdapter(FakeVersion._create('2.0~1', []))
		self.assertEquals(self.apa.version_max([v21]), v21)
		self.assertEquals(self.apa.version_max([v2, v21]), v2)
		self.assertEquals(self.apa.version_max([v21, v2]), v2)
Пример #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 _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
Пример #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)
	def test_version_sort(self):
		self.mox.ReplayAll()
		self.assertEquals(self.apa.version_sort([]), [])
		v1 = VersionAdapter(FakeVersion._create('1', []))
		v0 = VersionAdapter(FakeVersion._create('0', []))
		v2 = VersionAdapter(FakeVersion._create('2.0', []))
		v21 = VersionAdapter(FakeVersion._create('2.0~1', []))
		self.assertEquals(self.apa.version_sort([v21]), [v21])
		self.assertEquals(self.apa.version_sort([v1, v0, v21, v2]), [v2, v21, v1, v0])
Пример #7
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)
Пример #8
0
 def test_version_sort(self):
     self.mox.ReplayAll()
     self.assertEquals(self.apa.version_sort([]), [])
     v1 = VersionAdapter(FakeVersion._create('1', []))
     v0 = VersionAdapter(FakeVersion._create('0', []))
     v2 = VersionAdapter(FakeVersion._create('2.0', []))
     v21 = VersionAdapter(FakeVersion._create('2.0~1', []))
     self.assertEquals(self.apa.version_sort([v21]), [v21])
     self.assertEquals(self.apa.version_sort([v1, v0, v21, v2]),
                       [v2, v21, v1, v0])
Пример #9
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')
Пример #10
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')
Пример #11
0
	def set_up_package_adapter_and_replay_all(self):
		mock_depcache_adapter = self.mox.CreateMock(DepCacheAdapter)
		self.va = VersionAdapter(FakeVersion._create('1.2.4', []))
		mock_depcache_adapter.get_candidate_version(mox.Func(lambda pa: pa.name == 'afake')).AndReturn(self.va)
		self.mox.ReplayAll()

		self.p = PackageAdapterFactory(mock_depcache_adapter).create_package_adapter(self.fake)
Пример #12
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)
Пример #13
0
    def set_up_package_adapter_and_replay_all(self):
        mock_depcache_adapter = self.mox.CreateMock(DepCacheAdapter)
        self.va = VersionAdapter(FakeVersion._create('1.2.4', []))
        mock_depcache_adapter.get_candidate_version(
            mox.Func(lambda pa: pa.name == 'afake')).AndReturn(self.va)
        self.mox.ReplayAll()

        self.p = PackageAdapterFactory(
            mock_depcache_adapter).create_package_adapter(self.fake)
Пример #14
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)
Пример #15
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)
Пример #16
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)
Пример #17
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
Пример #18
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)
Пример #19
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)
 def test_analyze_version_only_in_dpkg_status_file_returns_true(self):
     v = VersionAdapter(FakeVersion._create('1.2.3', ['dpkg']))
     self.assert_(self.vchecker.analyze(v))
 def test_analyze_version_in_dpkg_status_file_and_both_official_and_unofficial_source_returns_false(
         self):
     v = VersionAdapter(
         FakeVersion._create('1.2.3', ['dpkg', 'Debian', 'NonDebian']))
     self.assert_(not self.vchecker.analyze(v))
	def test_analyze_version_in_dpkg_status_file_and_both_official_and_unofficial_source_returns_false(self):
		v = VersionAdapter(FakeVersion._create('1.2.3', ['dpkg', 'Debian', 'NonDebian']))
		self.assert_(not self.vchecker.analyze(v))
 def test_analyze_version_without_sources_returns_true(self):
     v = VersionAdapter(FakeVersion._create('1.2.3', []))
     self.assert_(self.vchecker.analyze(v))
	def test_analyze_version_without_sources_returns_true(self):
		v = VersionAdapter(FakeVersion._create('1.2.3', []))
		self.assert_(self.vchecker.analyze(v))
	def test_analyze_version_only_in_dpkg_status_file_returns_true(self):
		v = VersionAdapter(FakeVersion._create('1.2.3', ['dpkg']))
		self.assert_(self.vchecker.analyze(v))
Пример #26
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)
Пример #27
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
Пример #28
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)
Пример #29
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
	def setUpAddAVersion(self, source = 'NonDebian', version = 'blah'):
		self.fake_package.append_version(FakeVersion._create(version, [source]))
	def setUp_mangle_fake_package(self):
		self.setUpAddAVersion()
		self.fake_package.current_ver = FakeVersion('1.xx.yy')
		self.official_version = FakeVersion._create('2.3.4', ['Debian'])
		self.fake_package.append_version(self.official_version)
Пример #32
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)