smart_proxy_openscap 0.6.10 → 0.6.11

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: 1a93f2467106e6d7bcdeab29c7cc83671c3f3922
4
- data.tar.gz: 59d764d975e32881bc3a5469c7b0be5651bdd623
3
+ metadata.gz: 6076ca39518813d5f4ac1dbf16a0f741200c8d66
4
+ data.tar.gz: 0045badb98b310b25bed8fd61faae944856dfcf4
5
5
  SHA512:
6
- metadata.gz: 5cf5e451c9bc4d9e0ae2ef7e149b482b13934b85db03bd8875a78378a0535e6c0c858f7e020f7484cc2d3bb7477e15a7673177b48c1f1abdb4f1fbaee58d4814
7
- data.tar.gz: 36e945df701ac5c9122011552bce0cce6e65ae2eb5aa7c48242f9c3db210099a3bd4ffa1c2d38f7c16d2fb9b288a141262b031427d4169fba38c922b37023da6
6
+ metadata.gz: 2acd7a57974547171d678219a32ac804a6606f5508ff20bcfbe07bc348c8ef5c1d7802618ee69fa79590898748a6d2f3724bcf2354c271d27dcdef95deeb2f17
7
+ data.tar.gz: 54fd17a312559d449bbbcf0a7d5d6826e9c1149d6d55503f80575c2087302ff687ee9beed33c927343aad234c4978e2c9ea64f9640a7178012de8c2c92575e5a
@@ -4,4 +4,4 @@ $:.unshift(path) if File.exist? path
4
4
 
5
5
  require 'smart_proxy_openscap/arf_json'
6
6
 
7
- Proxy::OpenSCAP::ArfJson.new.as_json ARGV[0], ARGV[1]
7
+ Proxy::OpenSCAP::ArfJson.new.as_json ARGV[0], ARGV[1], ARGV[2], ARGV[3]
@@ -12,7 +12,7 @@ require 'digest'
12
12
  module Proxy
13
13
  module OpenSCAP
14
14
  class ArfJson
15
- def as_json(file_in, file_out)
15
+ def as_json(file_in, file_out, proxy_name, proxy_url)
16
16
  ::OpenSCAP.oscap_init
17
17
  arf_digest = Digest::SHA256.hexdigest(File.read(file_in))
18
18
 
@@ -26,6 +26,9 @@ module Proxy
26
26
  items = benchmark.items
27
27
 
28
28
  report = parse_results(items, results, arf_digest)
29
+ report[:openscap_proxy_name] = proxy_name
30
+ report[:openscap_proxy_url] = proxy_url
31
+
29
32
  File.write file_out, report.to_json
30
33
  ensure
31
34
  cleanup test_result, benchmark, sds, arf
@@ -28,7 +28,11 @@ module Proxy
28
28
  end
29
29
 
30
30
  def command(in_file, out_file)
31
- "#{script_location} #{in_file.path} #{out_file.path}"
31
+ "#{script_location} " <<
32
+ "#{in_file.path} " <<
33
+ "#{out_file.path} " <<
34
+ "#{Proxy::OpenSCAP::Plugin.settings.registered_proxy_name} " <<
35
+ "#{Proxy::OpenSCAP::Plugin.settings.registered_proxy_url}"
32
36
  end
33
37
  end
34
38
  end
@@ -59,7 +59,7 @@ module Proxy::OpenSCAP
59
59
  logger.error "Failed to parse Arf Report at #{arf_file_path}, moving to #{@loaded_settings.corrupted_dir}"
60
60
 
61
61
  Proxy::OpenSCAP::StorageFS.new(@loaded_settings.corrupted_dir, cname, policy_id, date).
62
- move_corrupted(arf_file_path.split('/').last)
62
+ move_corrupted(arf_file_path.split('/').last, @loaded_settings.spooldir)
63
63
 
64
64
  rescue StandardError => e
65
65
  logger.error "smart-proxy-openscap-send failed to upload Compliance report for #{cname}, generated on #{Time.at date.to_i}. Cause: #{e}"
@@ -18,8 +18,8 @@ module Proxy::OpenSCAP
18
18
  store(data, StoreCorruptedError)
