diff options
Diffstat (limited to 'spec/workers/packages/helm/extraction_worker_spec.rb')
-rw-r--r-- | spec/workers/packages/helm/extraction_worker_spec.rb | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/spec/workers/packages/helm/extraction_worker_spec.rb b/spec/workers/packages/helm/extraction_worker_spec.rb index 258413a3410..daebbda3077 100644 --- a/spec/workers/packages/helm/extraction_worker_spec.rb +++ b/spec/workers/packages/helm/extraction_worker_spec.rb @@ -23,10 +23,10 @@ RSpec.describe Packages::Helm::ExtractionWorker, type: :worker do subject { described_class.new.perform(channel, package_file_id) } - shared_examples 'handling error' do + shared_examples 'handling error' do |error_class = Packages::Helm::ExtractFileMetadataService::ExtractionError| it 'mark the package as errored', :aggregate_failures do expect(Gitlab::ErrorTracking).to receive(:log_exception).with( - instance_of(Packages::Helm::ExtractFileMetadataService::ExtractionError), + instance_of(error_class), project_id: package_file.package.project_id ) expect { subject } @@ -88,5 +88,15 @@ RSpec.describe Packages::Helm::ExtractionWorker, type: :worker do it_behaves_like 'handling error' end + + context 'with an invalid Chart.yaml' do + before do + expect_next_instance_of(Gem::Package::TarReader::Entry) do |entry| + expect(entry).to receive(:read).and_return('{}') + end + end + + it_behaves_like 'handling error', ActiveRecord::RecordInvalid + end end end |