foreman_openscap 0.3.2 → 0.3.3

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
  SHA1:
3
- metadata.gz: e0b2635b4110d762e082b3b0deea79656f308712
4
- data.tar.gz: 6488a4c319870ff0347bfedf2d1ad27659dab5a9
3
+ metadata.gz: dc23a893a6f93d33f710ee464f998add2a5e1498
4
+ data.tar.gz: fcf1e51452a94983844f42a62d198bc0f95240d7
5
5
  SHA512:
6
- metadata.gz: 257acb224a1ffaeed43d9cba4216038920357ea2fed6c493d52b8d0efa0b639f58021cd159681d4eef6970de6067bfdbc358cd5cebf8d60af5b28c6627269797
7
- data.tar.gz: 351b39d8450200c2884d63a419741a93900600b229c7fa492db305b74c9bfd7b74701ed206705472842490d17b0d1932925e34a1c718e0dd6403a99a47042e0b
6
+ metadata.gz: 68084f2791991b42c7e1eb313a892f892b5a16e10f1fe14e2ac6ab45cc1c00684b587a218cf0b9ea81a7ce28fc9d73598606e962bfb0189d1b35a63ae7d464c4
7
+ data.tar.gz: 930e20cabae6c401715cf968d438b87afcb0b2de32364f9e72a2e51c2dfb29fa5071164ee9edf763e901e62e26e1331e8d98c99dfc2bc83ffd68459f3bf68688
@@ -27,7 +27,7 @@ module Api
27
27
  param :date, :identifier, :required => true
28
28
 
29
29
  def create
30
- asset = ForemanOpenscap::Helper::get_asset(params[:cname])
30
+ asset = ForemanOpenscap::Helper::get_asset(params[:cname], params[:policy_id])
31
31
  arf_bzip2 = request.body.read
32
32
  arf_bzip2_size = request.body.size
33
33
  Scaptimony::ArfReportsHelper.create_arf(asset, params, arf_bzip2, arf_bzip2_size)
@@ -22,7 +22,12 @@ module ForemanOpenscap
22
22
  end
23
23
 
24
24
  def policies_enc
25
- self.policies.map(&:to_enc).to_json
25
+ combined_policies.map(&:to_enc).to_json
26
+ end
27
+
28
+ def combined_policies
29
+ combined = self.policies + self.hostgroup.policies
30
+ combined.uniq
26
31
  end
27
32
 
28
33
  module ClassMethods
@@ -0,0 +1,13 @@
1
+ require 'scaptimony/asset'
2
+
3
+ module ForemanOpenscap
4
+ module HostgroupExtensions
5
+ extend ActiveSupport::Concern
6
+
7
+ included do
8
+ has_one :asset, :as => :assetable, :class_name => "::Scaptimony::Asset"
9
+ has_many :asset_policies, :through => :asset, :class_name => "::Scaptimony::AssetPolicy"
10
+ has_many :policies, :through => :asset_policies, :class_name => "::Scaptimony::Policy"
11
+ end
12
+ end
13
+ end
@@ -29,9 +29,9 @@ module ForemanOpenscap
29
29
  validates :period, :inclusion => {:in => %w[weekly monthly custom]},
30
30
  :if => Proc.new { | policy | policy.new_record? ? policy.step_index > 3 : !policy.id.blank? }
31
31
  validates :weekday, :inclusion => {:in => Date::DAYNAMES.map(&:downcase)},
32
- :if => Proc.new { | policy | policy.new_record? ? policy.step_index > 3 && policy.period == 'weekly' : !policy.id.blank? }
32
+ :if => Proc.new { | policy | policy.period == 'weekly' && (policy.new_record? ? policy.step_index > 3 : !policy.id.blank?) }
33
33
  validates :day_of_month, :numericality => {:greater_than => 0, :less_than => 32},
34
- :if => Proc.new { | policy | policy.new_record? ? policy.step_index > 3 && policy.period == 'monthly' : !policy.id.blank? }
34
+ :if => Proc.new { | policy | policy.period == 'monthly'&& (policy.new_record? ? policy.step_index > 3 : !policy.id.blank?) }
35
35
  validate :valid_cron_line
36
36
  validate :ensure_period_specification_present
37
37
 
@@ -7,6 +7,11 @@
7
7
  </span>
8
8
  <div class="alert alert-info">
9
9
  <%= icon_text("info-sign", _('Notice: Ensure the selected SCAP content exists on your hosts.')) %>
10
+ <div id="file-location">
11
+ <% if @policy.scap_content %>
12
+ <b><%= _('SCAP content file should be /var/lib/openscap/content/%s.xml on your clients.') % @policy.scap_content.digest %></b>
13
+ <% end %>
14
+ </div>
10
15
  </div>
