16
22
from pkgme.testing import (
17
23
ControlSourceStanzaHasField,
18
24
StaticLoaderFixture,
28
def ControlHasSourceName(name):
29
control_path = os.path.join(DEBIAN_DIR, Control.filename)
32
{'content': ControlSourceStanzaHasField("Source", name)}})
23
35
class WritePackagingTests(TestCase):
25
def assert_control_has_source_name(self, name, tempdir):
26
control_path = os.path.join(
27
tempdir.path, DEBIAN_DIR, Control.filename)
28
with open(control_path) as f:
29
control_contents = f.read()
32
ControlSourceStanzaHasField("Source", name))
34
37
def make_info(self, name):
45
48
def test_write_packaging(self):
46
49
name = PackageName.clean(self.getUniqueString())
47
50
info = self.make_info(name)
48
tempdir = self.useFixture(TempdirFixture())
51
tempdir = self.useFixture(TempDir()).path
49
52
backend = StaticBackend(
50
self.getUniqueString(), 10, info, expected_path=tempdir.path)
53
self.getUniqueString(), 10, info, expected_path=tempdir)
51
54
self.useFixture(StaticLoaderFixture([backend]))
52
write_packaging(tempdir.path)
53
self.assert_control_has_source_name(name, tempdir)
55
write_packaging(tempdir)
56
self.assertThat(tempdir, ControlHasSourceName(name))
55
58
def test_write_packaging_passes_allowed_backend_names(self):
56
59
name = PackageName.clean(self.getUniqueString())
57
other_name = name+"WRONG"
60
other_name = name + "WRONG"
58
61
info1 = self.make_info(name)
59
62
info2 = self.make_info(other_name)
60
tempdir = self.useFixture(TempdirFixture())
63
tempdir = self.useFixture(TempDir()).path
61
64
backend1 = StaticBackend(
62
self.getUniqueString(), 10, info1, expected_path=tempdir.path)
65
self.getUniqueString(), 10, info1, expected_path=tempdir)
63
66
backend2 = StaticBackend(
64
67
self.getUniqueString(), 20, info2)
65
68
self.useFixture(StaticLoaderFixture(
66
69
[backend1, backend2]))
67
write_packaging(tempdir.path,
68
allowed_backend_names=[backend1.name])
69
self.assert_control_has_source_name(name, tempdir)
70
write_packaging(tempdir, allowed_backend_names=[backend1.name])
71
self.assertThat(tempdir, ControlHasSourceName(name))
74
class TestWritePackagingInformation(TestCase):
76
def test_writes_packaging(self):
77
path = self.useFixture(TempDir()).path
78
package_name = PackageName.clean(self.getUniqueString())
81
PackageName.name: package_name,
82
Maintainer.name: self.getUniqueString(),
83
Architecture.name: "all",
84
Description.name: self.getUniqueString(),
87
write_packaging_info(path, info)
88
self.assertThat(path, ControlHasSourceName(package_name))
91
class TestGetPackagingInfo(TestCase):
96
PackageName.name: PackageName.clean(self.getUniqueString()),
97
Maintainer.name: self.getUniqueString(),
98
Architecture.name: "all",
99
Description.name: self.getUniqueString(),
103
def test_get_packaging_info(self):
104
info = self.make_info()
105
tempdir = self.useFixture(TempDir()).path
106
backend = StaticBackend(
107
self.getUniqueString(), 10, info, expected_path=tempdir)
108
self.useFixture(StaticLoaderFixture([backend]))
109
found = get_packaging_info(tempdir)
110
self.assertEqual(found, info)
112
def test_allowed_backend_names(self):
113
info1 = self.make_info()
114
info2 = self.make_info()
115
tempdir = self.useFixture(TempDir()).path
116
backend1 = StaticBackend(
117
self.getUniqueString(), 10, info1, expected_path=tempdir)
118
backend2 = StaticBackend(
119
self.getUniqueString(), 20, info2)
120
self.useFixture(StaticLoaderFixture([backend1, backend2]))
121
found = get_packaging_info(
122
tempdir, allowed_backend_names=[backend1.name])
123
self.assertEqual(found, info1)