diff options
| author | mo khan <mo.khan@gmail.com> | 2020-04-14 12:50:13 -0600 |
|---|---|---|
| committer | mo khan <mo.khan@gmail.com> | 2020-04-14 12:50:13 -0600 |
| commit | bae02b6ae73dda47dc86590b73c21a85bb7273a5 (patch) | |
| tree | 148f331085f123903cbf3635ea8b20b5c279d964 /spec/support/shared.rb | |
| parent | 2b69afb35bd1b123e00d3efabce0d4c4aefdd008 (diff) | |
Migrate specs from gitlab-org/security-products/license-management
Diffstat (limited to 'spec/support/shared.rb')
| -rw-r--r-- | spec/support/shared.rb | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/spec/support/shared.rb b/spec/support/shared.rb new file mode 100644 index 0000000..51b161a --- /dev/null +++ b/spec/support/shared.rb @@ -0,0 +1,19 @@ +RSpec.shared_examples "each report version" do |language, package_manager, branch = 'master'| + ['1.0', '1.1', '2.0'].each do |version| + context "when generating a `#{version}` report for #{package_manager}" do + let(:url) { "https://gitlab.com/gitlab-org/security-products/tests/#{language}-#{package_manager}.git" } + let(:expected_content) { JSON.parse(fixture_file_content("expected/#{language}/#{package_manager}/v#{version}.json")) } + + before do + runner.clone(url, branch: branch) + end + + it 'matches the expected report' do + actual = runner.scan(env: { 'LM_REPORT_VERSION' => version }) + + expect(JSON.pretty_generate(actual.to_h)).to eq(JSON.pretty_generate(expected_content)) + expect(actual).to match_schema(version: version) + end + end + end +end |
