diff options
| author | mo khan <mo.khan@gmail.com> | 2020-05-08 18:15:13 -0600 |
|---|---|---|
| committer | mo khan <mo.khan@gmail.com> | 2020-05-08 18:15:13 -0600 |
| commit | 0c5bd320c420995a28003ad1ec898375d55e4bfb (patch) | |
| tree | 8235f5bd7ede249f0f6f442419189709911b2d0e /spec/integration/core | |
| parent | 1b111dde18fe7eed677a72136ed54544aede6de5 (diff) | |
Extract Datafile class
Diffstat (limited to 'spec/integration/core')
| -rw-r--r-- | spec/integration/core/cache_spec.rb | 27 |
1 files changed, 22 insertions, 5 deletions
diff --git a/spec/integration/core/cache_spec.rb b/spec/integration/core/cache_spec.rb index 941dea5..fe821f2 100644 --- a/spec/integration/core/cache_spec.rb +++ b/spec/integration/core/cache_spec.rb @@ -3,16 +3,18 @@ RSpec.describe Spandx::Core::Cache do RSpec.shared_examples 'each data file' do |package_manager, key| describe "#licenses_for (#{package_manager})" do - subject { described_class.new(package_manager, root: "#{Spandx.git[key].root}/.index") } + subject { described_class.new(package_manager, root: root_dir) } + + let(:root_dir) { "#{Spandx.git[key].root}/.index" } (0x00..0xFF).map { |x| x.to_s(16).upcase.rjust(2, '0').downcase }.each do |hex| context hex do - let(:path) { subject.expand_path("#{hex}/#{package_manager}") } + let(:path) { File.join(root_dir, "#{hex}/#{package_manager}") } it "is able to find all packages in the #{package_manager} index" do CSV.foreach(path) do |row| results = subject.licenses_for(row[0], row[1]) - expect(results).to match_array(row[2].split('-|-')) + expect(results).to match_array(row[2].split('-|-')), "Could not find #{row[0]}:#{row[1]}" end end end @@ -60,7 +62,7 @@ RSpec.describe Spandx::Core::Cache do specify do subject.insert('spandx', nil, ['MIT']) - expect(subject.licenses_for(nil, '1.1.1')).to be_empty + expect(subject.licenses_for('spandx', nil)).to be_empty end specify do @@ -70,7 +72,7 @@ RSpec.describe Spandx::Core::Cache do specify do subject.insert('spandx', '', ['MIT']) - expect(subject.licenses_for('', '1.1.1')).to be_empty + expect(subject.licenses_for('spandx', '')).to be_empty end specify do @@ -152,4 +154,19 @@ RSpec.describe Spandx::Core::Cache do end end end + + context 'when searching for a license' do + let(:root_dir) { "#{Spandx.git[:rubygems].root}/.index" } + + xit 'does it quickly' do + subject = described_class.new('rubygems', root: root_dir) + result = RubyProf.profile do + subject.licenses_for('ABC', '0.0.0') + end + # printer = RubyProf::FlatPrinter.new(result) + # printer.print(STDOUT, {}) + printer = RubyProf::GraphPrinter.new(result) + printer.print(STDOUT, {}) + end + end end |