11
16
  </div>
12
17
 
@@ -72,6 +72,7 @@ module ForemanOpenscap
72
72
  config.to_prepare do
73
73
  Host::Managed.send(:include, ForemanOpenscap::HostExtensions)
74
74
  HostsHelper.send(:include, ForemanOpenscap::HostsHelperExtensions)
75
+ Hostgroup.send(:include, ForemanOpenscap::HostgroupExtensions)
75
76
  ::Scaptimony::ArfReport.send(:include, ForemanOpenscap::ArfReportExtensions)
76
77
  ::Scaptimony::Asset.send(:include, ForemanOpenscap::AssetExtensions)
77
78
  ::Scaptimony::Policy.send(:include, ForemanOpenscap::PolicyExtensions)
@@ -9,7 +9,9 @@
9
9
  #
10
10
 
11
11
  module ForemanOpenscap::Helper
12
- def self.get_asset(cname)
13
- Host.find_by_name!(cname).get_asset
12
+ def self.get_asset(cname, policy_id)
13
+ asset = Host.find_by_name!(cname).get_asset
14
+ asset.policy_ids += [policy_id]
15
+ asset
14
16
  end
15
17
  end
@@ -1,3 +1,3 @@
1
1
  module ForemanOpenscap
2
- VERSION = "0.3.2"
2
+ VERSION = "0.3.3"
3
3
  end
@@ -0,0 +1,28 @@
1
+ require 'test_plugin_helper'
2
+
3
+ class OpenscapHostTest < ActiveSupport::TestCase
4
+ setup do
5
+ disable_orchestration
6
+ User.current = users :admin
7
+ Setting[:token_duration] = 0
8
+ Scaptimony::Policy.any_instance.stubs(:ensure_needed_puppetclasses).returns(true)
9
+ end
10
+
11
+ test 'Host has policy' do
12
+ host = FactoryGirl.create(:host)
13
+ assert_empty(host.policies)
14
+ policy = FactoryGirl.create(:policy)
15
+
16
+ assert(policy.assign_hosts([host]), 'Host policies should be assigned')
17
+ assert_includes(host.policies, policy)
18
+ end
19
+
20
+ test 'Host has policies via its hostgroup' do
21
+ host = FactoryGirl.create(:host, :with_hostgroup)
22
+ hostgroup = host.hostgroup
23
+ policy = FactoryGirl.create(:policy)
24
+ assert(policy.hostgroup_ids = ["#{hostgroup.id}"])
25
+ refute_empty(host.combined_policies)
26
+ assert_includes(host.combined_policies, policy)
27
+ end
28
+ end
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: 0.3.2
4
+ version: 0.3.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - "Šimon Lukašík"
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-03-02 00:00:00.000000000 Z
11
+ date: 2015-03-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: deface
@@ -65,6 +65,7 @@ files:
65
65
  - app/models/concerns/foreman_openscap/arf_report_extensions.rb
66
66
  - app/models/concerns/foreman_openscap/asset_extensions.rb
67
67
  - app/models/concerns/foreman_openscap/host_extensions.rb
68
+ - app/models/concerns/foreman_openscap/hostgroup_extensions.rb
68
69
  - app/models/concerns/foreman_openscap/policy_extensions.rb
69
70
  - app/models/concerns/foreman_openscap/scap_content_extensions.rb
70
71
  - app/overrides/hosts/index/host_arf_report.rb
@@ -114,7 +115,7 @@ files:
114
115
  - lib/tasks/foreman_openscap_tasks.rake
115
116
  - test/factories/foreman_openscap_factories.rb
116
117
  - test/test_plugin_helper.rb
117
- - test/unit/foreman_openscap_test.rb
118
+ - test/unit/openscap_host_test.rb
118
119
  homepage: https://github.com/OpenSCAP/foreman_openscap
119
120
  licenses:
120
121
  - GPL-3.0
@@ -140,7 +141,7 @@ signing_key:
140
141
  specification_version: 4
141
142
  summary: Foreman plug-in for displaying OpenSCAP audit reports
142
143
  test_files:
143
- - test/unit/foreman_openscap_test.rb
144
+ - test/unit/openscap_host_test.rb
144
145
  - test/test_plugin_helper.rb
145
146
  - test/factories/foreman_openscap_factories.rb
146
147
  has_rdoc:
@@ -1,12 +0,0 @@
1
- require 'test_plugin_helper'
2
-
3
- class ForemanOpenscapTest < ActiveSupport::TestCase
4
- setup do
5
- User.current = User.find_by_login "admin"
6
- end
7
-
8
- test "the truth" do
9
- assert true
10
- end
11
-
12
- end