1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
|
# vim: set fileencoding=utf-8 :
"""Test L{gbp.command_wrappers.Command}'s tarball unpack"""
import os
import unittest
from gbp.scripts.import_orig import (ImportOrigDebianGitRepository, GbpError)
from gbp.scripts.common.import_orig import download_orig
from . testutils import DebianGitTestRepo
class TestImportOrigGitRepository(DebianGitTestRepo):
def setUp(self):
DebianGitTestRepo.setUp(self, ImportOrigDebianGitRepository)
def test_empty_rollback(self):
self.repo.rollback()
self.assertEquals(self.repo.rollback_errors, [])
def test_rrr_delete_tag(self):
self.repo.rrr('doesnotmatter', 'delete', 'tag')
self.assertEquals(self.repo.rollbacks, [('doesnotmatter', 'tag', 'delete', None)])
self.repo.rollback()
self.assertEquals(self.repo.rollback_errors, [])
def test_rrr_delete_branch(self):
self.repo.rrr('doesnotmatter', 'delete', 'branch')
self.assertEquals(self.repo.rollbacks, [('doesnotmatter', 'branch', 'delete', None)])
self.repo.rollback()
self.assertEquals(self.repo.rollback_errors, [])
def test_rrr_unknown_action(self):
with self.assertRaisesRegexp(GbpError, "Unknown action unknown for tag doesnotmatter"):
self.repo.rrr('doesnotmatter', 'unknown', 'tag')
@unittest.skipUnless(os.getenv("GBP_NETWORK_TESTS"), "network tests disabled")
class TestImportOrigDownload(DebianGitTestRepo):
HOST = 'git.sigxcpu.org'
def setUp(self):
DebianGitTestRepo.setUp(self, ImportOrigDebianGitRepository)
os.chdir(self.repodir)
def test_404_download(self):
with self.assertRaisesRegexp(GbpError, "404 Client Error: Not Found for url"):
download_orig("https://{host}/does_not_exist".format(host=self.HOST))
def test_200_download(self):
pkg = 'hello-debhelper_2.6.orig.tar.gz'
url = "https://{host}/cgit/gbp/deb-testdata/tree/dsc-3.0/{pkg}".format(host=self.HOST,
pkg=pkg)
self.assertEqual(download_orig(url).path, '../%s' % pkg)
|