oscal 0.2.0 → 0.2.3

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
  SHA256:
3
- metadata.gz: 562c827a391c4d86af9edb5cdf98ee1a61fb3a7d57374aa29a3a70609df09bb3
4
- data.tar.gz: 2031cf36b122b094cb3532bff51534de756907327d7f3bb09456a9120a510607
3
+ metadata.gz: 48c506201a2d0400f0757c293c18f52a421de5d9bc4650d74ae38c7250328e8b
4
+ data.tar.gz: 5918daf1884cd7a483748c058f32f3c0520572a68b9a29167272f9d514503ae9
5
5
  SHA512:
6
- metadata.gz: cbd11774c99f75b1e8b365488fb3fdd4969a7917de692cbf7546118b2a3102767af8b9ed9a140c2998a0d4cff9f282061eeea03da47371b864d67067307433c3
7
- data.tar.gz: d7510b9543be93b734be45f0d4140d32413af2d8a5462339bac65db9de3ff9a98c3b696537af73a9f23c1f491e85b269e898008df07da5180b2036e52fdff48a
6
+ metadata.gz: dfe64417748c6305b5ac8b44f092eedaf2d853defd9f39efd5ed13b1a82a1c510099fb948cc9b1d5558256f27e8fc19c4285c4f22e1eea76464f0489136dfa92
7
+ data.tar.gz: 6966ed7ea89daad3d90ca0423bf7053126bb4546ee4e1aa1ccafb0c1ccc7e11391d4b3513ddcfc24a9396c2d6e06522b036d15bdcbbff24b9a09c8718b6b7890
@@ -1,6 +1,7 @@
1
1
  require_relative "parsing_functions"
2
2
  require_relative "logger"
3
3
  require_relative "metadata_block"
4
+ require "json"
4
5
 
5
6
  module Oscal
6
7
  class MetadataBlockWrapper < Oscal::MetadataBlock
@@ -32,8 +33,8 @@ module Oscal
32
33
  end
33
34
  end
34
35
 
35
- def to_json
36
- to_h.to_json
36
+ def to_json(*args)
37
+ to_h.to_json(*args)
37
38
  end
38
39
 
39
40
  def to_h
@@ -41,6 +41,7 @@ module Oscal
41
41
  parts: AssessmentResult::PartArray,
42
42
  party_uuids: AssessmentResult::PartyUuidArray,
43
43
  props: AssessmentResult::PropArray,
44
+ reason: TokenDataType,
44
45
  related_controls: AssessmentResult::RelatedControls,
45
46
  related_observations: AssessmentResult::RelatedObservationArray,
46
47
  related_risks: AssessmentResult::RelatedRiskArray,
data/lib/oscal/logger.rb CHANGED
@@ -1,8 +1,12 @@
1
1
  module Oscal
2
2
  module ParsingLogger
3
3
  require "logger"
4
+ def self.logger=(value)
5
+ @@logger = value
6
+ end
7
+
4
8
  def get_logger
5
- Logger.new($stdout)
9
+ @@logger ||= Logger.new($stdout)
6
10
  end
7
11
  end
8
12
  end
@@ -1,4 +1,5 @@
1
1
  require "yaml"
2
+ require "json"
2
3
 
3
4
  module Oscal
4
5
  module Serializer
data/lib/oscal/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Oscal
4
- VERSION = "0.2.0"
4
+ VERSION = "0.2.3"
5
5
  end
@@ -0,0 +1,21 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "../spec_helper"
4
+
5
+ RSpec.describe Oscal::AssessmentPlan::AssessmentPlan do
6
+ let(:fields) do
7
+ {
8
+ uuid: "4d56d1ab-d91e-4f7a-9055-1883c4e580b8",
9
+ metadata: {},
10
+ import_ssp: { href: "./ssp.json" },
11
+ reviewed_controls: { control_selections: [] },
12
+ }
13
+ end
14
+ subject { described_class.new(fields) }
15
+
16
+ describe "#to_json" do
17
+ it "generates a json representation of the assessment plan" do
18
+ expect(subject.to_json).to eq(JSON.generate(fields))
19
+ end
20
+ end
21
+ end
@@ -1,5 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ require_relative "../spec_helper"
4
+
3
5
  RSpec.describe Oscal::Catalog do
4
6
  let(:subject) do
5
7
  Oscal::Catalog.load_from_yaml(
data/spec/oscal_spec.rb CHANGED
@@ -4,4 +4,15 @@ RSpec.describe Oscal do
4
4
  it "has a version number" do
5
5
  expect(Oscal::VERSION).not_to be nil
6
6
  end
7
+
8
+ it "allows setting a new logger" do
9
+ logger = double(Logger)
10
+ Oscal::ParsingLogger.logger = logger
11
+
12
+ class LoggerTest
13
+ include Oscal::ParsingLogger
14
+ end
15
+
16
+ expect(LoggerTest.new.get_logger).to eq logger
17
+ end
7
18
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: oscal
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.2.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ribose Inc.
8
- autorequire:
8
+ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2024-06-07 00:00:00.000000000 Z
11
+ date: 2024-07-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: yaml
@@ -120,6 +120,7 @@ files:
120
120
  - lib/oscal/with_id.rb
121
121
  - oscal.gemspec
122
122
  - sig/oscal.rbs
123
+ - spec/oscal/assessment_plan_spec.rb
123
124
  - spec/oscal/catalog_spec.rb
124
125
  - spec/oscal_spec.rb
125
126
  - spec/sample_inputs/import-ap.json
@@ -132,7 +133,7 @@ metadata:
132
133
  source_code_uri: https://github.com/metanorma/oscal-ruby/
133
134
  changelog_uri: https://github.com/metanorma/oscal-ruby/CHANGELOG
134
135
  rubygems_mfa_required: 'true'
135
- post_install_message:
136
+ post_install_message:
136
137
  rdoc_options: []
137
138
  require_paths:
138
139
  - lib
@@ -147,8 +148,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
147
148
  - !ruby/object:Gem::Version
148
149
  version: '0'
149
150
  requirements: []
150
- rubygems_version: 3.4.10
151
- signing_key:
151
+ rubygems_version: 3.3.27
152
+ signing_key:
152
153
  specification_version: 4
153
154
  summary: Interact with OSCAL models
154
155
  test_files: []