diff options
| author | mo khan <mo.khan@gmail.com> | 2020-03-11 17:50:55 -0600 |
|---|---|---|
| committer | mo khan <mo.khan@gmail.com> | 2020-03-11 17:50:55 -0600 |
| commit | 131d42efc439d7a47ccf980f29c00d9dc504d34d (patch) | |
| tree | d040ae64c81b470d8b66b7b5ff5502bfdd308298 /spec/unit/cli | |
| parent | 15e2145af2f2b226a04b776a1e14fd3e9b9bc6af (diff) | |
Add directory scanning
Diffstat (limited to 'spec/unit/cli')
| -rw-r--r-- | spec/unit/cli/scan_spec.rb | 31 |
1 files changed, 27 insertions, 4 deletions
diff --git a/spec/unit/cli/scan_spec.rb b/spec/unit/cli/scan_spec.rb index 8d3cd4d..7e2991c 100644 --- a/spec/unit/cli/scan_spec.rb +++ b/spec/unit/cli/scan_spec.rb @@ -4,7 +4,7 @@ RSpec.describe Spandx::Cli::Commands::Scan do subject { described_class.new(lockfile, options) } let(:output) { StringIO.new } - let(:lockfile) { nil } + let(:lockfile) { '.' } let(:options) { {} } before do @@ -12,10 +12,33 @@ RSpec.describe Spandx::Cli::Commands::Scan do .to_return(status: 200, body: IO.read(fixture_file('spdx/json/licenses.json'))) end - it 'executes `scan` command successfully' do - subject.execute(output: output) + context 'when scanning a directory' do + let(:lockfile) { '.' } + let(:result) { JSON.parse(output.string) } + + before do + VCR.use_cassette('scan-directory') do + subject.execute(output: output) + end + end + + specify { expect(result['packages'].count).to be(47) } + specify { expect(result).to include('version' => '1.0') } + specify { expect(result['packages']).to include('name' => 'net-hippie', 'version' => '0.3.2', 'licenses' => ['MIT']) } + end + + context 'when recursively scanning a directory' do + let(:lockfile) { fixture_file('.') } + let(:result) { JSON.parse(output.string) } + let(:options) { { 'recursive' => true } } + + before do + VCR.use_cassette('scan-directory-recursively') do + subject.execute(output: output) + end + end - expect(output.string).to eq("OK\n") + specify { expect(result['packages'].count).to be(26) } end context 'when scanning Gemfile.lock' do |
