@@ -24,9 +24,122 @@ class TestAdvisory(base_test_case.BaseTestCase):
24
24
def setUp (self ):
25
25
super ().setUp ()
26
26
self .add_repo_repomd ("repomd-repo1" )
27
-
28
- def test_get_name (self ):
29
27
query = libdnf5 .advisory .AdvisoryQuery (self .base )
30
28
query .filter_type ("security" )
31
- pkg = next (iter (query ))
32
- self .assertEqual (pkg .get_name (), "DNF-2019-1" )
29
+ self .advisory = next (iter (query ))
30
+
31
+ def test_advisory_query (self ):
32
+ query = libdnf5 .advisory .AdvisoryQuery (self .base )
33
+ query .filter_name ("DNF-2019-1" )
34
+ self .assertEqual (query .size (), 1 )
35
+ advisory = next (iter (query ))
36
+ self .assertEqual (advisory .get_name (), "DNF-2019-1" )
37
+
38
+ query = libdnf5 .advisory .AdvisoryQuery (self .base )
39
+ query .filter_type ("bugfix" )
40
+ self .assertEqual (query .size (), 2 )
41
+ advisory = next (iter (query ))
42
+ self .assertEqual (advisory .get_type (), "bugfix" )
43
+
44
+ query = libdnf5 .advisory .AdvisoryQuery (self .base )
45
+ query .filter_reference ("1111" )
46
+ self .assertEqual (query .size (), 1 )
47
+ advisory = next (iter (query ))
48
+ refs = advisory .get_references ()
49
+ self .assertEqual (len (refs ), 1 )
50
+ self .assertEqual (refs [0 ].get_id (), "1111" )
51
+
52
+ query = libdnf5 .advisory .AdvisoryQuery (self .base )
53
+ query .filter_severity ("moderate" )
54
+ self .assertEqual (query .size (), 1 )
55
+ advisory = next (iter (query ))
56
+ self .assertEqual (advisory .get_severity (), "moderate" )
57
+
58
+ query = libdnf5 .advisory .AdvisoryQuery (self .base )
59
+ pkgquery = libdnf5 .rpm .PackageQuery (self .base )
60
+ query .filter_packages (pkgquery )
61
+ self .assertEqual (query .size (), 1 )
62
+ advisory = next (iter (query ))
63
+ self .assertEqual (advisory .get_name (), "DNF-2019-1" )
64
+
65
+ query = libdnf5 .advisory .AdvisoryQuery (self .base )
66
+ pkgquery = libdnf5 .rpm .PackageQuery (self .base )
67
+ pkgs = query .get_advisory_packages_sorted (pkgquery )
68
+ self .assertEqual (pkgs .size (), 1 )
69
+ self .assertEqual (pkgs [0 ].get_nevra (), "pkg-1.2-3.x86_64" )
70
+
71
+ def test_advisory (self ):
72
+ self .assertEqual (self .advisory .get_name (), "DNF-2019-1" )
73
+ self .assertEqual (self .advisory .get_severity (), "moderate" )
74
+ self .assertEqual (self .advisory .get_type (), "security" )
75
+ self .assertEqual (self .advisory .get_buildtime (), 1550849401 )
76
+ self .
assertEqual (
self .
advisory .
get_vendor (),
"[email protected] " )
77
+ self .assertEqual (self .advisory .get_description (),
78
+ "testing advisory 2019" )
79
+ self .assertEqual (self .advisory .get_title (), "bugfix_A-1.0-1" )
80
+ self .assertEqual (self .advisory .get_status (), "stable" )
81
+ self .assertEqual (self .advisory .get_rights (), "" )
82
+ self .assertEqual (self .advisory .get_message (), "" )
83
+ self .assertEqual (self .advisory .is_applicable (), True )
84
+
85
+ def test_references (self ):
86
+ refs = self .advisory .get_references ()
87
+ self .assertEqual (len (refs ), 1 )
88
+ reference = refs [0 ]
89
+ self .assertEqual (reference .get_id (), "1111" )
90
+ self .assertEqual (reference .get_type (), "cve" )
91
+ self .assertEqual (reference .get_title (), "CVE-2999" )
92
+ self .assertEqual (reference .get_url (), "https://foobar/foobarupdate_2" )
93
+
94
+ def test_collections (self ):
95
+ cols = self .advisory .get_collections ()
96
+ self .assertEqual (len (cols ), 1 )
97
+ collection = cols [0 ]
98
+ self .assertEqual (collection .get_advisory_id (), self .advisory .get_id ())
99
+ self .assertEqual (collection .get_advisory (), self .advisory )
100
+ self .assertEqual (collection .is_applicable (), True )
101
+
102
+ def test_advisory_packages (self ):
103
+ collection = self .advisory .get_collections ()[0 ]
104
+ adv_packages = collection .get_packages ()
105
+ self .assertEqual (len (adv_packages ), 2 )
106
+ adv_package = adv_packages [0 ]
107
+
108
+ self .assertEqual (adv_package .get_advisory_id (), self .advisory .get_id ())
109
+ self .assertEqual (adv_package .get_advisory (), self .advisory )
110
+ # We can't compare the collections directly because adv_package constructs
111
+ # a new instance of the same collection
112
+ self .assertEqual (adv_package .get_advisory_collection (
113
+ ).get_advisory_id (), self .advisory .get_id ())
114
+
115
+ self .assertEqual (adv_package .get_name (), "pkg" )
116
+ self .assertEqual (adv_package .get_epoch (), "0" )
117
+ self .assertEqual (adv_package .get_version (), "1.2" )
118
+ self .assertEqual (adv_package .get_release (), "3" )
119
+ self .assertEqual (adv_package .get_evr (), "1.2-3" )
120
+ self .assertEqual (adv_package .get_arch (), "x86_64" )
121
+ self .assertEqual (adv_package .get_nevra (), "pkg-1.2-3.x86_64" )
122
+
123
+ self .assertEqual (adv_package .get_reboot_suggested (), True )
124
+ self .assertEqual (adv_package .get_restart_suggested (), False )
125
+ self .assertEqual (adv_package .get_relogin_suggested (), False )
126
+
127
+ def test_advisory_modules (self ):
128
+ collection = self .advisory .get_collections ()[0 ]
129
+ adv_modules = collection .get_modules ()
130
+ self .assertEqual (len (adv_modules ), 2 )
131
+ adv_module = adv_modules [0 ]
132
+
133
+ self .assertEqual (adv_module .get_advisory_id (), self .advisory .get_id ())
134
+ self .assertEqual (adv_module .get_advisory (), self .advisory )
135
+ # We can't compare the collections directly because adv_module constructs
136
+ # a new instance of the same collection
137
+ self .assertEqual (adv_module .get_advisory_collection (
138
+ ).get_advisory_id (), self .advisory .get_id ())
139
+
140
+ self .assertEqual (adv_module .get_name (), "perl-DBI" )
141
+ self .assertEqual (adv_module .get_stream (), "master" )
142
+ self .assertEqual (adv_module .get_version (), "2" )
143
+ self .assertEqual (adv_module .get_context (), "2a" )
144
+ self .assertEqual (adv_module .get_arch (), "x86_64" )
145
+ self .assertEqual (adv_module .get_nsvca (), "perl-DBI:master:2:2a:x86_64" )
0 commit comments