foreman_openscap 0.6.2 → 0.6.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: feef787c3ec3853ea3ea69ec359a943e81fed594
4
- data.tar.gz: c2c279115757242903e06b02a38477bbc130762e
3
+ metadata.gz: 6beda936505b017451aaf916fc4295f10f323be1
4
+ data.tar.gz: f696a2b12c6861fd6fbc934e9451b2d77fb3879d
5
5
  SHA512:
6
- metadata.gz: 7cc362c03e631e6c5141baeb72513316e71681102dfb8e750ddbd2b1d54e1f54a8290c3a76182c490e3e0913dfc8613f3c971fc886bcdbd299c3c22a6cedb327
7
- data.tar.gz: df71b007ba7183e3ff55b5a90158530c784568244aa3164130d8ef9c4bb91c59a1bf4ff7e489d449f62de19bcf4b75ea9480b6dcfd1142d1e45907c784e85ad3
6
+ metadata.gz: e786d37b5a9980b2351f6b49f854a794270ab8ac4099dc15931fe7236cd823f4a97717632627b3ddde8fa1cc9a23b476dbee8c4d27f631bfb67185a4a7ddf3fb
7
+ data.tar.gz: e967277fca2f7f84855637cedeab78a9e4ea488e9111841a141f3cd3833f342e23b0ef14b9cd240cf1595eabad521f73c0a1868bc5185f70329acc822d1c9268
@@ -10,7 +10,8 @@ module Api
10
10
 
11
11
  add_smart_proxy_filters :create, :features => 'Openscap'
12
12
 
13
- before_filter :find_resource, :only => %w(show destroy)
13
+ before_filter :find_resource, :only => %w(show destroy download)
14
+ skip_after_filter :log_response_body, :only => %w(download)
14
15
 
15
16
  def resource_name
16
17
  '::ForemanOpenscap::ArfReport'
@@ -33,7 +34,7 @@ module Api
33
34
  def show
34
35
  end
35
36
 
36
- api :DELETE, '/compliance/arf_reports/:id', N_('Deletes an ARF Report')
37
+ api :DELETE, '/compliance/arf_reports/:id', N_('Delete an ARF Report')
37
38
  param :id, :identifier, :required => true
38
39
 
39
40
  def destroy
@@ -52,12 +53,31 @@ module Api
52
53
  render :json => { :result => :OK, :id => arf_report.id.to_s }
53
54
  end
54
55
 
56
+ api :GET, "/compliance/arf_reports/:id/download/", N_("Download bzipped ARF report")
57
+ param :id, :identifier, :required => true
58
+
59
+ def download
60
+ response = @arf_report.to_bzip
61
+ send_data response, :filename => "#{@arf_report.id}_arf_report.bz2"
62
+ rescue => e
63
+ render_error 'standard_error', :status => :internal_error, :locals => { :exception => e }
64
+ end
65
+
55
66
  private
56
67
 
57
68
  def find_resource
58
69
  not_found and return if params[:id].blank?
59
70
  instance_variable_set("@arf_report", resource_scope.find(params[:id]))
60
71
  end
72
+
73
+ def action_permission
74
+ case params[:action]
75
+ when 'download'
76
+ :view
77
+ else
78
+ super
79
+ end
80
+ end
61
81
  end
62
82
  end
63
83
  end
@@ -1,4 +1,4 @@
1
- <%= javascript "jquery.cookie", "host_checkbox", "foreman_openscap/arf_reports" %>
1
+ <%= javascript "host_checkbox", "foreman_openscap/arf_reports" %>
2
2
 
3
3
  <table class="table table-bordered table-striped ellipsis">
4
4
  <tr>
@@ -12,5 +12,5 @@
12
12
  display_delete_if_authorized(hash_for_arf_report_path(:id => @arf_report), :class=> "btn btn-danger"),
13
13
  link_to(_("Host details"), @arf_report.host, :class => "btn btn-default"),
14
14
  link_to(_("View full report"), show_html_arf_report_path(:id => @arf_report.id), :class => "btn btn-default"),
15
- link_to(_("Download XML in bzip"), parse_bzip_arf_report_path(:id => @arf_report.id), :class => "btn btn-default")
15
+ link_to(_("Download XML in bzip"), parse_bzip_arf_report_path(:id => @arf_report.id), :class => "btn btn-default", :data => { :no_turbolink => true })
16
16
  %>
