danger-warnings 0.0.1 → 0.1.0

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.
@@ -17,11 +17,6 @@ module Danger
17
17
  before do
18
18
  @dangerfile = testing_dangerfile
19
19
  @my_plugin = @dangerfile.warnings
20
-
21
- # mock the PR data
22
- # you can then use this, eg. github.pr_author, later in the spec
23
- # json = File.read(File.dirname(__FILE__) + '/support/fixtures/github_pr.json') # example json: `curl https://api.github.com/repos/danger/danger-plugin-template/pulls/18 > github_pr.json`
24
- # allow(@my_plugin.github).to receive(:pr_json).and_return(json)
25
20
  end
26
21
  end
27
22
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: danger-warnings
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kyaak
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-01-21 00:00:00.000000000 Z
11
+ date: 2019-01-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: abstract_method
@@ -217,6 +217,7 @@ files:
217
217
  - ".rubocop.yml"
218
218
  - ".travis.yml"
219
219
  - CHANGELOG.md
220
+ - Dangerfile
220
221
  - Gemfile
221
222
  - Guardfile
222
223
  - LICENSE.txt
@@ -226,25 +227,34 @@ files:
226
227
  - lib/danger_plugin.rb
227
228
  - lib/danger_warnings.rb
228
229
  - lib/warnings/gem_version.rb
229
- - lib/warnings/issue.rb
230
- - lib/warnings/markdown_util.rb
230
+ - lib/warnings/helper/message_util.rb
231
+ - lib/warnings/helper/severity_util.rb
231
232
  - lib/warnings/parser/bandit_parser.rb
232
233
  - lib/warnings/parser/parser.rb
233
234
  - lib/warnings/parser/parser_factory.rb
235
+ - lib/warnings/parser/pylint_parser.rb
236
+ - lib/warnings/parser/rubocop_parser.rb
234
237
  - lib/warnings/plugin.rb
235
- - lib/warnings/reporter.rb
236
- - lib/warnings/severity.rb
238
+ - lib/warnings/report/issue.rb
239
+ - lib/warnings/report/reporter.rb
237
240
  - sonar-project.properties
238
- - spec/assets/assets.rb
239
241
  - spec/assets/bandit.json
240
242
  - spec/assets/bandit_empty.json
241
243
  - spec/assets/bandit_missing_results.json
242
- - spec/markdown_util_spec.rb
244
+ - spec/assets/empty.txt
245
+ - spec/assets/pylint.txt
246
+ - spec/assets/rubocop.json
247
+ - spec/assets/rubocop.txt
248
+ - spec/assets/rubocop_multi_offenses.json
249
+ - spec/helper/message_util_spec.rb
250
+ - spec/helper/severity_util_spec.rb
243
251
  - spec/parser/bandit_parser_spec.rb
244
252
  - spec/parser/parser_factory_spec.rb
245
- - spec/reporter_spec.rb
246
- - spec/severity_spec.rb
253
+ - spec/parser/pylint_parser_spec.rb
254
+ - spec/parser/rubocop_parser_spec.rb
255
+ - spec/report/reporter_spec.rb
247
256
  - spec/spec_helper.rb
257
+ - spec/spec_helper/assets.rb
248
258
  - spec/warnings_spec.rb
249
259
  homepage: https://github.com/Kyaak/danger-warnings
250
260
  licenses:
@@ -270,14 +280,21 @@ signing_key:
270
280
  specification_version: 4
271
281
  summary: Report lint warnings of different tools.
272
282
  test_files:
273
- - spec/assets/assets.rb
274
283
  - spec/assets/bandit.json
275
284
  - spec/assets/bandit_empty.json
276
285
  - spec/assets/bandit_missing_results.json
277
- - spec/markdown_util_spec.rb
286
+ - spec/assets/empty.txt
287
+ - spec/assets/pylint.txt
288
+ - spec/assets/rubocop.json
289
+ - spec/assets/rubocop.txt
290
+ - spec/assets/rubocop_multi_offenses.json
291
+ - spec/helper/message_util_spec.rb
292
+ - spec/helper/severity_util_spec.rb
278
293
  - spec/parser/bandit_parser_spec.rb
279
294
  - spec/parser/parser_factory_spec.rb
280
- - spec/reporter_spec.rb
281
- - spec/severity_spec.rb
295
+ - spec/parser/pylint_parser_spec.rb
296
+ - spec/parser/rubocop_parser_spec.rb
297
+ - spec/report/reporter_spec.rb
282
298
  - spec/spec_helper.rb
299
+ - spec/spec_helper/assets.rb
283
300
  - spec/warnings_spec.rb
