summaryrefslogtreecommitdiff
path: root/spec/unit
diff options
context:
space:
mode:
authormo khan <mo.khan@gmail.com>2020-05-25 11:01:03 -0600
committermo khan <mo.khan@gmail.com>2020-05-26 19:33:44 -0600
commit80fa34dd2bd72af88efcb85844302d04450a0e1e (patch)
tree2a5ba8dfc9bdb61c58633373be122ae2f83df1e7 /spec/unit
parentbff873a938de126d2b79e799df325f3d5c31295b (diff)
Scan Conan projects
* Scan the conan examples project * Split licenses by comma * Add integration test job for c projects * Add package_manager, version and path to v2.1 report * Detect collisions between names from different package managers * Add CHANGELOG entry * Update README to indicate Conan support * Print timestamps in install script
Diffstat (limited to 'spec/unit')
-rw-r--r--spec/unit/license/management/report/v2_1_spec.rb38
1 files changed, 38 insertions, 0 deletions
diff --git a/spec/unit/license/management/report/v2_1_spec.rb b/spec/unit/license/management/report/v2_1_spec.rb
new file mode 100644
index 0000000..356648c
--- /dev/null
+++ b/spec/unit/license/management/report/v2_1_spec.rb
@@ -0,0 +1,38 @@
+RSpec.describe License::Management::Report::V2_1 do
+ describe "#to_h" do
+ context "when choosing an appropriate url for a license" do
+ subject { described_class.new([rails, spandx, dotenv_js, dotenv_rb]).to_h }
+
+ let(:rails) { LicenseFinder::Dependency.new('Bundler', 'rails', '0.1.0', spec_licenses: ['MIT']) }
+ let(:spandx) { LicenseFinder::Dependency.new('Bundler', 'spandx', '0.1.0', spec_licenses: ['Apache-2.0', 'MIT']) }
+ let(:dotenv_js) { LicenseFinder::Dependency.new('Npm', 'dotenv', '0.1.0', spec_licenses: ['MIT']) }
+ let(:dotenv_rb) { LicenseFinder::Dependency.new('Bundler', 'dotenv', '0.1.0', spec_licenses: ['MIT']) }
+
+ specify { expect(subject[:version]).to eql('2.1') }
+
+ specify do
+ expect(subject[:licenses]).to match_array([
+ {
+ 'id' => 'Apache-2.0',
+ 'name' => 'Apache License 2.0',
+ 'url' => 'https://opensource.org/licenses/Apache-2.0'
+ },
+ {
+ 'id' => 'MIT',
+ 'name' => 'MIT License',
+ 'url' => 'https://opensource.org/licenses/MIT'
+ }
+ ])
+ end
+
+ specify do
+ expect(subject[:dependencies]).to match_array([
+ { name: dotenv_js.name, version: dotenv_js.version, package_manager: :npm, path: '.', licenses: ['MIT'] },
+ { name: dotenv_rb.name, version: dotenv_rb.version, package_manager: :bundler, path: '.', licenses: ['MIT'] },
+ { name: rails.name, version: rails.version, package_manager: :bundler, path: '.', licenses: ['MIT'] },
+ { name: spandx.name, version: spandx.version, package_manager: :bundler, path: '.', licenses: ['Apache-2.0', 'MIT'] }
+ ])
+ end
+ end
+ end
+end