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 +4 -4
- data/app/assets/javascript/foreman_openscap/load_report.js +6 -0
- data/app/controllers/api/v2/compliance/policies_controller.rb +16 -1
- data/app/helpers/concerns/foreman_openscap/hosts_helper_extensions.rb +5 -0
- data/app/views/scaptimony_arf_reports/_list.html.erb +5 -5
- data/app/views/scaptimony_arf_reports/show.html.erb +10 -1
- data/app/views/scaptimony_policies/_list.html.erb +11 -11
- data/app/views/scaptimony_scap_contents/_list.html.erb +8 -8
- data/lib/foreman_openscap/bulk_upload.rb +2 -1
- data/lib/foreman_openscap/engine.rb +65 -18
- data/lib/foreman_openscap/version.rb +1 -1
- data/test/factories/arf_report_factory.rb +1 -3
- data/test/factories/asset_factory.rb +2 -2
- data/test/factories/policy_factory.rb +1 -1
- data/test/functional/api/v2/{arf_reports_controller_test.rb → compliance/arf_reports_controller_test.rb} +1 -1
- data/test/functional/api/v2/{policies_controller_test.rb → compliance/policies_controller_test.rb} +1 -1
- data/test/functional/api/v2/{scap_contents_controller_test.rb → compliance/scap_contents_controller_test.rb} +1 -2
- data/test/lib/foreman_openscap/bulk_upload_test.rb +16 -0
- data/test/unit/openscap_host_test.rb +0 -1
- metadata +21 -18
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: dbe37415bc716af95fb8d1bd1df52052393b8b38
|
4
|
+
data.tar.gz: 9998605cea7e42cc67d82988a534b6a4a6b2a4e3
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f62645263b17141c6641dffeb53f9a3180032a5f682bcb988a5c4ede4a9fa2dba62a382e8361db0aaa46c753234adaeb4f17d75b36adfb9e449af8a4b6c50de5
|
7
|
+
data.tar.gz: cae09dbd205f033bb4f5534629a313d7ed8fad6875c23b3ad69a683f7c6eebdb4341ba8595e326d6150d340396a99eeda57f8677c8c176aa065be9d6cc0a7a65
|
@@ -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
|
-
|
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><%=
|
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
|
-
|
20
|
-
|
21
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
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
|
-
|
20
|
+
<%= policy.scap_content_profile.nil? ? "Default" : policy.scap_content_profile.title %>
|
21
21
|
</td>
|
22
22
|
<td>
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
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
|
-
|
11
|
+
<%= content.title %>
|
12
12
|
</td>
|
13
13
|
<td>
|
14
|
-
|
14
|
+
<%= content.original_filename %>
|
15
15
|
</td>
|
16
16
|
<td>
|
17
|
-
|
17
|
+
<%= _("%s ago") % time_ago_in_words(content.created_at.getlocal) %>
|
18
18
|
</td>
|
19
19
|
<td>
|
20
20
|
<%= action_buttons(
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
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
|
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.
|
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
|
42
|
-
|
43
|
-
:
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
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 "
|
53
|
-
role "
|
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
|
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,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)
|
data/test/functional/api/v2/{policies_controller_test.rb → compliance/policies_controller_test.rb}
RENAMED
@@ -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
|
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.
|
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-
|
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.
|
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.
|
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:
|