Skip to content

Commit

Permalink
Fix rubocop issues
Browse files Browse the repository at this point in the history
Signed-off-by: Shane Lattanzio <[email protected]>
  • Loading branch information
xtreme-lisheng-tai committed Nov 16, 2017
1 parent fc6dea8 commit 37135b9
Show file tree
Hide file tree
Showing 5 changed files with 33 additions and 38 deletions.
1 change: 0 additions & 1 deletion lib/license_finder/cli/main.rb
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,6 @@ def self.shared_options
desc: "Generate a single report for multiple projects. Ex: --aggregate_paths='path/to/project1' 'path/to/project2'"

method_option :quiet, aliases: '-q', type: :boolean, desc: 'Silences progress report', required: false

end

desc 'action_items', 'List unapproved dependencies (the default action for `license_finder`)'
Expand Down
11 changes: 6 additions & 5 deletions lib/license_finder/license_aggregator.rb
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,11 @@ def initialize(license_finder_config, aggregate_paths)
end

def dependencies
aggregate_packages
aggregate_packages
end

def any_packages?
finders.map{|finder| finder.any_packages?}.reduce(:|)
finders.map { |finder| finder.any_packages? }.reduce(:|)
end

def unapproved
Expand All @@ -28,8 +28,9 @@ def finders
if @aggregate_paths.nil?
@finders = [LicenseFinder::Core.new(@license_finder_config)]
else
@finders = @aggregate_paths.map { |path|
LicenseFinder::Core.new(@license_finder_config.merge(project_path: path)) }
@finders = @aggregate_paths.map do |path|
LicenseFinder::Core.new(@license_finder_config.merge(project_path: path))
end
end
end

Expand All @@ -40,7 +41,7 @@ def aggregate_packages
finder.acknowledged.map { |dep| MergedPackage.new(dep, [finder.project_path]) }
end
@packages = all_packages.group_by { |package| [package.name, package.version] }
.map do |_, packages|
.map do |_, packages|
MergedPackage.new(packages[0].dependency, packages.flat_map(&:aggregate_paths))
end
end
Expand Down
2 changes: 1 addition & 1 deletion lib/license_finder/package_managers/merged_package.rb
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,7 @@ def eql?(other)
else
dependency.eql?(other)
end
end
end

def ==(other)
dependency.eql?(other.dependency) && aggregate_paths.eql?(other.aggregate_paths)
Expand Down
6 changes: 2 additions & 4 deletions spec/lib/license_finder/cli/main_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -88,12 +88,11 @@ module CLI
end

it 'passes the config options to the new LicenseFinder::LicenseAggregator instance' do
expect(LicenseFinder::LicenseAggregator).to receive(:new).with(parsed_config,anything).and_return(license_finder_instance)
expect(LicenseFinder::LicenseAggregator).to receive(:new).with(parsed_config, anything).and_return(license_finder_instance)
silence_stdout do
expect { described_class.start(config_options) }.to raise_error(SystemExit)
end
end

end

describe '#report' do
Expand Down Expand Up @@ -254,7 +253,6 @@ def action_items
end

context 'with unapproved dependencies' do

before do
allow(LicenseFinder::LicenseAggregator).to receive(:new).and_return(license_aggregator_instance)
end
Expand All @@ -269,7 +267,7 @@ def action_items
end

context 'with blacklisted dependencies' do
let(:blacklisted){ [ Package.new('blacklisted', '1.0', spec_licenses: ['GPLv3']) ]}
let(:blacklisted) { [Package.new('blacklisted', '1.0', spec_licenses: ['GPLv3'])] }
before do
allow(LicenseFinder::LicenseAggregator).to receive(:new).and_return(license_aggregator_instance)
end
Expand Down
51 changes: 24 additions & 27 deletions spec/lib/license_finder/license_aggregator_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -2,40 +2,37 @@

module LicenseFinder
describe LicenseAggregator do

context 'when there are no packages' do

describe '#any_packages' do
let(:project_1_path) { 'path/to/subproject-1' }
let(:license_finder_1) { double(:license_finder, acknowledged: [], project_path:project_1_path, any_packages?: false) }
let(:license_finder_1) { double(:license_finder, acknowledged: [], project_path: project_1_path, any_packages?: false) }
it 'should return false' do
allow(Core).to receive(:new).and_return(license_finder_1)
expect(described_class.new({},[project_1_path]).any_packages?).to be_falsey
expect(described_class.new({}, [project_1_path]).any_packages?).to be_falsey
end
end

