17
from ..api import load_backends
20
packaging_info_as_data,
18
22
from ..backend import StaticBackend
19
from ..bin.main import get_all_info
20
23
from ..info_elements import PackageName
21
24
from ..project_info import DictInfo
22
25
from ..testing import TempdirFixture
94
97
tempdir = self.useFixture(TempdirFixture())
95
98
self.create_marker_file(tempdir)
96
99
all_info = get_all_info(tempdir.path, load_backends())
97
clean_info = json.loads(json.dumps(all_info))
100
clean_info = packaging_info_as_data(all_info)
98
101
output = self.run_script(tempdir.path, ['--dump'])
99
102
self.assertEqual(clean_info, json.loads(output))
100
103
self.assertThat(tempdir.abspath("debian"), Not(DirExists()))
109
112
sig_text = signature.readlines()
110
113
signature.close()
111
114
self.assertNotIn(sig_text, "-----BEGIN PGP SIGNATURE-----\n")
114
class GetAllInfoTests(TestCase):
116
def test_eligible_backends(self):
118
backend1 = StaticBackend(self.getUniqueString(), 5, info)
119
backend2 = StaticBackend(self.getUniqueString(), 10, info)
120
path = self.getUniqueString()
121
info = get_all_info(path, [backend1, backend2])
123
[{'score': 10, 'backend': backend2.name, 'reason': None},
124
{'score': 5, 'backend': backend1.name, 'reason': None}],
125
info['eligible_backends'])
127
def test_selected_backend(self):
129
backend1 = StaticBackend(self.getUniqueString(), 5, info)
130
backend2 = StaticBackend(self.getUniqueString(), 10, info)
131
path = self.getUniqueString()
132
info = get_all_info(path, [backend1, backend2])
133
self.assertEqual(backend2.name, info['selected_backend'])
135
def test_all_info(self):
136
info = {PackageName.name: self.getUniqueString()}
137
backend = StaticBackend(self.getUniqueString(), 5, DictInfo(info))
138
path = self.getUniqueString()
139
all_info = get_all_info(path, [backend])
140
del all_info['eligible_backends']
141
del all_info['selected_backend']
142
self.assertEqual(info, all_info)