@@ -6,6 +6,9 @@ def setup
6
6
@repo = katello_repositories ( :fedora_17_x86_64 )
7
7
end
8
8
9
+ TYPICAL_TYPES_RESPONSE =
10
+ " AND \" katello_errata\" .\" errata_type\" IN ('bugfix', 'enhancement', 'security')" . freeze
11
+
9
12
def test_erratum_by_id_returns_arel_for_specified_errata_id
10
13
erratum = katello_errata ( :security )
11
14
@repo . errata = [ erratum ]
@@ -24,7 +27,7 @@ def test_errata_by_start_date_returns_arel_for_errata_by_updated_date_and_errata
24
27
filter = id_rule . filter
25
28
filter . reload
26
29
27
- assert_equal "\" katello_errata\" .\" updated\" >= '#{ start_date } ' AND \" katello_errata \" . \" errata_type \" IN ('bugfix', 'enhancement', 'security')" ,
30
+ assert_equal "\" katello_errata\" .\" updated\" >= '#{ start_date } '" + TYPICAL_TYPES_RESPONSE ,
28
31
filter . generate_clauses ( @repo ) . to_sql
29
32
end
30
33
@@ -35,7 +38,7 @@ def test_errata_by_start_date_returns_arel_for_errata_by_issued_date_and_errata_
35
38
filter = id_rule . filter
36
39
filter . reload
37
40
38
- assert_equal "\" katello_errata\" .\" issued\" >= '#{ start_date } ' AND \" katello_errata \" . \" errata_type \" IN ('bugfix', 'enhancement', 'security')" ,
41
+ assert_equal "\" katello_errata\" .\" issued\" >= '#{ start_date } '" + TYPICAL_TYPES_RESPONSE ,
39
42
filter . generate_clauses ( @repo ) . to_sql
40
43
end
41
44
@@ -45,7 +48,7 @@ def test_errata_by_end_date_returns_arel_for_errata_by_updated_date_and_errata_t
45
48
filter = id_rule . filter
46
49
filter . reload
47
50
48
- assert_equal "\" katello_errata\" .\" updated\" <= '#{ end_date } ' AND \" katello_errata \" . \" errata_type \" IN ('bugfix', 'enhancement', 'security')" ,
51
+ assert_equal "\" katello_errata\" .\" updated\" <= '#{ end_date } '" + TYPICAL_TYPES_RESPONSE ,
49
52
filter . generate_clauses ( @repo ) . to_sql
50
53
end
51
54
@@ -56,7 +59,7 @@ def test_errata_by_end_date_returns_arel_for_errata_by_issued_date_and_errata_ty
56
59
filter = id_rule . filter
57
60
filter . reload
58
61
59
- assert_equal "\" katello_errata\" .\" issued\" <= '#{ end_date } ' AND \" katello_errata \" . \" errata_type \" IN ('bugfix', 'enhancement', 'security')" ,
62
+ assert_equal "\" katello_errata\" .\" issued\" <= '#{ end_date } '" + TYPICAL_TYPES_RESPONSE ,
60
63
filter . generate_clauses ( @repo ) . to_sql
61
64
end
62
65
@@ -69,6 +72,16 @@ def test_errata_by_type_returns_arel_by_errata_type
69
72
filter . generate_clauses ( @repo ) . to_sql
70
73
end
71
74
75
+ def test_errata_by_type_returns_arel_by_errata_type_other
76
+ id_rule = FactoryBot . create ( :katello_content_view_erratum_filter_rule , :allow_other_types => true )
77
+ id_rule . update! ( types : [ ] )
78
+ filter = id_rule . filter
79
+ filter . reload
80
+
81
+ assert_equal "\" katello_errata\" .\" errata_type\" NOT IN ('security', 'bugfix', 'recommended', 'enhancement', 'optional')" ,
82
+ filter . generate_clauses ( @repo ) . to_sql
83
+ end
84
+
72
85
def test_content_unit_pulp_ids_with_empty_errata_list_returns_empty_result
73
86
rpm1 = @repo . rpms . first
74
87
rpm2 = @repo . rpms . last
@@ -209,13 +222,16 @@ def test_content_unit_pulp_ids_by_issued_end_date_returns_pulp_hrefs
209
222
end
210
223
211
224
def test_content_unit_pulp_ids_by_errata_type
212
- rpm1 = @repo . rpms . first
213
- rpm2 = @repo . rpms . last
225
+ rpm1 = @repo . rpms [ 0 ]
226
+ rpm2 = @repo . rpms [ 1 ]
227
+ rpm3 = @repo . rpms [ 2 ]
214
228
215
229
erratum1 = Katello ::Erratum . new ( :pulp_id => "one" , :errata_id => "ERRATA1" , :errata_type => 'bugfix' )
216
230
erratum1 . packages << Katello ::ErratumPackage . new ( :filename => rpm1 . filename , :name => "e1" , :nvrea => "e1" )
217
231
erratum2 = Katello ::Erratum . new ( :pulp_id => "two" , :errata_id => "ERRATA2" , :errata_type => 'security' )
218
232
erratum2 . packages << Katello ::ErratumPackage . new ( :filename => rpm2 . filename , :name => "e2" , :nvrea => "e2" )
233
+ erratum3 = Katello ::Erratum . new ( :pulp_id => "three" , :errata_id => "ERRATA3" , :errata_type => 'not_recognized' )
234
+ erratum3 . packages << Katello ::ErratumPackage . new ( :filename => rpm3 . filename , :name => "e3" , :nvrea => "e3" )
219
235
220
236
@repo . errata = [ erratum2 ]
221
237
@repo . save!
@@ -226,5 +242,28 @@ def test_content_unit_pulp_ids_by_errata_type
226
242
227
243
assert_equal [ rpm2 . pulp_id ] , filter . content_unit_pulp_ids ( @repo )
228
244
end
245
+
246
+ def test_content_unit_pulp_ids_by_errata_type_other
247
+ rpm1 = @repo . rpms [ 0 ]
248
+ rpm2 = @repo . rpms [ 1 ]
249
+ rpm3 = @repo . rpms [ 2 ]
250
+
251
+ erratum1 = Katello ::Erratum . new ( :pulp_id => "one" , :errata_id => "ERRATA1" , :errata_type => 'bugfix' )
252
+ erratum1 . packages << Katello ::ErratumPackage . new ( :filename => rpm1 . filename , :name => "e1" , :nvrea => "e1" )
253
+ erratum2 = Katello ::Erratum . new ( :pulp_id => "two" , :errata_id => "ERRATA2" , :errata_type => 'security' )
254
+ erratum2 . packages << Katello ::ErratumPackage . new ( :filename => rpm2 . filename , :name => "e2" , :nvrea => "e2" )
255
+ erratum3 = Katello ::Erratum . new ( :pulp_id => "three" , :errata_id => "ERRATA3" , :errata_type => 'not_recognized' )
256
+ erratum3 . packages << Katello ::ErratumPackage . new ( :filename => rpm3 . filename , :name => "e3" , :nvrea => "e3" )
257
+
258
+ @repo . errata = [ erratum3 ]
259
+ @repo . save!
260
+
261
+ id_rule = FactoryBot . create ( :katello_content_view_erratum_filter_rule , :allow_other_types => true )
262
+ id_rule . update! ( types : [ ] )
263
+ filter = id_rule . filter
264
+ filter . reload
265
+
266
+ assert_equal [ rpm3 . pulp_id ] , filter . content_unit_pulp_ids ( @repo )
267
+ end
229
268
end
230
269
end
0 commit comments