end

context 'when no duplicates' do

let(:hammer) { Package.new('hammer', '1.0.0') }
let(:helmet) { Package.new('helmet', '3.0.0') }
let(:project_1_path) { 'path/to/subproject-1' }
let(:project_2_path) { 'path/to/subproject-2' }
let(:license_finder_1) { double(:license_finder, acknowledged: [hammer], project_path:project_1_path, any_packages?: true) }
let(:license_finder_2) { double(:license_finder, acknowledged: [helmet], project_path:project_2_path, any_packages?: true) }
let(:license_finder_1) { double(:license_finder, acknowledged: [hammer], project_path: project_1_path, any_packages?: true) }
let(:license_finder_2) { double(:license_finder, acknowledged: [helmet], project_path: project_2_path, any_packages?: true) }
before do
allow(Core).to receive(:new).and_return(license_finder_1, license_finder_2)
end
describe '#any_packages?' do
it 'should return true' do
expect(described_class.new({},[project_1_path, project_2_path]).any_packages?).to be_truthy
expect(described_class.new({}, [project_1_path, project_2_path]).any_packages?).to be_truthy
end
end

describe '#unapproved' do
let (:merged_1_expected) { MergedPackage.new(hammer, [project_1_path]) }
let (:merged_2_expected) { MergedPackage.new(helmet, [project_2_path]) }
let(:merged_1_expected) { MergedPackage.new(hammer, [project_1_path]) }
let(:merged_2_expected) { MergedPackage.new(helmet, [project_2_path]) }
it 'should return list of unapproved packages' do
aggregator = described_class.new({}, [project_1_path, project_2_path])
expect(aggregator.unapproved).to eq([merged_1_expected, merged_2_expected])
Expand All @@ -46,7 +43,7 @@ module LicenseFinder
before do
hammer.blacklisted!
end
let (:merged_1_expected) { MergedPackage.new(hammer, [project_1_path]) }
let(:merged_1_expected) { MergedPackage.new(hammer, [project_1_path]) }
it 'should return list of blacklisted packages' do
aggregator = described_class.new({}, [project_1_path, project_2_path])
expect(aggregator.blacklisted).to eq([merged_1_expected])
Expand All @@ -60,21 +57,21 @@ module LicenseFinder
let(:helmet) { Package.new('helmet', '3.0.0') }
let(:project_1_path) { 'path/to/subproject-1' }
let(:project_2_path) { 'path/to/subproject-2' }
let(:license_finder_1) { double(:license_finder, acknowledged: [hammer], project_path:project_1_path, any_packages?: true) }
let(:license_finder_2) { double(:license_finder, acknowledged: [hammer, helmet], project_path:project_2_path, any_packages?: true) }
let(:license_finder_1) { double(:license_finder, acknowledged: [hammer], project_path: project_1_path, any_packages?: true) }
let(:license_finder_2) { double(:license_finder, acknowledged: [hammer, helmet], project_path: project_2_path, any_packages?: true) }
before do
allow(Core).to receive(:new).and_return(license_finder_1, license_finder_2)
end

describe '#any_packages?' do
it 'should return true' do
expect(described_class.new({},[project_1_path, project_2_path]).any_packages?).to be_truthy
expect(described_class.new({}, [project_1_path, project_2_path]).any_packages?).to be_truthy
end
end