19
19
  end
20
20
 
21
- def move_corrupted(digest)
22
- source = "#{Proxy::OpenSCAP::Plugin.settings.spooldir}/#{@namespace}/#{@cname}/#{@id}/#{@date}"
21
+ def move_corrupted(digest, spooldir)
22
+ source = "#{spooldir}/#{@namespace}/#{@cname}/#{@id}/#{@date}"
23
23
  move "#{source}/#{digest}", StoreCorruptedError
24
24
  end
25
25
 
@@ -10,6 +10,6 @@
10
10
 
11
11
  module Proxy
12
12
  module OpenSCAP
13
- VERSION = '0.6.10'
13
+ VERSION = '0.6.11'
14
14
  end
15
15
  end
@@ -17,10 +17,12 @@ class ScriptClassTest < Test::Unit::TestCase
17
17
 
18
18
  def test_arf_as_json
19
19
  carry_out do |tmp|
20
- Proxy::OpenSCAP::ArfJson.new.as_json("#{Dir.getwd}/test/data/arf_report", tmp.path)
20
+ Proxy::OpenSCAP::ArfJson.new.as_json("#{Dir.getwd}/test/data/arf_report", tmp.path, 'my-proxy', 'http://test-proxy.org')
21
21
  json = read_json tmp
22
22
  refute json['logs'].empty?
23
23
  refute json['metrics'].empty?
24
+ refute json['openscap_proxy_name'].empty?
25
+ refute json['openscap_proxy_url'].empty?
24
26
  end
25
27
  end
26
28
 
@@ -53,7 +55,7 @@ class ScriptClassTest < Test::Unit::TestCase
53
55
 
54
56
  def test_arf_json
55
57
  carry_out do |tmp|
56
- Proxy::OpenSCAP::ArfJson.new.as_json("#{Dir.getwd}/test/data/arf_report", tmp.path)
58
+ Proxy::OpenSCAP::ArfJson.new.as_json("#{Dir.getwd}/test/data/arf_report", tmp.path, 'my-proxy', 'http://test-proxy.org')
57
59
  json = read_json tmp
58
60
  refute json['logs'].empty?
59
61
  refute json['metrics'].empty?
@@ -1,6 +1,7 @@
1
1
  require 'test_helper'
2
2
  require 'smart_proxy_openscap'
3
3
  require 'smart_proxy_openscap/openscap_lib'
4
+ require 'ostruct'
4
5
 
5
6
  class SpoolForwarderTest < Test::Unit::TestCase
6
7
  def setup
@@ -9,11 +10,13 @@ class SpoolForwarderTest < Test::Unit::TestCase
9
10
  @base_spool_for_test = ("#{Dir.getwd}/test/data/spool")
10
11
  @results_path = ("#{Dir.getwd}/test/test_run_files")
11
12
  FileUtils.mkdir_p(@results_path)
12
- Proxy::OpenSCAP::Plugin.settings.stubs(:contentdir).returns(@results_path)
13
13
  @spooldir = @results_path + "/spool"
14
- Proxy::OpenSCAP::Plugin.settings.stubs(:spooldir).returns(@spooldir)
15
- Proxy::OpenSCAP::Plugin.settings.stubs(:reportsdir).returns(@results_path + "/reports")
16
- Proxy::OpenSCAP::Plugin.settings.stubs(:corrupted_dir).returns(@results_path + "/corrupted")
14
+ @loaded_settings = OpenStruct.new(
15
+ :spooldir => @spooldir,
16
+ :contentdir => @results_path,
17
+ :reportsdir => @results_path + "/reports",
18
+ :corrupted_dir => @results_path + "/corrupted")
19
+
17
20
  @policy_id = 1
18
21
  @date_1 = 1484309984
19
22
  @date_2 = 1484313035
@@ -24,14 +27,13 @@ class SpoolForwarderTest < Test::Unit::TestCase
24
27
  @cname = "e20b9695-f655-401a-9dda-8cca7a47a8c0"
25
28
  @cname_2 = "2c101b95-033f-4b15-b490-f50bf9090dae"
