diff options
| author | Tetiana Chupryna <tchupryna@gitlab.com> | 2020-08-13 18:43:27 +0300 |
|---|---|---|
| committer | Tetiana Chupryna <tchupryna@gitlab.com> | 2020-08-21 13:09:13 +0300 |
| commit | 533e4496f4f79634179291a18fd99765ace506f2 (patch) | |
| tree | 27e8203bdd0094e54b69daa873aee497bd09e520 | |
| parent | e08b5a38a7fcade1851637bd401a6097193db00d (diff) | |
Patch url for not specified BSD license
| -rw-r--r-- | lib/license/management/repository.rb | 9 | ||||
| -rw-r--r-- | spec/unit/license/management/repository_spec.rb | 16 |
2 files changed, 24 insertions, 1 deletions
diff --git a/lib/license/management/repository.rb b/lib/license/management/repository.rb index 4b6e8a5..3d16b78 100644 --- a/lib/license/management/repository.rb +++ b/lib/license/management/repository.rb @@ -64,7 +64,7 @@ module License { 'id' => name.downcase, 'name' => name, - 'url' => present?(license.url) ? license.url : '' + 'url' => normalized_url(license.url) } end @@ -90,6 +90,13 @@ module License logger.error(e) nil end + + def normalized_url(url) + return '' unless present?(url) + return 'http://en.wikipedia.org/wiki/BSD_licenses' if url.match?('BSD_licenses#4-clause_license') + + url + end end end end diff --git a/spec/unit/license/management/repository_spec.rb b/spec/unit/license/management/repository_spec.rb index 04eb469..c54af77 100644 --- a/spec/unit/license/management/repository_spec.rb +++ b/spec/unit/license/management/repository_spec.rb @@ -60,5 +60,21 @@ RSpec.describe License::Management::Repository do it { expect(subject.item_for(license)['id']).to eql(spdx_id) } end end + + context 'with BSD license' do + subject(:item_license) { described_class.new.item_for(license) } + + let(:license) do + LicenseFinder::License.new( + short_name: 'BSD', + other_names: ['BSD4', 'bsd-old', '4-clause BSD', 'BSD-4-Clause', 'BSD 4-Clause', 'BSD License'], + url: 'http://en.wikipedia.org/wiki/BSD_licenses#4-clause_license_.28original_.22BSD_License.22.29' + ) + end + + it 'returns general url' do + expect(item_license['url']).to eq('http://en.wikipedia.org/wiki/BSD_licenses') + end + end end end |