describe '#unapproved' do
let (:merged_1_expected) { MergedPackage.new(hammer, [project_1_path, project_2_path]) }
let (:merged_2_expected) { MergedPackage.new(helmet, [project_2_path]) }
let(:merged_1_expected) { MergedPackage.new(hammer, [project_1_path, project_2_path]) }
let(:merged_2_expected) { MergedPackage.new(helmet, [project_2_path]) }
it 'should return list of unapproved packages' do
aggregator = described_class.new({}, [project_1_path, project_2_path])
expect(aggregator.unapproved).to eq([merged_1_expected, merged_2_expected])
Expand All @@ -85,7 +82,7 @@ module LicenseFinder
before do
hammer.blacklisted!
end
let (:merged_1_expected) { MergedPackage.new(hammer, [project_1_path, project_2_path]) }
let(:merged_1_expected) { MergedPackage.new(hammer, [project_1_path, project_2_path]) }
it 'should return list of blacklisted packages' do
aggregator = described_class.new({}, [project_1_path, project_2_path])
expect(aggregator.blacklisted).to eq([merged_1_expected])
Expand All @@ -99,21 +96,21 @@ module LicenseFinder
let(:hammer2) { Package.new('hammer', '3.0.0') }
let(:project_1_path) { 'path/to/subproject-1' }
let(:project_2_path) { 'path/to/subproject-2' }
let(:license_finder_1) { double(:license_finder, acknowledged: [hammer1], project_path:project_1_path, any_packages?: true) }
let(:license_finder_2) { double(:license_finder, acknowledged: [hammer1, hammer2], project_path:project_2_path, any_packages?: true) }
let(:license_finder_1) { double(:license_finder, acknowledged: [hammer1], project_path: project_1_path, any_packages?: true) }
let(:license_finder_2) { double(:license_finder, acknowledged: [hammer1, hammer2], project_path: project_2_path, any_packages?: true) }

before do
allow(Core).to receive(:new).and_return(license_finder_1, license_finder_2)
end
describe '#any_packages?' do
it 'should return true' do
expect(described_class.new({},[project_1_path, project_2_path]).any_packages?).to be_truthy
expect(described_class.new({}, [project_1_path, project_2_path]).any_packages?).to be_truthy
end
end

describe '#unapproved' do
let (:merged_1_expected) { MergedPackage.new(hammer1, [project_1_path, project_2_path]) }
let (:merged_2_expected) { MergedPackage.new(hammer2, [project_2_path]) }
let(:merged_1_expected) { MergedPackage.new(hammer1, [project_1_path, project_2_path]) }
let(:merged_2_expected) { MergedPackage.new(hammer2, [project_2_path]) }
it 'should return list of unapproved packages' do
aggregator = described_class.new({}, [project_1_path, project_2_path])
expect(aggregator.unapproved).to eq([merged_1_expected, merged_2_expected])
Expand All @@ -124,7 +121,7 @@ module LicenseFinder
before do
hammer1.blacklisted!
end
let (:merged_1_expected) { MergedPackage.new(hammer1, [project_1_path, project_2_path]) }
let(:merged_1_expected) { MergedPackage.new(hammer1, [project_1_path, project_2_path]) }
it 'should return list of blacklisted packages' do
aggregator = described_class.new({}, [project_1_path, project_2_path])
expect(aggregator.blacklisted).to eq([merged_1_expected])
Expand All @@ -138,8 +135,8 @@ module LicenseFinder
let(:helmet) { Package.new('helmet', '3.0.0') }
let(:project_1_path) { 'path/to/subproject-1' }
let(:project_2_path) { 'path/to/subproject-2' }
let(:license_finder_1) { double(:license_finder, acknowledged: [hammer], project_path:project_1_path) }
let(:license_finder_2) { double(:license_finder, acknowledged: [helmet], project_path:project_2_path) }
let(:license_finder_1) { double(:license_finder, acknowledged: [hammer], project_path: project_1_path) }
let(:license_finder_2) { double(:license_finder, acknowledged: [helmet], project_path: project_2_path) }

before do
allow(Core).to receive(:new).and_return(license_finder_1, license_finder_2)
Expand All @@ -163,7 +160,7 @@ module LicenseFinder
end

context 'when there are duplicates' do
let(:license_finder_2) { double(:license_finder, acknowledged: [helmet, hammer], project_path:project_2_path) }
let(:license_finder_2) { double(:license_finder, acknowledged: [helmet, hammer], project_path: project_2_path) }

it 'aggregates duplicate packages by package name' do
aggregator = LicenseAggregator.new({}, ['path/to/subproject-1', 'path/to/subproject-2'])
Expand All @@ -182,7 +179,7 @@ module LicenseFinder

context 'when there are duplicate packages with different versions' do
let(:hammer_new) { Package.new('hammer', '2.0.0') }
let(:license_finder_2) { double(:license_finder, acknowledged: [helmet, hammer_new], project_path:project_2_path) }
let(:license_finder_2) { double(:license_finder, acknowledged: [helmet, hammer_new], project_path: project_2_path) }

it 'does not aggregate packages with different versions' do
aggregator = LicenseAggregator.new({}, ['path/to/subproject-1', 'path/to/subproject-2'])
Expand Down

0 comments on commit 37135b9

Please sign in to comment.