26
29
 
27
- @arf_dir = File.join(Proxy::OpenSCAP::Plugin.settings.spooldir, "/arf")
30
+ @arf_dir = File.join(@loaded_settings.spooldir, "/arf")
28
31
 
29
32
  stub_request(:post, "#{@foreman_url}/api/v2/compliance/arf_reports/#{@cname}/#{@policy_id}/#{@date_1}")
30
33
  .to_return(:status => 200, :body => "{\"result\":\"OK\",\"id\":\"#{@id_1}\"}")
31
34
 
32
35
  stub_request(:post, "#{@foreman_url}/api/v2/compliance/arf_reports/#{@cname}/#{@policy_id}/#{@date_2}")
33
36
  .to_return(:status => 200, :body => "{\"result\":\"OK\",\"id\":\"#{@id_2}\"}")
34
-
35
37
  end
36
38
 
37
39
  def teardown
@@ -42,7 +44,7 @@ class SpoolForwarderTest < Test::Unit::TestCase
42
44
  test_spool = @base_spool_for_test + "/valid_spool/"
43
45
  FileUtils.cp_r test_spool, @spooldir
44
46
 
45
- Proxy::OpenSCAP::SpoolForwarder.new.post_arf_from_spool(@arf_dir)
47
+ Proxy::OpenSCAP::SpoolForwarder.new(@loaded_settings).post_arf_from_spool(@arf_dir)
46
48
  assert(File.file?("#{@results_path}/reports/arf/#{@cname}/#{@id_1}/#{@date_1}/#{@valid_digest}"), "File should be in reports directory")
47
49
  assert(File.file?("#{@results_path}/reports/arf/#{@cname}/#{@id_2}/#{@date_2}/#{@valid_digest}"), "File should be in reports directory")
48
50
  refute(File.file?("#{@spooldir}/arf/#{@cname}/#{@policy_id}/#{@date_1}/#{@valid_digest}"), "File should not be in spool directory")
@@ -53,7 +55,7 @@ class SpoolForwarderTest < Test::Unit::TestCase
53
55
  test_spool = @base_spool_for_test + "/corrupted_spool/"
54
56
  FileUtils.cp_r test_spool, @spooldir
55
57
 
56
- Proxy::OpenSCAP::SpoolForwarder.new.post_arf_from_spool(@arf_dir)
58
+ Proxy::OpenSCAP::SpoolForwarder.new(@loaded_settings).post_arf_from_spool(@arf_dir)
57
59
 
58
60
  assert(File.file?("#{@results_path}/corrupted/arf/#{@cname}/#{@policy_id}/#{@date_1}/#{@corrupted_digest}"), "File should be in corrupted directory")
59
61
  assert(File.file?("#{@results_path}/reports/arf/#{@cname}/#{@id_2}/#{@date_2}/#{@valid_digest}"), "File should be in reports directory")
@@ -72,7 +74,7 @@ class SpoolForwarderTest < Test::Unit::TestCase
72
74
  stub_request(:post, "#{@foreman_url}/api/v2/compliance/arf_reports/#{@cname_2}/#{@policy_id}/#{@date_2}")
73
75
  .to_return(:status => 500)
74
76
 
75
- Proxy::OpenSCAP::SpoolForwarder.new.post_arf_from_spool(@arf_dir)
77
+ Proxy::OpenSCAP::SpoolForwarder.new(@loaded_settings).post_arf_from_spool(@arf_dir)
76
78
 
77
79
  assert(File.file?("#{@results_path}/reports/arf/#{@cname}/#{@id_1}/#{@date_1}/#{@valid_digest}"), "File should be in reports directory")
78
80
  assert(File.file?("#{@spooldir}/arf/#{@cname_2}/#{@policy_id}/#{@date_2}/#{@valid_digest}"), "File should be in spool directory")
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: smart_proxy_openscap
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.10
4
+ version: 0.6.11
5
5
  platform: ruby
6
6
  authors:
7
7
  - Šimon Lukašík
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2018-03-13 00:00:00.000000000 Z
13
+ date: 2018-09-19 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: rake