bundler-audit 0.8.0 → 0.9.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (42) hide show
  1. checksums.yaml +4 -4
  2. data/.github/ISSUE_TEMPLATE/bug-report.md +44 -0
  3. data/.github/ISSUE_TEMPLATE/feature-request.md +14 -0
  4. data/.github/workflows/ruby.yml +16 -2
  5. data/.rubocop.yml +86 -0
  6. data/COPYING.txt +4 -4
  7. data/ChangeLog.md +51 -0
  8. data/Gemfile +8 -3
  9. data/README.md +58 -26
  10. data/Rakefile +7 -3
  11. data/bundler-audit.gemspec +2 -3
  12. data/gemspec.yml +7 -0
  13. data/lib/bundler/audit/advisory.rb +25 -3
  14. data/lib/bundler/audit/cli/formats/json.rb +17 -3
  15. data/lib/bundler/audit/cli/formats/junit.rb +127 -0
  16. data/lib/bundler/audit/cli/formats/text.rb +13 -9
  17. data/lib/bundler/audit/cli/formats.rb +8 -4
  18. data/lib/bundler/audit/cli.rb +37 -18
  19. data/lib/bundler/audit/configuration.rb +8 -5
  20. data/lib/bundler/audit/database.rb +28 -10
  21. data/lib/bundler/audit/results/insecure_source.rb +5 -2
  22. data/lib/bundler/audit/results/unpatched_gem.rb +7 -3
  23. data/lib/bundler/audit/results.rb +2 -2
  24. data/lib/bundler/audit/scanner.rb +17 -8
  25. data/lib/bundler/audit/task.rb +50 -5
  26. data/lib/bundler/audit/version.rb +3 -3
  27. data/lib/bundler/audit.rb +2 -2
  28. data/spec/advisory_spec.rb +19 -2
  29. data/spec/bundle/insecure_sources/Gemfile.lock +71 -73
  30. data/spec/bundle/secure/Gemfile.lock +60 -62
  31. data/spec/cli/formats/json_spec.rb +1 -0
  32. data/spec/cli/formats/junit_spec.rb +284 -0
  33. data/spec/cli/formats/text_spec.rb +88 -18
  34. data/spec/cli_spec.rb +57 -17
  35. data/spec/database_spec.rb +26 -2
  36. data/spec/fixtures/advisory/CVE-2020-1234.yml +1 -0
  37. data/spec/fixtures/lib/bundler/audit/cli/formats/bad.rb +0 -2
  38. data/spec/fixtures/lib/bundler/audit/cli/formats/good.rb +0 -2
  39. data/spec/results/unpatched_gem_spec.rb +2 -2
  40. data/spec/scanner_spec.rb +25 -1
  41. data/spec/spec_helper.rb +5 -1
  42. metadata +29 -8
@@ -2,7 +2,13 @@ require 'rake/tasklib'
2
2
 
3
3
  module Bundler
4
4
  module Audit
5
+ #
6
+ # Defines the `bundle:audit` rake tasks.
7
+ #
5
8
  class Task < Rake::TaskLib
9
+ class CommandNotFound < RuntimeError
10
+ end
11
+
6
12
  #
7
13
  # Initializes the task.
8
14
  #
@@ -13,15 +19,54 @@ module Bundler
13
19
  protected
14
20
 
15
21
  #
16
- # Defines the `bundle:audit` task.
22
+ # Defines the `bundle:audit` and `bundle:audit:update` task.
17
23
  #
18
24
  def define
19
25
  namespace :bundle do
20
- desc 'Checks the Gemfile.lock for insecure dependencies'
21
- task :audit do
22
- require 'bundler/audit/cli'
23
- Bundler::Audit::CLI.start %w[check]
26
+ namespace :audit do
27
+ desc 'Checks the Gemfile.lock for insecure dependencies'
28
+ task :check do
29
+ bundler_audit 'check'
30
+ end
31
+
32
+ desc 'Updates the bundler-audit vulnerability database'
33
+ task :update do
34
+ bundler_audit 'update'
35
+ end
24
36
  end
