foreman_openscap 0.4.1 → 0.4.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 92cfa722f49b4849b12e6de9b12752f7403250c9
4
- data.tar.gz: 216d2b98129dc7cf0de15c0c294522d8147e3a7c
3
+ metadata.gz: dbe37415bc716af95fb8d1bd1df52052393b8b38
4
+ data.tar.gz: 9998605cea7e42cc67d82988a534b6a4a6b2a4e3
5
5
  SHA512:
6
- metadata.gz: 8c90cfa657a43e9490a5246dc8a195d0476b2d2c84ff33c97ffc633c96af029a8ebe71f87b5bc980212192a25aa50bd773d19b01648fea3082f186120e05713a
7
- data.tar.gz: b7044c839f2b328e2591f93dc85081f1cc97fded7d0346ed5ab0afdc1896bd4cb82c168ad3af354976e4fb6eaf76c8c3bd1c6f9b0fc0ec558f582257b0df6f50
6
+ metadata.gz: f62645263b17141c6641dffeb53f9a3180032a5f682bcb988a5c4ede4a9fa2dba62a382e8361db0aaa46c753234adaeb4f17d75b36adfb9e449af8a4b6c50de5
7
+ data.tar.gz: cae09dbd205f033bb4f5534629a313d7ed8fad6875c23b3ad69a683f7c6eebdb4341ba8595e326d6150d340396a99eeda57f8677c8c176aa065be9d6cc0a7a65
@@ -0,0 +1,6 @@
1
+ $(document).ready(function() {
2
+ $('#frame').load(function() {
3
+ $('#loading').hide();
4
+ $('#frame').show().css('min-height', '800px');
5
+ });
6
+ });
@@ -1,8 +1,14 @@
1
1
  module Api::V2
2
2
  module Compliance
3
3
  class PoliciesController < ::Api::V2::BaseController
4
+ include Foreman::Controller::SmartProxyAuth
5
+
6
+ add_smart_proxy_filters :content, :features => 'Openscap'
7
+
4
8
  before_filter :find_resource, :except => %w{index create}
5
9
 
10
+ skip_after_filter :log_response_body, :only => [:content]
11
+
6
12
  def resource_name
7
13
  'Scaptimony::Policy'
8
14
  end
@@ -12,7 +18,7 @@ module Api::V2
12
18
  end
13
19
 
14
20
  def policy_url(policy = nil)
15
- api_policy_url(@policy)
21
+ api_compliance_policy_url(@policy)
16
22
  end
17
23
 
18
24
  resource_description do
@@ -85,6 +91,15 @@ module Api::V2
85
91
  not_found and return if params[:id].blank?
86
92
  instance_variable_set("@policy", resource_scope.find(params[:id]))
87
93
  end
94
+
95
+ def action_permission
96
+ case params[:action]
97
+ when 'content'
98
+ :view
99
+ else
100
+ super
101
+ end
102
+ end
88
103
  end
89
104
  end
90
105
  end
@@ -4,6 +4,7 @@ module ForemanOpenscap
4
4
 
5
5
  included do
6
6
  alias_method_chain :multiple_actions, :scap
7
+ alias_method_chain :name_column, :scap
7
8
  end
8
9
 
9
10
  Colors = {
@@ -40,5 +41,9 @@ module ForemanOpenscap
40
41
  {:label => _("Failed"), :data => failed, :color => Colors[:failed]},
41
42
  {:label => _("Othered"), :data => othered, :color => Colors[:othered]}]
42
43
  end
44
+
45
+ def name_column_with_scap(record)
46
+ record.nil? ? _('Host is deleted') : name_column_without_scap(record)
47
+ end
43
48
  end
44
49
  end
@@ -9,17 +9,17 @@
9
9
  </tr>
10
10
  <% for arf_report in @arf_reports %>
11
11
  <tr>
12
- <td><%= arf_report.host.nil? ? _('Host does not exist anymore') : name_column(arf_report.host) %></td>
12
+ <td><%= name_column(arf_report.host) %></td>
13
13
  <td><%= _("%s ago") % time_ago_in_words(arf_report.date) %></td>
14
14
  <td><%= report_arf_column(arf_report.passed, "label-info") %></th>
15
15
  <td><%= report_arf_column(arf_report.failed, "label-danger") %></th>
