# frozen_string_literal: true RSpec.shared_examples 'each report version' do |language, package_manager, branch = 'master'| context "when generating a 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}/v2.0.json")) } before do runner.clone(url, branch: branch) end it 'matches the expected report' do actual = runner.scan expect(JSON.pretty_generate(actual.to_h)).to eq(JSON.pretty_generate(expected_content)) expect(actual).to match_schema(version: '2.0') end end end