37
+
38
+ task :audit => 'audit:check'
39
+ end
40
+
41
+ task 'bundler:audit' => 'bundle:audit'
42
+ task 'bundler:audit:check' => 'bundle:audit:check'
43
+ task 'bundler:audit:update' => 'bundle:audit:update'
44
+ end
45
+
46
+ #
47
+ # Runs the `bundler-audit` command with the additional arguments.
48
+ #
49
+ # @param [Array<String>] arguments
50
+ # Additional command-line arguments for `bundler-audit`.
51
+ #
52
+ # @return [true]
53
+ # The `bundler-audit` command successfully exited.
54
+ #
55
+ # @raise [CommandNotFound]
56
+ # The `bundler-audit` command could not be executed or was not found.
57
+ #
58
+ # @note
59
+ # If the `bundler-audit` command exits with an error, the rake task
60
+ # will also exit with the same error code.
61
+ #
62
+ def bundler_audit(*arguments)
63
+ case system('bundler-audit',*arguments)
64
+ when false
65
+ exit $?.exitstatus || 1
66
+ when nil
67
+ raise(CommandNotFound,"bundler-audit could not be executed")
68
+ else
69
+ return true
25
70
  end
26
71
  end
27
72
  end
@@ -1,5 +1,5 @@
1
1
  #
2
- # Copyright (c) 2013-2021 Hal Brodigan (postmodern.mod3 at gmail.com)
2
+ # Copyright (c) 2013-2022 Hal Brodigan (postmodern.mod3 at gmail.com)
3
3
  #
4
4
  # bundler-audit is free software: you can redistribute it and/or modify
5
5
  # it under the terms of the GNU General Public License as published by
@@ -12,12 +12,12 @@
12
12
  # GNU General Public License for more details.
13
13
  #
14
14
  # You should have received a copy of the GNU General Public License
15
- # along with bundler-audit. If not, see <http://www.gnu.org/licenses/>.
15
+ # along with bundler-audit. If not, see <https://www.gnu.org/licenses/>.
16
16
  #
17
17
 
18
18
  module Bundler
19
19
  module Audit
20
20
  # bundler-audit version
21
- VERSION = '0.8.0'
21
+ VERSION = '0.9.1'
22
22
  end
23
23
  end
data/lib/bundler/audit.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  #
2
- # Copyright (c) 2013-2021 Hal Brodigan (postmodern.mod3 at gmail.com)
2
+ # Copyright (c) 2013-2022 Hal Brodigan (postmodern.mod3 at gmail.com)
3
3
  #
4
4
  # bundler-audit is free software: you can redistribute it and/or modify
5
5
  # it under the terms of the GNU General Public License as published by
@@ -12,7 +12,7 @@
12
12
  # GNU General Public License for more details.
13
13
  #
14
14
  # You should have received a copy of the GNU General Public License
15
- # along with bundler-audit. If not, see <http://www.gnu.org/licenses/>.
15
+ # along with bundler-audit. If not, see <https://www.gnu.org/licenses/>.
16
16
  #
17
17
 
18
18
  require 'bundler/audit/database'
@@ -45,7 +45,16 @@ describe Bundler::Audit::Advisory do
45
45
  end
46
46
 
47
47
  describe "load" do
48
- let(:data) { YAML.load_file(path) }
48
+ let(:data) do
49
+ File.open(path) do |yaml|
50
+ if Psych::VERSION >= '3.1.0'
51
+ YAML.safe_load(yaml, permitted_classes: [Date])
52
+ else
53
+ # XXX: psych < 3.1.0 YAML.safe_load calling convention
54
+ YAML.safe_load(yaml, [Date])
55
+ end
56
+ end
57
+ end
49
58
 
50
59
  describe '#id' do
51
60
  subject { super().id }
@@ -83,7 +92,7 @@ describe Bundler::Audit::Advisory do
83
92
  end
84
93
 
85
94
  context "YAML data not representing a hash" do
86
- let(:path ) do
95
+ let(:path) do
87
96
  File.expand_path('../fixtures/advisory/not_a_hash.yml', __FILE__)
88
97
  end
89
98
 
@@ -353,4 +362,12 @@ describe Bundler::Audit::Advisory do
353
362
  end
354
363
  end
355
364
  end
365
+
366
+ describe "#to_h" do
367
+ subject { super().to_h }
368
+
369
+ it "must include criticality: :critical" do
370
+ expect(subject[:criticality]).to be :critical
371
+ end
372
+ end
356
373
  end
@@ -10,122 +10,120 @@ GIT
10
10
  GEM
11
11
  remote: http://rubygems.org/
12
12
  specs:
13
- actioncable (6.1.0)
14
- actionpack (= 6.1.0)
15
- activesupport (= 6.1.0)
13
+ actioncable (6.1.3.2)
14
+ actionpack (= 6.1.3.2)
15
+ activesupport (= 6.1.3.2)
16
16
  nio4r (~> 2.0)
