foreman_openscap 9.0.4 → 9.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: db9d5beb1a4f3e676150bd6c7982feccee708f920dd68cb422b0736824a10cee
4
- data.tar.gz: cb3c657f011aac5d73fc6595a5b9abed49033928223a53974c20f69cd8f97eed
3
+ metadata.gz: '067348f069de3a505ff49bf8bddfb32ac0119374646235e546e4142442312fbc'
4
+ data.tar.gz: 5e4a33a0523ce68282648384180523e45b091eb8b4ef9a043fa3b13469d6b59f
5
5
  SHA512:
6
- metadata.gz: 4a7f09d5b4102cb8d1b95b2ed9e6b2005b84e5a28a9896411be2655bc073d5f4cb59b55096a42072e3450e685753534bdf0afcf7a91f4f567e412269092593a5
7
- data.tar.gz: 9fddaa152d91a99f7efaa986ffdaf64926c56378f170ea2a82213648c10c163e97c081f122100f1cb823537f8ad540623dc1bfe54f355817f198948ba299dc17
6
+ metadata.gz: 758ddac232cf116aa8e8365d8241008f12a2daf1d0a98cf5070f50df913587659c7446b6145372f22e6fd5c038e8956a04d233c550458b37d14bbfba20cfbfdb
7
+ data.tar.gz: c60ae37836fc25b7651453ea37d1714543ca335faf9047d723ff0444fbfe493e571444e337e290425912eb450658d0504d21cceb1e5b35f9bad6f04c86d7bbd4
@@ -1,5 +1,3 @@
1
- require 'foreman_openscap/bulk_upload'
2
-
3
1
  module Api::V2
4
2
  module Compliance
5
3
  class ScapContentsController < ::Api::V2::BaseController
@@ -7,21 +7,28 @@ module ForemanOpenscap
7
7
  @result = OpenStruct.new(:errors => [], :results => [])
8
8
  end
9
9
 
10
- def files_from_guide
11
- `rpm -ql scap-security-guide | grep ds.xml`.split
10
+ def security_guide_packages
11
+ %w(scap-security-guide)
12
12
  end
13
13
 
14
- def scap_guide_installed?
15
- `rpm -qa | grep scap-security-guide`.present?
14
+ def files_from_guide(package)
15
+ `rpm -ql #{package} | grep ds.xml`.split
16
+ end
17
+
18
+ def package_installed?(package)
19
+ `rpm -qa | grep #{package}`.present?
16
20
  end
17
21
 
18
22
  def upload_from_scap_guide
19
- unless scap_guide_installed?
20
- @result.errors.push(_("Can't find scap-security-guide RPM, are you sure it is installed on your server?"))
23
+ package = security_guide_packages.find { |p| package_installed? p }
24
+ unless package
25
+ joined_packages = security_guide_packages.join(', ')
26
+ msg = _("Can't find %{packages} RPM(s), are you sure it is installed on your server?")
27
+ @result.errors.push(msg % {packages: joined_packages})
21
28
  return @result
22
29
  end
23
30
 
24
- upload_from_files(files_from_guide, true)
31
+ upload_from_files(files_from_guide(package), true)
25
32
  end
26
33
 
27
34
  def upload_from_files(files_array, from_scap_guide = false)
@@ -1,3 +1,3 @@
1
1
  module ForemanOpenscap
2
- VERSION = "9.0.4".freeze
2
+ VERSION = "9.0.5".freeze
3
3
  end
@@ -1,6 +1,5 @@
1
1
  # Tasks
2
2
  namespace :foreman_openscap do
3
- require 'foreman_openscap/bulk_upload'
4
3
  require 'foreman_openscap/message_cleaner'
5
4
 
6
5
  namespace :bulk_upload do
@@ -2,7 +2,6 @@ require 'test_plugin_helper'
2
2
 
3
3
  class BulkUploadTest < ActiveSupport::TestCase
4
4
  setup do
5
- require 'foreman_openscap/bulk_upload'
6
5
  ForemanOpenscap::ScapContent.all.map(&:destroy)
7
6
  end
8
7
 
@@ -48,14 +47,14 @@ class BulkUploadTest < ActiveSupport::TestCase
48
47
 
49
48
  test 'should handle case when scap security guide is not installed' do
50
49
  upload = ForemanOpenscap::BulkUpload.new
51
- upload.stubs(:scap_guide_installed?).returns(false)
50
+ upload.stubs(:package_installed?).returns(false)
52
51
  res = upload.upload_from_scap_guide
53
- assert_equal "Can't find scap-security-guide RPM, are you sure it is installed on your server?", res.errors.first
52
+ assert_equal "Can't find scap-security-guide RPM(s), are you sure it is installed on your server?", res.errors.first
54
53
  end
55
54
 
56
55
  test 'should upload files from guide' do
57
56
  upload = ForemanOpenscap::BulkUpload.new
58
- upload.stubs(:scap_guide_installed?).returns(true)
57
+ upload.stubs(:package_installed?).returns(true)
59
58
  upload.stubs(:files_from_guide).returns(["#{ForemanOpenscap::Engine.root}/test/files/scap_contents/ssg-fedora-ds.xml"])
60
59
  assert_difference('ForemanOpenscap::ScapContent.count', 1) do
61
60
  upload.upload_from_scap_guide
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: foreman_openscap
3
3
  version: !ruby/object:Gem::Version
4
- version: 9.0.4
4
+ version: 9.0.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - slukasik@redhat.com
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-07-30 00:00:00.000000000 Z
11
+ date: 2025-02-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake
@@ -116,6 +116,7 @@ files:
116
116
  - app/models/foreman_openscap/scap_content_profile.rb
117
117
  - app/models/foreman_openscap/tailoring_file.rb
118
118
  - app/services/foreman_openscap/arf_report_status_calculator.rb
119
+ - app/services/foreman_openscap/bulk_upload.rb
119
120
  - app/services/foreman_openscap/client_config/ansible.rb
120
121
  - app/services/foreman_openscap/client_config/base.rb
121
122
  - app/services/foreman_openscap/client_config/manual.rb
@@ -286,7 +287,6 @@ files:
286
287
  - db/seeds.d/openscap_feature.rb
287
288
  - db/seeds.d/openscap_policy_notification.rb
288
289
  - lib/foreman_openscap.rb
289
- - lib/foreman_openscap/bulk_upload.rb
290
290
  - lib/foreman_openscap/data_migration.rb
291
291
  - lib/foreman_openscap/engine.rb
292
292
  - lib/foreman_openscap/helper.rb
@@ -441,7 +441,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
441
441
  - !ruby/object:Gem::Version
442
442
  version: '0'
443
443
  requirements: []
444
- rubygems_version: 3.3.26
444
+ rubygems_version: 3.3.27
445
445
  signing_key:
446
446
  specification_version: 4
447
447
  summary: Foreman plug-in for displaying OpenSCAP audit reports