16
16
  <td><%= report_arf_column(arf_report.othered, "label-warning") %></th>
17
17
  <td>
18
18
  <%= action_buttons(
19
- link_to(_("View Report"), hash_for_scaptimony_arf_report_path(:id => arf_report.id)),
20
- display_delete_if_authorized(hash_for_scaptimony_arf_report_path(:id => arf_report.id),
21
- :confirm => _("Delete compliance report for %s?") % arf_report.asset.host)
22
- ) %>
19
+ display_link_if_authorized(_("View Report"), hash_for_scaptimony_arf_report_path(:id => arf_report.id)),
20
+ display_delete_if_authorized(hash_for_scaptimony_arf_report_path(:id => arf_report.id),
21
+ :confirm => _("Delete compliance report for %s?") % arf_report.asset.host)
22
+ ) %>
23
23
  </td>
24
24
  </tr>
25
25
  <% end %>
@@ -1,3 +1,12 @@
1
+ <%= javascript 'foreman_openscap/load_report'%>
1
2
  <div class="row">
2
- <iframe style="min-height: 800px" height="100%" width="100%" frameborder="0" src="<%= parse_scaptimony_arf_report_path(@arf_report) %>"></iframe>
3
+
4
+ <div id="loading">
5
+ <div class="col-md-4"></div>
6
+ <div class="col-md-4">
7
+ <%= image_tag('/assets/spinner.gif') %>
8
+ <%= _('Loading...') %>
9
+ </div>
10
+ </div>
11
+ <iframe id="frame" style="display: none" height="100%" width="100%" frameborder="0" src="<%= parse_scaptimony_arf_report_path(@arf_report) %>"></iframe>
3
12
  </div>
@@ -8,23 +8,23 @@
8
8
  <% for policy in @policies %>
9
9
  <tr>
10
10
  <td>
11
- <%= link_to policy.name, scaptimony_policy_dashboard_scaptimony_policy_path(:id => policy.id) %>
11
+ <%= link_to_if_authorized(policy.name.to_s, hash_for_scaptimony_policy_dashboard_scaptimony_policy_path(:id => policy.id)) %>
12
12
  </td>
13
13
  <td>
14
- <% if !policy.scap_content.nil? %>
15
- <%= link_to_if_authorized policy.scap_content.title,
16
- hash_for_edit_scaptimony_scap_content_path(:id => policy.scap_content) %>
17
- <% end %>
14
+ <% if !policy.scap_content.nil? %>
15
+ <%= link_to_if_authorized policy.scap_content.title,
16
+ hash_for_edit_scaptimony_scap_content_path(:id => policy.scap_content) %>
17
+ <% end %>
18
18
  </td>
19
19
  <td>
20
- <%= policy.scap_content_profile.nil? ? "Default" : policy.scap_content_profile.title %>
20
+ <%= policy.scap_content_profile.nil? ? "Default" : policy.scap_content_profile.title %>
21
21
  </td>
22
22
  <td>
23
- <%= action_buttons(
24
- link_to_if_authorized(_("Show Guide"), hash_for_scaptimony_policy_path(:id => policy.id)),
25
- link_to_if_authorized(_("Edit"), hash_for_edit_scaptimony_policy_path(:id => policy.id)),
26
- display_delete_if_authorized(hash_for_scaptimony_policy_path(:id => policy.id),
27
- :confirm => _("Delete compliance policy %s with all the reports?") % policy.name)
23
+ <%= action_buttons(
24
+ display_link_if_authorized(_("Show Guide"), hash_for_scaptimony_policy_path(:id => policy.id)),
25
+ display_link_if_authorized(_("Edit"), hash_for_edit_scaptimony_policy_path(:id => policy.id)),
26
+ display_delete_if_authorized(hash_for_scaptimony_policy_path(:id => policy.id),
27
+ :confirm => _("Delete compliance policy %s with all the reports?") % policy.name)
28
28
  ) %>
29
29
  </td>
30
30
  </tr>
@@ -8,21 +8,21 @@
8
8
  <% for content in @contents %>
9
9
  <tr>
10
10
  <td>
11
- <%= content.title %>
11
+ <%= content.title %>
12
12
  </td>
13
13
  <td>
14
- <%= content.original_filename %>
14
+ <%= content.original_filename %>
15
15
  </td>
16
16
  <td>
17
- <%= _("%s ago") % time_ago_in_words(content.created_at.getlocal) %>
17
+ <%= _("%s ago") % time_ago_in_words(content.created_at.getlocal) %>
18
18
  </td>
19
19
  <td>
20
20
  <%= action_buttons(
21
- link_to_if_authorized(_("Edit"), hash_for_edit_scaptimony_scap_content_path(:id => content.id)),
22
- link_to_if_authorized(_("Download"), hash_for_scaptimony_scap_content_path(:id => content.id)),
23
- display_delete_if_authorized(hash_for_scaptimony_scap_content_path(:id => content.id),
24
- :confirm => _("Delete compliance policy %s with all the reports?") % content.title)
25
- ) %>
21
+ display_link_if_authorized(_("Edit"), hash_for_edit_scaptimony_scap_content_path(:id => content.id)),
22
+ display_link_if_authorized(_("Download"), hash_for_scaptimony_scap_content_path(:id => content.id)),
23
+ display_delete_if_authorized(hash_for_scaptimony_scap_content_path(:id => content.id),
24
+ :confirm => _("Delete compliance policy %s with all the reports?") % content.title)
25
+ ) %>
26
26
  </td>