17
17
  websocket-driver (>= 0.6.1)
18
- actionmailbox (6.1.0)
19
- actionpack (= 6.1.0)
20
- activejob (= 6.1.0)
21
- activerecord (= 6.1.0)
22
- activestorage (= 6.1.0)
23
- activesupport (= 6.1.0)
18
+ actionmailbox (6.1.3.2)
19
+ actionpack (= 6.1.3.2)
20
+ activejob (= 6.1.3.2)
21
+ activerecord (= 6.1.3.2)
22
+ activestorage (= 6.1.3.2)
23
+ activesupport (= 6.1.3.2)
24
24
  mail (>= 2.7.1)
25
- actionmailer (6.1.0)
26
- actionpack (= 6.1.0)
27
- actionview (= 6.1.0)
28
- activejob (= 6.1.0)
29
- activesupport (= 6.1.0)
25
+ actionmailer (6.1.3.2)
26
+ actionpack (= 6.1.3.2)
27
+ actionview (= 6.1.3.2)
28
+ activejob (= 6.1.3.2)
29
+ activesupport (= 6.1.3.2)
30
30
  mail (~> 2.5, >= 2.5.4)
31
31
  rails-dom-testing (~> 2.0)
32
- actionpack (6.1.0)
33
- actionview (= 6.1.0)
34
- activesupport (= 6.1.0)
32
+ actionpack (6.1.3.2)
33
+ actionview (= 6.1.3.2)
34
+ activesupport (= 6.1.3.2)
35
35
  rack (~> 2.0, >= 2.0.9)
36
36
  rack-test (>= 0.6.3)
37
37
  rails-dom-testing (~> 2.0)
38
38
  rails-html-sanitizer (~> 1.0, >= 1.2.0)
39
- actiontext (6.1.0)
40
- actionpack (= 6.1.0)
41
- activerecord (= 6.1.0)
42
- activestorage (= 6.1.0)
43
- activesupport (= 6.1.0)
39
+ actiontext (6.1.3.2)
40
+ actionpack (= 6.1.3.2)
41
+ activerecord (= 6.1.3.2)
42
+ activestorage (= 6.1.3.2)
43
+ activesupport (= 6.1.3.2)
44
44
  nokogiri (>= 1.8.5)
45
- actionview (6.1.0)
46
- activesupport (= 6.1.0)
45
+ actionview (6.1.3.2)
46
+ activesupport (= 6.1.3.2)
47
47
  builder (~> 3.1)
48
48
  erubi (~> 1.4)
49
49
  rails-dom-testing (~> 2.0)
50
50
  rails-html-sanitizer (~> 1.1, >= 1.2.0)
51
- activejob (6.1.0)
52
- activesupport (= 6.1.0)
51
+ activejob (6.1.3.2)
52
+ activesupport (= 6.1.3.2)
53
53
  globalid (>= 0.3.6)
54
- activemodel (6.1.0)
55
- activesupport (= 6.1.0)
56
- activerecord (6.1.0)
57
- activemodel (= 6.1.0)
58
- activesupport (= 6.1.0)
59
- activestorage (6.1.0)
60
- actionpack (= 6.1.0)
61
- activejob (= 6.1.0)
62
- activerecord (= 6.1.0)
63
- activesupport (= 6.1.0)
64
- marcel (~> 0.3.1)
65
- mimemagic (~> 0.3.2)
66
- activesupport (6.1.0)
54
+ activemodel (6.1.3.2)
55
+ activesupport (= 6.1.3.2)
56
+ activerecord (6.1.3.2)
57
+ activemodel (= 6.1.3.2)
58
+ activesupport (= 6.1.3.2)
59
+ activestorage (6.1.3.2)
60
+ actionpack (= 6.1.3.2)
61
+ activejob (= 6.1.3.2)
62
+ activerecord (= 6.1.3.2)
63
+ activesupport (= 6.1.3.2)
64
+ marcel (~> 1.0.0)
65
+ mini_mime (~> 1.0.2)
66
+ activesupport (6.1.3.2)
67
67
  concurrent-ruby (~> 1.0, >= 1.0.2)
68
68
  i18n (>= 1.6, < 2)
69
69
  minitest (>= 5.1)
70
70
  tzinfo (~> 2.0)
71
71
  zeitwerk (~> 2.3)
72
72
  builder (3.2.4)
