def test_parse_repo(self): repo = parse_repo(self.new_repo_dir, self.current_repo_dir, codename='stable') self.assertEqual(repo.repo_name, 'stable') self.assertEqual(repo.metadata.architectures, ['i386', 'amd64']) self.assertEqual(repo.metadata.release['label'], self.repo_name) self.assertEqual(repo.metadata.release['description'], self.repo_description) comp_arch_bin = repo.metadata.get_component_arch_binary( 'main', 'amd64') self.assertEqual( [self.repo_packages['pool/main/f/foo/foo_0.0.1-1_amd64.deb']], list(comp_arch_bin.iter_packages())) # Make sure we have a Packages file pkgs_file = os.path.join(self.new_repo_dir, 'dists', 'stable', 'main', 'binary-amd64', 'Packages') self.assertTrue(os.path.exists(pkgs_file)) stobj = os.stat(pkgs_file) sz = stobj.st_size inode = stobj.st_ino # Make sure we removed the .gz we have created self.assertFalse(os.path.exists(pkgs_file + '.gz')) # Make sure we can correctly write packages back comp_arch_bin.write_packages( self.new_repo_dir, repo.metadata.release_dir(self.new_repo_dir)) self.assertEqual(sz - 1, os.stat(pkgs_file).st_size) self.assertNotEqual(inode, os.stat(pkgs_file).st_ino)
def test_parse_remote_updates_repo(self): expected = u'Debian X Security Updates' url = "http://security.debian.org/debian-security" repo = parse_repo(self.new_repo_dir, url, codename='buster/updates') desc = repo.metadata.release['Description'] self.assertEqual(expected, desc)
def test_parse_remote_repo(self): expected = u'Debian 3.1r8 Released 12th April 2008' url = "http://archive.debian.org/debian" repo = parse_repo(self.new_repo_dir, url, codename='sarge') desc = repo.metadata.release['Description'] self.assertEqual(expected, desc)
def test_repo_parse(self, _parse): upstream = base.mock.MagicMock() parse_repo(self.new_repo_dir, upstream, codename='stable') _parse.assert_called_once_with(self.new_repo_dir, upstream, codename='stable')