27
27
  </tr>
28
28
  <% end %>
@@ -24,8 +24,9 @@ module ForemanOpenscap
24
24
  digest = Digest::SHA2.hexdigest(datastream)
25
25
  title = content_name(datastream)
26
26
  filename = original_filename(datastream)
27
- scap_content = Scaptimony::ScapContent.where(:title => title, :digest => digest, :scap_file => file).first_or_initialize
27
+ scap_content = Scaptimony::ScapContent.where(:title => title, :digest => digest).first_or_initialize
28
28
  unless scap_content.persisted?
29
+ scap_content.scap_file = file
29
30
  scap_content.original_filename = filename
30
31
  next puts "## SCAP content is invalid: #{scap_content.errors.full_messages.uniq.join(',')} ##" unless scap_content.valid?
31
32
  if scap_content.save
@@ -32,41 +32,88 @@ module ForemanOpenscap
32
32
  'foreman_openscap/policy.css']}}
33
33
  end
34
34
 
35
- initializer 'foreman_openscap.register_plugin', :after=> :finisher_hook do |app|
35
+ initializer 'foreman_openscap.apipie' do
36
+ Apipie.configuration.checksum_path += ['/compliance/']
37
+ end
38
+
39
+ initializer 'foreman_openscap.register_plugin', :after => :finisher_hook do |app|
36
40
  Foreman::Plugin.register :foreman_openscap do
37
41
  requires_foreman '>= 1.5'
38
42
 
43
+ apipie_documented_controllers ["#{ForemanOpenscap::Engine.root}/app/controllers/api/v2/compliance/*.rb"]
44
+
39
45
  # Add permissions
40
46
  security_block :foreman_openscap do