@@ -1,4 +1,4 @@
1
- <h4 class="ca"><%= _('Latest compliance reports') %></h4>
1
+ <h4 class="ca"><%= _('Latest Compliance Reports') %></h4>
2
2
  <% latest_reports = ForemanOpenscap::ArfReport.latest.limit(9) %>
3
3
  <% if latest_reports.empty? %>
4
4
  <p class="ca"><%= _("No reports available") %></p>
@@ -1,3 +1,3 @@
1
- <h4 class="header ca"><%= _('Compliance reports breakdown') %></h4>
1
+ <h4 class="header ca"><%= _('Compliance Reports Breakdown') %></h4>
2
2
  <% report = ForemanOpenscap::ReportDashboard::Data.new().report %>
3
- <%= reports_breakdown_chart(report, :class => 'statistics-pie small') %>
3
+ <%= reports_breakdown_chart(report, :class => 'statistics-pie small') %>
data/config/routes.rb CHANGED
@@ -55,7 +55,11 @@ Rails.application.routes.draw do
55
55
  get 'content'
56
56
  end
57
57
  end
58
- resources :arf_reports, :only => [:index, :show, :destroy]
58
+ resources :arf_reports, :only => [:index, :show, :destroy] do
59
+ member do
60
+ get 'download'
61
+ end
62
+ end
59
63
  post 'arf_reports/:cname/:policy_id/:date', \
60
64
  :constraints => { :cname => /[^\/]+/ }, :to => 'arf_reports#create'
61
65
  end
@@ -0,0 +1,15 @@
1
+ class ChangeScapWidgetNames < ActiveRecord::Migration
2
+ def up
3
+ Widget.where(:name => 'OpenSCAP Host reports widget').\
4
+ update_all(:name => 'Latest Compliance Reports')
5
+ Widget.where(:name => 'OpenSCAP Reports breakdown widget').\
6
+ update_all(:name => 'Compliance Reports Breakdown')
7
+ end
8
+
9
+ def down
10
+ Widget.where(:name => 'Latest Compliance Reports').\
11
+ update_all(:name => 'OpenSCAP Host reports widget')
12
+ Widget.where(:name => 'Compliance Reports Breakdown').\
13
+ update_all(:name => 'OpenSCAP Reports breakdown widget')
14
+ end
15
+ end
@@ -52,7 +52,7 @@ module ForemanOpenscap
52
52
  security_block :foreman_openscap do
53
53
  permission :view_arf_reports, {:arf_reports => [:index, :show, :parse_html, :show_html,
54
54
  :parse_bzip, :auto_complete_search],
55
- 'api/v2/compliance/arf_reports' => [:index, :show],
55
+ 'api/v2/compliance/arf_reports' => [:index, :show, :download],
56
56
  :compliance_hosts => [:show]}
57
57
  permission :destroy_arf_reports, {:arf_reports => [:destroy, :delete_multiple, :submit_delete_multiple],
58
58
  'api/v2/compliance/arf_reports' => [:destroy]}
@@ -112,9 +112,9 @@ module ForemanOpenscap
112
112
 
113
113
  # add dashboard widget
114
114
  widget 'compliance_host_reports_widget',
115
- :name => N_('OpenSCAP Host reports widget'), :sizex => 6, :sizey => 1
115
+ :name => N_('Latest Compliance Reports'), :sizex => 6, :sizey => 1
116
116
  widget 'compliance_reports_breakdown_widget',
117
- :name => N_('OpenSCAP Reports breakdown widget'), :sizex => 6, :sizey => 1
117
+ :name => N_('Compliance Reports Breakdown'), :sizex => 6, :sizey => 1
118
118
 
119
119
  # As 'arf_report_breakdowns' is a view and does not appear in schema.rb, db:test:prepare will not create the view
120
120
  # which will make the following tests fail.
@@ -1,3 +1,3 @@
1
1
  module ForemanOpenscap
2
- VERSION = "0.6.2"
2
+ VERSION = "0.6.3"
3
3
  end
@@ -1,4 +1,5 @@
1
1
  require 'test_plugin_helper'
2
+ require 'tmpdir'
2
3
 
3
4
  class Api::V2::Compliance::ArfReportsControllerTest < ActionController::TestCase
4
5
  setup do
@@ -24,4 +25,14 @@ class Api::V2::Compliance::ArfReportsControllerTest < ActionController::TestCase
24
25
  refute response['othered'].blank?
25
26
  assert_response :success
26
27
  end