73
- concurrent-ruby (1.1.7)
73
+ concurrent-ruby (1.1.8)
74
74
  crass (1.0.6)
75
75
  erubi (1.10.0)
76
76
  globalid (0.4.2)
77
77
  activesupport (>= 4.2.0)
78
- i18n (1.8.5)
78
+ i18n (1.8.10)
79
79
  concurrent-ruby (~> 1.0)
80
- loofah (2.8.0)
80
+ loofah (2.9.1)
81
81
  crass (~> 1.0.2)
82
82
  nokogiri (>= 1.5.9)
83
83
  mail (2.7.1)
84
84
  mini_mime (>= 0.1.1)
85
- marcel (0.3.3)
86
- mimemagic (~> 0.3.2)
85
+ marcel (1.0.1)
87
86
  method_source (1.0.0)
88
- mimemagic (0.3.5)
89
- mini_mime (1.0.2)
90
- mini_portile2 (2.5.0)
91
- minitest (5.14.2)
92
- nio4r (2.5.4)
93
- nokogiri (1.11.1)
94
- mini_portile2 (~> 2.5.0)
87
+ mini_mime (1.0.3)
88
+ mini_portile2 (2.8.0)
89
+ minitest (5.14.4)
90
+ nio4r (2.5.7)
91
+ nokogiri (1.13.6)
92
+ mini_portile2 (~> 2.8.0)
95
93
  racc (~> 1.4)
96
- nokogiri (1.11.1-x86_64-linux)
94
+ nokogiri (1.13.6-x86_64-linux)
97
95
  racc (~> 1.4)
98
- racc (1.5.2)
96
+ racc (1.6.0)
99
97
  rack (2.2.3)
100
98
  rack-test (1.1.0)
101
99
  rack (>= 1.0, < 3)
102
- rails (6.1.0)
103
- actioncable (= 6.1.0)
104
- actionmailbox (= 6.1.0)
105
- actionmailer (= 6.1.0)
106
- actionpack (= 6.1.0)
107
- actiontext (= 6.1.0)
108
- actionview (= 6.1.0)
109
- activejob (= 6.1.0)
110
- activemodel (= 6.1.0)
111
- activerecord (= 6.1.0)
112
- activestorage (= 6.1.0)
113
- activesupport (= 6.1.0)
100
+ rails (6.1.3.2)
101
+ actioncable (= 6.1.3.2)
102
+ actionmailbox (= 6.1.3.2)
103
+ actionmailer (= 6.1.3.2)
104
+ actionpack (= 6.1.3.2)
105
+ actiontext (= 6.1.3.2)
106
+ actionview (= 6.1.3.2)
107
+ activejob (= 6.1.3.2)
108
+ activemodel (= 6.1.3.2)
109
+ activerecord (= 6.1.3.2)
110
+ activestorage (= 6.1.3.2)
111
+ activesupport (= 6.1.3.2)
114
112
  bundler (>= 1.15.0)
115
- railties (= 6.1.0)
113
+ railties (= 6.1.3.2)
116
114
  sprockets-rails (>= 2.0.0)
117
115
  rails-dom-testing (2.0.3)
118
116
  activesupport (>= 4.2.0)
119
117
  nokogiri (>= 1.6)
120
118
  rails-html-sanitizer (1.3.0)
121
119
  loofah (~> 2.3)
122
- railties (6.1.0)
123
- actionpack (= 6.1.0)
124
- activesupport (= 6.1.0)
120
+ railties (6.1.3.2)
121
+ actionpack (= 6.1.3.2)
122
+ activesupport (= 6.1.3.2)
125
123
  method_source
126
124
  rake (>= 0.8.7)
127
125
  thor (~> 1.0)
128
- rake (13.0.1)
126
+ rake (13.0.3)
129
127
  sprockets (4.0.2)
130
128
  concurrent-ruby (~> 1.0)
131
129
  rack (> 1, < 3)
@@ -133,10 +131,10 @@ GEM
133
131
  actionpack (>= 4.0)
134
132
  activesupport (>= 4.0)
135
133
  sprockets (>= 3.0.0)
136
- thor (1.0.1)
137
- tzinfo (2.0.3)
134
+ thor (1.1.0)
135
+ tzinfo (2.0.4)
138
136
  concurrent-ruby (~> 1.0)
139
- websocket-driver (0.7.3)
137
+ websocket-driver (0.7.4)
140
138
  websocket-extensions (>= 0.1.0)
141
139
  websocket-extensions (0.1.5)
142
140
  zeitwerk (2.4.2)
@@ -1,115 +1,113 @@
1
1
  GEM
2
2
  remote: https://rubygems.org/
3
3
  specs:
4
- actioncable (5.2.4.4)
5
- actionpack (= 5.2.4.4)
4
+ actioncable (5.2.8)
5
+ actionpack (= 5.2.8)
6
6
  nio4r (~> 2.0)
7
7
  websocket-driver (>= 0.6.1)
8
- actionmailer (5.2.4.4)
9
- actionpack (= 5.2.4.4)
10
- actionview (= 5.2.4.4)
11
- activejob (= 5.2.4.4)
8
+ actionmailer (5.2.8)
9
+ actionpack (= 5.2.8)
10
+ actionview (= 5.2.8)
11
+ activejob (= 5.2.8)
12
12
  mail (~> 2.5, >= 2.5.4)
13
13
  rails-dom-testing (~> 2.0)
14
- actionpack (5.2.4.4)
15
- actionview (= 5.2.4.4)
16
- activesupport (= 5.2.4.4)
14
+ actionpack (5.2.8)
15
+ actionview (= 5.2.8)
16
+ activesupport (= 5.2.8)
17
17
  rack (~> 2.0, >= 2.0.8)
18
18
  rack-test (>= 0.6.3)
19
19
  rails-dom-testing (~> 2.0)
20
20
  rails-html-sanitizer (~> 1.0, >= 1.0.2)
21
- actionview (5.2.4.4)
22
- activesupport (= 5.2.4.4)
21
+ actionview (5.2.8)
22
+ activesupport (= 5.2.8)
23
23
  builder (~> 3.1)
24
24
  erubi (~> 1.4)
25
25
  rails-dom-testing (~> 2.0)
26
26
  rails-html-sanitizer (~> 1.0, >= 1.0.3)
27
- activejob (5.2.4.4)
28
- activesupport (= 5.2.4.4)
27
+ activejob (5.2.8)
28
+ activesupport (= 5.2.8)
29
29
  globalid (>= 0.3.6)
30
- activemodel (5.2.4.4)
31
- activesupport (= 5.2.4.4)
32
- activerecord (5.2.4.4)
33
- activemodel (= 5.2.4.4)
34
- activesupport (= 5.2.4.4)
30
+ activemodel (5.2.8)
31
+ activesupport (= 5.2.8)
32
+ activerecord (5.2.8)
33
+ activemodel (= 5.2.8)
34
+ activesupport (= 5.2.8)
35
35
  arel (>= 9.0)
36
- activestorage (5.2.4.4)
37
- actionpack (= 5.2.4.4)
38
- activerecord (= 5.2.4.4)
39
- marcel (~> 0.3.1)
40
- activesupport (5.2.4.4)
36
+ activestorage (5.2.8)
37
+ actionpack (= 5.2.8)
38
+ activerecord (= 5.2.8)
39
+ marcel (~> 1.0.0)
40
+ activesupport (5.2.8)
41
41
  concurrent-ruby (~> 1.0, >= 1.0.2)
42
42
  i18n (>= 0.7, < 2)
43
43
  minitest (~> 5.1)
44
44
  tzinfo (~> 1.1)
45
45
  arel (9.0.0)
46
46
  builder (3.2.4)
47
- concurrent-ruby (1.1.7)
47
+ concurrent-ruby (1.1.10)
48
48
  crass (1.0.6)
49
49
  erubi (1.10.0)
50
- globalid (0.4.2)
51
- activesupport (>= 4.2.0)
52
- i18n (1.8.5)
50
+ globalid (1.0.0)
51
+ activesupport (>= 5.0)
52
+ i18n (1.10.0)
53
53
  concurrent-ruby (~> 1.0)
54
- loofah (2.8.0)
54
+ loofah (2.18.0)
55
55
  crass (~> 1.0.2)
56
56
  nokogiri (>= 1.5.9)
57
57
  mail (2.7.1)
58
58
  mini_mime (>= 0.1.1)
59
- marcel (0.3.3)
60
- mimemagic (~> 0.3.2)
59
+ marcel (1.0.2)
61
60
  method_source (1.0.0)
62
- mimemagic (0.3.5)
63
- mini_mime (1.0.2)
64
- mini_portile2 (2.5.0)
65
- minitest (5.14.2)
66
- nio4r (2.5.4)
67
- nokogiri (1.11.1)
68
- mini_portile2 (~> 2.5.0)
61
+ mini_mime (1.1.2)
62
+ mini_portile2 (2.8.0)
63
+ minitest (5.15.0)
64
+ nio4r (2.5.8)
65
+ nokogiri (1.13.6)
66
+ mini_portile2 (~> 2.8.0)
69
67
  racc (~> 1.4)
70
- nokogiri (1.11.1-x86_64-linux)
68
+ nokogiri (1.13.6-x86_64-linux)
71
69
  racc (~> 1.4)
72
- racc (1.5.2)
70
+ racc (1.6.0)
73
71
  rack (2.2.3)
74
72
  rack-test (1.1.0)
75
73
  rack (>= 1.0, < 3)
76
- rails (5.2.4.4)
77
- actioncable (= 5.2.4.4)
78
- actionmailer (= 5.2.4.4)
79
- actionpack (= 5.2.4.4)
80
- actionview (= 5.2.4.4)
81
- activejob (= 5.2.4.4)
82
- activemodel (= 5.2.4.4)
83
- activerecord (= 5.2.4.4)
84
- activestorage (= 5.2.4.4)
85
- activesupport (= 5.2.4.4)
74
+ rails (5.2.8)
75
+ actioncable (= 5.2.8)
76
+ actionmailer (= 5.2.8)
77
+ actionpack (= 5.2.8)
78
+ actionview (= 5.2.8)
79
+ activejob (= 5.2.8)
80
+ activemodel (= 5.2.8)
81
+ activerecord (= 5.2.8)
82
+ activestorage (= 5.2.8)
83
+ activesupport (= 5.2.8)
86
84
  bundler (>= 1.3.0)
87
- railties (= 5.2.4.4)
85
+ railties (= 5.2.8)
88
86
  sprockets-rails (>= 2.0.0)
89
87
  rails-dom-testing (2.0.3)
90
88
  activesupport (>= 4.2.0)
91
89
  nokogiri (>= 1.6)
92
90
  rails-html-sanitizer (1.0.4)
93
91
  loofah (~> 2.2, >= 2.2.2)
94
- railties (5.2.4.4)
95
- actionpack (= 5.2.4.4)
96
- activesupport (= 5.2.4.4)
92
+ railties (5.2.8)
93
+ actionpack (= 5.2.8)
94
+ activesupport (= 5.2.8)
97
95
  method_source
98
96
  rake (>= 0.8.7)
99
97
  thor (>= 0.19.0, < 2.0)
100
- rake (13.0.1)
101
- sprockets (4.0.2)
98
+ rake (13.0.6)
99
+ sprockets (4.0.3)
102
100
  concurrent-ruby (~> 1.0)
103
101
  rack (> 1, < 3)
104
- sprockets-rails (3.2.2)
105
- actionpack (>= 4.0)
106
- activesupport (>= 4.0)
102
+ sprockets-rails (3.4.2)
103
+ actionpack (>= 5.2)
104
+ activesupport (>= 5.2)
107
105
  sprockets (>= 3.0.0)
108
- thor (1.0.1)
106
+ thor (1.2.1)
109
107
  thread_safe (0.3.6)
110
- tzinfo (1.2.8)
108
+ tzinfo (1.2.9)
111
109
  thread_safe (~> 0.1)
112
- websocket-driver (0.7.3)
110
+ websocket-driver (0.7.5)
113
111
  websocket-extensions (>= 0.1.0)
114
112
  websocket-extensions (0.1.5)
115
113
 
@@ -122,4 +120,4 @@ DEPENDENCIES
122
120
  rails-html-sanitizer (~> 1.0.3)
123
121
 
124
122
  BUNDLED WITH
125
- 2.2.0
123
+ 2.3.6
@@ -97,6 +97,7 @@ describe Bundler::Audit::CLI::Formats::JSON do
97
97
  expect(output_json[:results][0][:advisory][:cve]).to be == advisory.cve
98
98
  expect(output_json[:results][0][:advisory][:osvdb]).to be == advisory.osvdb
99
99
  expect(output_json[:results][0][:advisory][:ghsa]).to be == advisory.ghsa
100
+ expect(output_json[:results][0][:advisory][:criticality]).to be == advisory.criticality.to_s.downcase
100
101
  expect(output_json[:results][0][:advisory][:unaffected_versions]).to be == advisory.unaffected_versions.map(&:to_s)
101
102
  expect(output_json[:results][0][:advisory][:patched_versions]).to be == advisory.patched_versions.map(&:to_s)
102
103
  end