41
- permission :view_arf_reports, {:scaptimony_arf_reports => [:index, :show],
42
- :scaptimony_policies => [:index, :show],
43
- :scaptimony_scap_contents => [:index, :show],
44
- }
45
- permission :edit_compliance, {:scaptimony_arf_reports => [:destroy],
46
- :scaptimony_policies => [:new, :create, :edit, :update, :destroy,
47
- :select_multiple_hosts, :upldate_multiple_hosts],
48
- :scaptimony_scap_contents => [:new, :create, :edit, :update]
49
- }
47
+ permission :view_arf_reports, {:scaptimony_arf_reports => [:index, :show, :parse, :auto_complete_search],
48
+ 'api/v2/compliance/arf_reports' => [:index, :show],
49
+ :scaptimony_hosts => [:show]}
50
+ permission :destroy_arf_reports, {:scaptimony_arf_reports => [:destroy],
51
+ 'api/v2/compliance/arf_reports' => [:destroy]}
52
+ permission :create_arf_reports, {'api/v2/compliance/arf_reports' => [:create]}
53
+
54
+ permission :view_scaptimony_policies, {:scaptimony_policies => [:index, :show, :parse, :auto_complete_search],
55
+ :scaptimony_policy_dashboard => [:index],
56
+ :scaptimony_dashboard => [:index],
57
+ 'api/v2/compliance/policies' => [:index, :show, :content]},
58
+ :resource_type => 'Scaptimony::Policy'
59
+ permission :edit_scaptimony_policies, {:scaptimony_policies => [:edit, :update, :scap_content_selected],
60
+ 'api/v2/compliance/policies' => [:update]},
61
+ :resource_type => 'Scaptimony::Policy'
62
+ permission :create_scaptimony_policies, {:scaptimony_policies => [:new, :create],
63
+ 'api/v2/compliance/policies' => [:create]},
64
+ :resource_type => 'Scaptimony::Policy'
65
+ permission :destroy_scaptimony_policies, {:scaptimony_policies => [:destroy],
66
+ 'api/v2/compliance/policies' => [:destroy]},
67
+ :resource_type => 'Scaptimony::Policy'
68
+ permission :assign_scaptimony_policies, {:scaptimony_policies => [:select_multiple_hosts, :update_multiple_hosts,
69
+ :disassociate_multiple_hosts,
70
+ :remove_policy_from_multiple_hosts]},
71
+ :resource_type => 'Scaptimony::Policy'
72
+ permission :view_scaptimony_scap_contents, {:scaptimony_scap_contents => [:index, :show, :auto_complete_search],
73
+ 'api/v2/compliance/scap_contents' => [:index, :show]},
74
+ :resource_type => 'Scaptimony::ScapContent'
75
+ permission :edit_scaptimony_scap_contents, {:scaptimony_scap_contents => [:edit, :update],
76
+ 'api/v2/compliance/scap_contents' => [:update]},
77
+ :resource_type => 'Scaptimony::ScapContent'
78
+ permission :create_scaptimony_scap_contents, {:scaptimony_scap_contents => [:new, :create],
79
+ 'api/v2/compliance/scap_contents' => [:create]},
80
+ :resource_type => 'Scaptimony::ScapContent'
81
+ permission :destroy_scaptimony_scap_contents, {:scaptimony_scap_contents => [:destroy],
82
+ 'api/v2/compliance/scap_contents' => [:destroy]},
83
+ :resource_type => 'Scaptimony::ScapContent'
50
84
  end
51
85
 
52
- role "View compliance reports", [:view_arf_reports]
53
- role "Edit compliance policies", [:edit_compliance]
86
+ role "Compliance viewer", [:view_arf_reports, :view_scaptimony_policies, :view_scaptimony_scap_contents]
87
+ role "Compliance manager", [:view_arf_reports, :view_scaptimony_policies, :view_scaptimony_scap_contents,
88
+ :destroy_arf_reports, :edit_scaptimony_policies, :edit_scaptimony_scap_contents, :assign_scaptimony_policies,
89
+ :create_scaptimony_policies, :create_scaptimony_scap_contents, :destroy_scaptimony_policies, :destroy_scaptimony_scap_contents]
90
+ role "Create ARF report", [:create_arf_reports] # special as only Proxy can create
54
91
 
55
92
  #add menu entries
56
93
  divider :top_menu, :caption => N_('Compliance'), :parent => :hosts_menu
57
94
  menu :top_menu, :compliance_policies, :caption => N_('Policies'),
58
- :url_hash => {:controller => :'scaptimony_policies', :action => :index },
95
+ :url_hash => {:controller => :'scaptimony_policies', :action => :index},
59
96
  :parent => :hosts_menu
60
97
  menu :top_menu, :compliance_contents, :caption => N_('SCAP contents'),
61
- :url_hash => {:controller => :'scaptimony_scap_contents', :action => :index },
98
+ :url_hash => {:controller => :'scaptimony_scap_contents', :action => :index},
62
99
  :parent => :hosts_menu
63
100
  menu :top_menu, :compliance_reports, :caption => N_('Reports'),
64
- :url_hash => {:controller => :'scaptimony_arf_reports', :action => :index },
65
- :parent => :hosts_menu
101
+ :url_hash => {:controller => :'scaptimony_arf_reports', :action => :index},
102
+ :parent => :hosts_menu
66
103
 
67
104
  # add dashboard widget
