diff options
Diffstat (limited to 'spec/services/packages/debian/create_package_file_service_spec.rb')
-rw-r--r-- | spec/services/packages/debian/create_package_file_service_spec.rb | 31 |
1 files changed, 19 insertions, 12 deletions
diff --git a/spec/services/packages/debian/create_package_file_service_spec.rb b/spec/services/packages/debian/create_package_file_service_spec.rb index 291f6df991c..43928669eb1 100644 --- a/spec/services/packages/debian/create_package_file_service_spec.rb +++ b/spec/services/packages/debian/create_package_file_service_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe Packages::Debian::CreatePackageFileService do +RSpec.describe Packages::Debian::CreatePackageFileService, feature_category: :package_registry do include WorkhorseHelpers let_it_be(:package) { create(:debian_incoming, without_package_files: true) } @@ -11,8 +11,9 @@ RSpec.describe Packages::Debian::CreatePackageFileService do describe '#execute' do let(:file_name) { 'libsample0_1.2.3~alpha2_amd64.deb' } let(:fixture_path) { "spec/fixtures/packages/debian/#{file_name}" } + let(:params) { default_params } - let(:params) do + let(:default_params) do { file: file, file_name: file_name, @@ -25,8 +26,15 @@ RSpec.describe Packages::Debian::CreatePackageFileService do subject(:package_file) { service.execute } - shared_examples 'a valid deb' do + shared_examples 'a valid deb' do |process_package_file_worker| it 'creates a new package file', :aggregate_failures do + if process_package_file_worker + expect(::Packages::Debian::ProcessPackageFileWorker) + .to receive(:perform_async).with(an_instance_of(Integer), params[:distribution], params[:component]) + else + expect(::Packages::Debian::ProcessPackageFileWorker).not_to receive(:perform_async) + end + expect(::Packages::Debian::ProcessChangesWorker).not_to receive(:perform_async) expect(package_file).to be_valid expect(package_file.file.read).to start_with('!<arch>') @@ -44,7 +52,8 @@ RSpec.describe Packages::Debian::CreatePackageFileService do shared_examples 'a valid changes' do it 'creates a new package file', :aggregate_failures do - expect(::Packages::Debian::ProcessChangesWorker).to receive(:perform_async) + expect(::Packages::Debian::ProcessChangesWorker) + .to receive(:perform_async).with(an_instance_of(Integer), current_user.id) expect(package_file).to be_valid expect(package_file.file.read).to start_with('Format: 1.8') @@ -80,6 +89,12 @@ RSpec.describe Packages::Debian::CreatePackageFileService do it_behaves_like 'a valid changes' end + context 'with distribution' do + let(:params) { default_params.merge(distribution: 'unstable', component: 'main') } + + it_behaves_like 'a valid deb', true + end + context 'when current_user is missing' do let(:current_user) { nil } @@ -137,13 +152,5 @@ RSpec.describe Packages::Debian::CreatePackageFileService do expect { package_file }.to raise_error(ActiveRecord::RecordInvalid) end end - - context 'when FIPS mode enabled', :fips_mode do - let(:file) { nil } - - it 'raises an error' do - expect { package_file }.to raise_error(::Packages::FIPS::DisabledError) - end - end end end |