28
+
29
+ test "should download report" do
30
+ bzipped_report = File.open "#{ForemanOpenscap::Engine.root}/test/files/arf_report/arf_report.bz2", &:read
31
+ ForemanOpenscap::ArfReport.any_instance.stubs(:to_bzip).returns(bzipped_report)
32
+ get :download, { :id => @report.to_param }, set_session_user
33
+ t = Tempfile.new('tmp_report')
34
+ t.write @response.body
35
+ t.close
36
+ refute t.size.zero?
37
+ end
27
38
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: foreman_openscap
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.2
4
+ version: 0.6.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - "Šimon Lukašík"
@@ -11,7 +11,7 @@ authors:
11
11
  autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
- date: 2016-09-21 00:00:00.000000000 Z
14
+ date: 2016-10-19 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: deface
@@ -191,6 +191,7 @@ files:
191
191
  - db/migrate/20151119155419_add_arf_fields_to_message.rb
192
192
  - db/migrate/20151120090851_add_openscap_proxy_to_host_and_hostgroup.rb
193
193
  - db/migrate/20160830113437_remove_deleted_policy.rb
194
+ - db/migrate/20160925213031_change_scap_widget_names.rb
194
195
  - db/seeds.d/openscap_feature.rb
195
196
  - db/seeds.d/openscap_policy_notification.rb
196
197
  - lib/foreman_openscap.rb
@@ -236,6 +237,7 @@ files:
236
237
  - test/factories/policy_arf_report_factory.rb
237
238
  - test/factories/policy_factory.rb
238
239
  - test/factories/scap_content_related.rb
240
+ - test/files/arf_report/arf_report.bz2
239
241
  - test/files/scap_contents/ssg-fedora-ds.xml
240
242
  - test/functional/api/v2/compliance/arf_reports_controller_test.rb
241
243
  - test/functional/api/v2/compliance/policies_controller_test.rb
@@ -272,31 +274,32 @@ required_rubygems_version: !ruby/object:Gem::Requirement
272
274
  version: '0'
273
275
  requirements: []
274
276
  rubyforge_project:
275
- rubygems_version: 2.4.5
277
+ rubygems_version: 2.4.6
276
278
  signing_key:
277
279
  specification_version: 4
278
280
  summary: Foreman plug-in for displaying OpenSCAP audit reports
279
281
  test_files:
280
- - test/lib/foreman_openscap/bulk_upload_test.rb
281
- - test/unit/scap_content_test.rb
282
- - test/unit/concerns/openscap_proxy_extenstions_test.rb
283
- - test/unit/openscap_host_test.rb
284
- - test/unit/policy_test.rb
285
- - test/unit/compliance_status_test.rb
286
- - test/unit/arf_report_status_calculator_test.rb
287
- - test/unit/policy_mailer_test.rb
288
- - test/unit/services/report_dashboard/data_test.rb
289
- - test/unit/arf_report_test.rb
290
- - test/test_plugin_helper.rb
291
- - test/functional/arf_reports_controller_test.rb
292
- - test/functional/api/v2/compliance/arf_reports_controller_test.rb
293
- - test/functional/api/v2/compliance/scap_contents_controller_test.rb
294
282
  - test/functional/api/v2/compliance/policies_controller_test.rb
283
+ - test/functional/api/v2/compliance/scap_contents_controller_test.rb
284
+ - test/functional/api/v2/compliance/arf_reports_controller_test.rb
285
+ - test/functional/arf_reports_controller_test.rb
295
286
  - test/factories/asset_factory.rb
287
+ - test/factories/compliance_host_factory.rb
288
+ - test/factories/scap_content_related.rb
296
289
  - test/factories/compliance_log_factory.rb
297
290
  - test/factories/arf_report_factory.rb
298
- - test/factories/scap_content_related.rb
299
- - test/factories/compliance_host_factory.rb
300
291
  - test/factories/policy_arf_report_factory.rb
301
292
  - test/factories/policy_factory.rb
293
+ - test/files/arf_report/arf_report.bz2
302
294
  - test/files/scap_contents/ssg-fedora-ds.xml
295
+ - test/lib/foreman_openscap/bulk_upload_test.rb
296
+ - test/test_plugin_helper.rb
297
+ - test/unit/arf_report_status_calculator_test.rb
298
+ - test/unit/compliance_status_test.rb
299
+ - test/unit/arf_report_test.rb
300
+ - test/unit/policy_mailer_test.rb
301
+ - test/unit/openscap_host_test.rb
302
+ - test/unit/scap_content_test.rb
303
+ - test/unit/concerns/openscap_proxy_extenstions_test.rb
304
+ - test/unit/services/report_dashboard/data_test.rb
305
+ - test/unit/policy_test.rb