68
- widget 'foreman_openscap_host_reports_widget', :name => N_('OpenSCAP Host reports widget'), :sizex => 4, :sizey =>1
69
- widget 'foreman_openscap_reports_breakdown_widget', :name => N_('OpenSCAP Host reports widget'), :sizex => 4, :sizey =>1
105
+ widget 'foreman_openscap_host_reports_widget', :name => N_('OpenSCAP Host reports widget'), :sizex => 4, :sizey => 1
106
+ widget 'foreman_openscap_reports_breakdown_widget', :name => N_('OpenSCAP Host reports widget'), :sizex => 4, :sizey => 1
107
+
108
+ # As 'scaptimony_arf_report_breakdowns' is a view and does not appear in schema.rb, db:test:prepare will not create the view
109
+ # which will make the following tests fail.
110
+ tests_to_skip ({
111
+ "DashboardIntegrationTest" => ["dashboard page", "dashboard link hosts that had performed modifications",
112
+ "dashboard link hosts in error state", "dashboard link good host reports",
113
+ "dashboard link hosts that had pending changes", "dashboard link out of sync hosts",
114
+ "dashboard link hosts with no reports", "dashboard link hosts with alerts disabled",
115
+ "widgets not in dashboard show up in list"]
116
+ })
70
117
  end
71
118
  end
72
119
 
@@ -1,3 +1,3 @@
1
1
  module ForemanOpenscap
2
- VERSION = "0.4.1"
2
+ VERSION = "0.4.2"
3
3
  end
@@ -2,9 +2,7 @@ FactoryGirl.define do
2
2
  factory :arf_report, :class => Scaptimony::ArfReport do |f|
3
3
  f.asset
4
4
  f.policy
5
- f.sequence :digest do |n|
6
- "#{n}#{n}#{n}aabbcc#{n}3322dd"
7
- end
5
+ f.sequence(:digest) { |n| "#{n}1212aa#{n}"}
8
6
  date '1973-01-13'
9
7
  end
10
8
  end
@@ -1,6 +1,6 @@
1
1
  FactoryGirl.define do
2
2
  factory :asset, :class => Scaptimony::Asset do |f|
3
- f.assetable_id FactoryGirl.create(:host).id
3
+ f.assetable_id { FactoryGirl.create(:host).id }
4
4
  f.assetable_type 'Host::Base'
5
5
  end
6
- end
6
+ end
@@ -1,6 +1,6 @@
1
1
  FactoryGirl.define do
2
2
  factory :policy, :class => Scaptimony::Policy do
3
- name 'test_policy'
3
+ sequence(:name) { |n| "policy#{n}" }
4
4
  period 'weekly'
5
5
  weekday 'monday'
6
6
  scap_content
@@ -1,6 +1,6 @@
1
1
  require 'test_plugin_helper'
2
2
 
3
- class Api::V2::ArfReportsControllerTest < ActionController::TestCase
3
+ class Api::V2::Compliance::ArfReportsControllerTest < ActionController::TestCase
4
4
  setup do
5
5
  # override validation of policy (puppetclass, lookup_key overrides)
6
6
  Scaptimony::Policy.any_instance.stubs(:valid?).returns(true)
@@ -1,6 +1,6 @@
1
1
  require 'test_plugin_helper'
2
2
 
3
- class Api::V2::PoliciesControllerTest < ActionController::TestCase
3
+ class Api::V2::Compliance::PoliciesControllerTest < ActionController::TestCase
4
4
  setup do
5
5
  Scaptimony::Policy.any_instance.stubs(:ensure_needed_puppetclasses).returns(true)
6
6
  end
@@ -1,6 +1,6 @@
1
1
  require 'test_plugin_helper'
2
2
 
3
- class Api::V2::ScapContentsControllerTest < ActionController::TestCase
3
+ class Api::V2::Compliance::ScapContentsControllerTest < ActionController::TestCase
4
4
 
5
5
  test "should get index" do
6
6
  FactoryGirl.create(:scap_content)
@@ -24,7 +24,6 @@ class Api::V2::ScapContentsControllerTest < ActionController::TestCase
24
24
 
25
25
  test "should create scap content" do
26
26
  # Skipped as API does not support uploading files
27
- skip
28
27
  end
29
28
 
30
29
  test "should update scap content" do
@@ -0,0 +1,16 @@
1
+ require 'test_plugin_helper'
2
+
3
+ class BulkUploadTest < ActiveSupport::TestCase
4
+ setup do
5
+ require 'foreman_openscap/bulk_upload'
6
+ end
7
+
8
+ test 'upload_from_files should create only one scap content' do
9
+ scap_files = ['../foreman_openscap/test/files/scap_contents/ssg-fedora-ds.xml']
10
+ assert_difference('Scaptimony::ScapContent.count', 1) do
11
+ 2.times do
12
+ ForemanOpenscap::BulkUpload.new.upload_from_files(scap_files)
13
+ end
14
+ end
15
+ end
16
+ end
@@ -4,7 +4,6 @@ class OpenscapHostTest < ActiveSupport::TestCase
4
4
  setup do
