1# -*- coding: utf-8 -*-
2
3
4from __future__ import absolute_import
5from __future__ import unicode_literals
6
7import dnf
8
9from .common import TestCase
10
11
12class DnfPackageApiTest(TestCase):
13    def setUp(self):
14        self.base = dnf.Base(dnf.conf.Conf())
15        self.package = self._get_pkg()
16
17    def tearDown(self):
18        self.base.close()
19
20    def test_arch(self):
21        # Package.arch
22        self.assertHasAttr(self.package, "arch")
23        self.assertHasType(self.package.arch, str)
24
25    def test_baseurl(self):
26        # Package.baseurl
27        self.assertHasAttr(self.package, "baseurl")
28        # The value is missing here so the type is type(None) but it should be str
29        # self.assertHasType(self.package.baseurl, str)
30        self.package.baseurl
31
32    def test_buildtime(self):
33        # Package.buildtime
34        self.assertHasAttr(self.package, "buildtime")
35        self.assertHasType(self.package.buildtime, int)
36
37    def test_chksum(self):
38        # Package.chksum()
39        self.assertHasAttr(self.package, "chksum")
40        # The value is missing here so the type is type(None) but it should be str
41        # self.assertHasType(self.package.chksum, str)
42        self.package.chksum
43
44    def test_conflicts(self):
45        # Package.conflicts()
46        self.assertHasAttr(self.package, "conflicts")
47        self.assertHasType(self.package.conflicts, list)
48
49    def test_debug_name(self):
50        # Package.debug_name
51        self.assertHasAttr(self.package, "debug_name")
52        self.assertHasType(self.package.debug_name, str)
53
54    def test_description(self):
55        # Package.description
56        self.assertHasAttr(self.package, "description")
57        self.assertHasType(self.package.description, str)
58
59    def test_downloadsize(self):
60        # Package.downloadsize
61        self.assertHasAttr(self.package, "downloadsize")
62        self.assertHasType(self.package.downloadsize, int)
63
64    def test_epoch(self):
65        # Package.epoch
66        self.assertHasAttr(self.package, "epoch")
67        self.assertHasType(self.package.epoch, int)
68
69    def test_enhances(self):
70        # Package.enhances
71        self.assertHasAttr(self.package, "enhances")
72        self.assertHasType(self.package.enhances, list)
73
74    def test_evr(self):
75        # Package.evr
76        self.assertHasAttr(self.package, "evr")
77        self.assertHasType(self.package.evr, str)
78
79    def test_files(self):
80        # Package.files
81        self.assertHasAttr(self.package, "files")
82        self.assertHasType(self.package.files, list)
83
84    def test_group(self):
85        # Package.group
86        self.assertHasAttr(self.package, "group")
87        self.assertHasType(self.package.group, str)
88
89    def test_hdr_chksum(self):
90        # Package.hdr_chksum
91        self.assertHasAttr(self.package, "hdr_chksum")
92        # The value is missing here so the type is type(None) but it should be str
93        # self.assertHasType(self.package.hdr_chksum, str)
94        self.package.hdr_chksum
95
96    def test_hdr_end(self):
97        # Package.hdr_end
98        self.assertHasAttr(self.package, "hdr_end")
99        self.assertHasType(self.package.hdr_end, int)
100
101    def test_changelogs(self):
102        # Package.changelogs
103        self.assertHasAttr(self.package, "changelogs")
104        self.assertHasType(self.package.changelogs, list)
105
106    def test_installed(self):
107        # Package.installed
108        self.assertHasAttr(self.package, "installed")
109        self.assertHasType(self.package.installed, bool)
110
111    def test_installtime(self):
112        # Package.installtime
113        self.assertHasAttr(self.package, "installtime")
114        self.assertHasType(self.package.installtime, int)
115
116    def test_installsize(self):
117        # Package.installsize
118        self.assertHasAttr(self.package, "installsize")
119        self.assertHasType(self.package.installsize, int)
120
121    def test_license(self):
122        # Package.license
123        self.assertHasAttr(self.package, "license")
124        self.assertHasType(self.package.license, str)
125
126    def test_medianr(self):
127        # Package.medianr
128        self.assertHasAttr(self.package, "medianr")
129        self.assertHasType(self.package.medianr, int)
130
131    def test_name(self):
132        # Package.name
133        self.assertHasAttr(self.package, "name")
134        self.assertHasType(self.package.name, str)
135
136    def test_vendor(self):
137        # Package.vendor
138        self.assertHasAttr(self.package, "vendor")
139        self.assertHasType(self.package.vendor, str)
140
141    def test_obsoletes(self):
142        # Package.obsoletes
143        self.assertHasAttr(self.package, "obsoletes")
144        self.assertHasType(self.package.obsoletes, list)
145
146    def test_provides(self):
147        # Package.provides
148        self.assertHasAttr(self.package, "provides")
149        self.assertHasType(self.package.provides, list)
150
151    def test_recommends(self):
152        # Package.recommends
153        self.assertHasAttr(self.package, "recommends")
154        self.assertHasType(self.package.recommends, list)
155
156    def test_release(self):
157        # Package.release
158        self.assertHasAttr(self.package, "release")
159        self.assertHasType(self.package.release, str)
160
161    def test_reponame(self):
162        # Package.reponame
163        self.assertHasAttr(self.package, "reponame")
164        self.assertHasType(self.package.reponame, str)
165
166    def test_from_repo(self):
167        # Package.reponame
168        self.assertHasAttr(self.package, "from_repo")
169        self.assertHasType(self.package.from_repo, str)
170
171    def test_requires(self):
172        # Package.requires
173        self.assertHasAttr(self.package, "requires")
174        self.assertHasType(self.package.requires, list)
175
176    def test_requires_pre(self):
177        # Package.requires_pre
178        self.assertHasAttr(self.package, "requires_pre")
179        self.assertHasType(self.package.requires_pre, list)
180
181    def test_regular_requires(self):
182        # Package.regular_requires
183        self.assertHasAttr(self.package, "regular_requires")
184        self.assertHasType(self.package.regular_requires, list)
185
186    def test_prereq_ignoreinst(self):
187        # Package.prereq_ignoreinst
188        self.assertHasAttr(self.package, "prereq_ignoreinst")
189        self.assertHasType(self.package.prereq_ignoreinst, list)
190
191    def test_rpmdbid(self):
192        # Package.rpmdbid
193        self.assertHasAttr(self.package, "rpmdbid")
194        self.assertHasType(self.package.rpmdbid, int)
195
196    def test_source_debug_name(self):
197        # Package.source_debug_name
198        self.assertHasAttr(self.package, "source_debug_name")
199        self.assertHasType(self.package.source_debug_name, str)
200
201    def test_source_name(self):
202        # Package.source_name
203        self.assertHasAttr(self.package, "source_name")
204        self.assertHasType(self.package.source_name, str)
205
206    def test_debugsource_name(self):
207        # Package.debugsource_name
208        self.assertHasAttr(self.package, "debugsource_name")
209        self.assertHasType(self.package.debugsource_name, str)
210
211    def test_sourcerpm(self):
212        # Package.sourcerpm
213        self.assertHasAttr(self.package, "sourcerpm")
214        self.assertHasType(self.package.sourcerpm, str)
215
216    def test_suggests(self):
217        # Package.suggests
218        self.assertHasAttr(self.package, "suggests")
219        self.assertHasType(self.package.suggests, list)
220
221    def test_summary(self):
222        # Package.summary
223        self.assertHasAttr(self.package, "summary")
224        self.assertHasType(self.package.summary, str)
225
226    def test_supplements(self):
227        # Package.supplements
228        self.assertHasAttr(self.package, "supplements")
229        self.assertHasType(self.package.supplements, list)
230
231    def test_url(self):
232        # Package.url
233        self.assertHasAttr(self.package, "url")
234        # The value is missing here so the type is type(None) but it should be str
235        # self.assertHasType(self.package.url, str)
236        self.package.url
237
238    def test_version(self):
239        # Package.version
240        self.assertHasAttr(self.package, "version")
241        self.assertHasType(self.package.version, str)
242
243    def test_packager(self):
244        # Package.packager
245        self.assertHasAttr(self.package, "packager")
246        # The value is missing here so the type is type(None) but it should be str
247        # self.assertHasType(self.package.packager, str)
248        self.package.packager
249
250    def test_remote_location(self):
251        # Package.remote_location
252        self.assertHasAttr(self.package, "remote_location")
253        self.package.remote_location(schemes='http')
254
255    def test_debuginfo_suffix(self):
256        # Package.DEBUGINFO_SUFFIX
257        self.assertHasAttr(self.package, "DEBUGINFO_SUFFIX")
258        self.assertHasType(self.package.DEBUGINFO_SUFFIX, str)
259
260    def test_debugsource_suffix(self):
261        # Package.DEBUGSOURCE_SUFFIX
262        self.assertHasAttr(self.package, "DEBUGSOURCE_SUFFIX")
263        self.assertHasType(self.package.DEBUGSOURCE_SUFFIX, str)
264
265