@@ -1,12 +0,0 @@
1
- module Warnings
2
- # Defines severity levels and provides helper methods.
3
- class Severity
4
- SEVERITIES = %i(low medium high).freeze
5
-
6
- def self.valid?(value)
7
- key = value
8
- key = value.to_sym if value.method_exists?(:to_sym)
9
- SEVERITIES.include?(key)
10
- end
11
- end
12
- end
@@ -1,8 +0,0 @@
1
- module Warnings
2
- module Assets
3
- ASSETS_DIR = Pathname.new(File.expand_path('.', __dir__))
4
- BANDIT_JSON = "#{ASSETS_DIR}/bandit.json".freeze
5
- BANDIT_EMPTY = "#{ASSETS_DIR}/bandit_empty.json".freeze
6
- BANDIT_MISSING_RESULTS = "#{ASSETS_DIR}/bandit_missing_results.json".freeze
7
- end
8
- end
@@ -1,65 +0,0 @@
1
- require_relative 'spec_helper'
2
- require_relative '../lib/warnings/markdown_util'
3
-
4
- module Warnings
5
- describe Warnings::MarkdownUtil do
6
- MARKDOWN_TEST_REPORT_NAME = 'My Report Name'.freeze
7
-
8
- context '#generate' do
9
- context 'header' do
10
- it 'adds header name at first line' do
11
- result = MarkdownUtil.generate(MARKDOWN_TEST_REPORT_NAME, [])
12
- header_name = result.split(MarkdownUtil::LINE_SEPARATOR).first
13
- expect(header_name).to eq("# #{MARKDOWN_TEST_REPORT_NAME}")
14
- end
15
-
16
- it 'adds table header at second line' do
17
- result = MarkdownUtil.generate(MARKDOWN_TEST_REPORT_NAME, [])
18
- table_header = result.split(MarkdownUtil::LINE_SEPARATOR)[1]
19
- expect(table_header).to eq(MarkdownUtil::TABLE_HEADER)
20
- end
21
-
22
- it 'adds table separator at third line' do
23
- result = MarkdownUtil.generate(MARKDOWN_TEST_REPORT_NAME, [])
24
- table_header = result.split(MarkdownUtil::LINE_SEPARATOR)[2]
25
- expect(table_header).to eq(MarkdownUtil::TABLE_SEPARATOR)
26
- end
27
- end
28
-
29
- context 'with issues' do
30
- before do
31
- @issue = Issue.new
32
- @issue.severity = :low
33
- @issue.name = 'blacklist'
34
- @issue.file_name = 'hello/test.py'
35
- @issue.message = 'Consider possible security implications associated with pickle module.'
36
- @issue.line = 1234
37
- @issue.id = 'B403'
38
-
39
- result = MarkdownUtil.generate(MARKDOWN_TEST_REPORT_NAME, [@issue])
40
- @issue_line = result.split(MarkdownUtil::LINE_SEPARATOR)[3]
41
- @issue_columns = @issue_line.split(MarkdownUtil::COLUMN_SEPARATOR)
42
- end
43
-
44
- it 'first column contains severity upcase' do
45
- text = @issue_columns[0]
46
- expect(text).not_to be_nil
47
- expect(text).to eq(@issue.severity.to_s.capitalize)
48
- end
49
-
50
- it 'second column contains filename:line' do
51
- text = @issue_columns[1]
52
- expect(text).not_to be_nil
53
- expect(text).to eq("#{@issue.file_name}:#{@issue.line}")
54
- end
55
-
56
- it 'third column contains [id-name]' do
57
- text = @issue_columns[2]
58
- expect(text).not_to be_nil
59
- match = text.match(/^\[#{@issue.id}-#{@issue.name}\]/)
60
- expect(match).not_to be_nil
61
- end
62
- end
63
- end
64
- end
65
- end
@@ -1,26 +0,0 @@
1
- require_relative 'spec_helper'
2
- require_relative '../lib/warnings/severity'
3
-
4
- module Warnings
5
- describe Severity do
6
- context 'valid severity' do
7
- it 'low' do
8
- expect(Severity.valid?(:low)).to be_truthy
9
- end
10
-
11
- it 'medium' do
12
- expect(Severity.valid?(:medium)).to be_truthy
13
- end
14
-
15
- it 'high' do
16
- expect(Severity.valid?(:high)).to be_truthy
17
- end
18
- end
19
-
20
- context 'invalid severity' do
21
- it 'is not valid' do
22
- expect(Severity.valid?(:unknown)).not_to be_truthy
23
- end
24
- end
25
- end
26
- end