5
5
  disable_orchestration
6
6
  User.current = users :admin
7
- Setting[:token_duration] = 0
8
7
  Scaptimony::Policy.any_instance.stubs(:ensure_needed_puppetclasses).returns(true)
9
8
  end
10
9
 
metadata CHANGED
@@ -1,43 +1,43 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: foreman_openscap
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.1
4
+ version: 0.4.2
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-05-11 00:00:00.000000000 Z
11
+ date: 2015-08-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: deface
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ~>
17
+ - - "<"
18
18
  - !ruby/object:Gem::Version
19
- version: '0'
19
+ version: '2.0'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - ~>
24
+ - - "<"
25
25
  - !ruby/object:Gem::Version
26
- version: '0'
26
+ version: '2.0'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: scaptimony
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - ~>
31
+ - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: 0.3.0
33
+ version: 0.3.2
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - ~>
38
+ - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: 0.3.0
40
+ version: 0.3.2
41
41
  description: Foreman plug-in for managing security compliance reports
42
42
  email:
43
43
  - slukasik@redhat.com
@@ -47,6 +47,7 @@ extra_rdoc_files: []
47
47
  files:
48
48
  - LICENSE
49
49
  - README.md
50
+ - app/assets/javascript/foreman_openscap/load_report.js
50
51
  - app/assets/javascript/foreman_openscap/period_selector.js
51
52
  - app/assets/javascript/foreman_openscap/policy_edit.js
52
53
  - app/assets/javascript/foreman_openscap/scap_hosts_show.js
@@ -138,9 +139,10 @@ files:
138
139
  - test/factories/policy_factory.rb
139
140
  - test/factories/scap_content_related.rb
140
141
  - test/files/scap_contents/ssg-fedora-ds.xml
141
- - test/functional/api/v2/arf_reports_controller_test.rb
142
- - test/functional/api/v2/policies_controller_test.rb
143
- - test/functional/api/v2/scap_contents_controller_test.rb
142
+ - test/functional/api/v2/compliance/arf_reports_controller_test.rb
143
+ - test/functional/api/v2/compliance/policies_controller_test.rb
144
+ - test/functional/api/v2/compliance/scap_contents_controller_test.rb
145
+ - test/lib/foreman_openscap/bulk_upload_test.rb
144
146
  - test/test_plugin_helper.rb
145
147
  - test/unit/openscap_host_test.rb
146
148
  homepage: https://github.com/OpenSCAP/foreman_openscap
@@ -153,12 +155,12 @@ require_paths:
153
155
  - lib
154
156
  required_ruby_version: !ruby/object:Gem::Requirement
155
157
  requirements:
156
- - - '>='
158
+ - - ">="
157
159
  - !ruby/object:Gem::Version
158
160
  version: '0'
159
161
  required_rubygems_version: !ruby/object:Gem::Requirement
160
162
  requirements:
161
- - - '>='
163
+ - - ">="
162
164
  - !ruby/object:Gem::Version
163
165
  version: '0'
164
166
  requirements: []
@@ -172,10 +174,11 @@ test_files:
172
174
  - test/factories/asset_factory.rb
173
175
  - test/factories/scap_content_related.rb
174
176
  - test/factories/arf_report_factory.rb
177
+ - test/lib/foreman_openscap/bulk_upload_test.rb
175
178
  - test/unit/openscap_host_test.rb
176
179
  - test/files/scap_contents/ssg-fedora-ds.xml
177
- - test/functional/api/v2/policies_controller_test.rb
178
- - test/functional/api/v2/scap_contents_controller_test.rb
179
- - test/functional/api/v2/arf_reports_controller_test.rb
180
+ - test/functional/api/v2/compliance/policies_controller_test.rb
181
+ - test/functional/api/v2/compliance/scap_contents_controller_test.rb
182
+ - test/functional/api/v2/compliance/arf_reports_controller_test.rb
180
183
  - test/test_plugin_helper.rb
181
184
  has_rdoc: