diff options
Diffstat (limited to 'spec/services/packages')
7 files changed, 38 insertions, 11 deletions
diff --git a/spec/services/packages/composer/create_package_service_spec.rb b/spec/services/packages/composer/create_package_service_spec.rb index d10356cfda7..4f1a46e7e45 100644 --- a/spec/services/packages/composer/create_package_service_spec.rb +++ b/spec/services/packages/composer/create_package_service_spec.rb @@ -43,6 +43,7 @@ RSpec.describe Packages::Composer::CreatePackageService do end it_behaves_like 'assigns build to package' + it_behaves_like 'assigns status to package' end context 'with a tag' do @@ -66,6 +67,7 @@ RSpec.describe Packages::Composer::CreatePackageService do end it_behaves_like 'assigns build to package' + it_behaves_like 'assigns status to package' end end diff --git a/spec/services/packages/conan/create_package_service_spec.rb b/spec/services/packages/conan/create_package_service_spec.rb index ca783475503..6f644f5ef95 100644 --- a/spec/services/packages/conan/create_package_service_spec.rb +++ b/spec/services/packages/conan/create_package_service_spec.rb @@ -31,6 +31,7 @@ RSpec.describe Packages::Conan::CreatePackageService do it_behaves_like 'assigns the package creator' it_behaves_like 'assigns build to package' + it_behaves_like 'assigns status to package' end context 'invalid params' do diff --git a/spec/services/packages/generic/create_package_file_service_spec.rb b/spec/services/packages/generic/create_package_file_service_spec.rb index 816e728c342..10c54369f26 100644 --- a/spec/services/packages/generic/create_package_file_service_spec.rb +++ b/spec/services/packages/generic/create_package_file_service_spec.rb @@ -13,6 +13,8 @@ RSpec.describe Packages::Generic::CreatePackageFileService do let(:temp_file) { Tempfile.new("test") } let(:file) { UploadedFile.new(temp_file.path, sha256: sha256) } let(:package) { create(:generic_package, project: project) } + let(:package_service) { double } + let(:params) do { package_name: 'mypackage', @@ -23,31 +25,34 @@ RSpec.describe Packages::Generic::CreatePackageFileService do } end + let(:package_params) do + { + name: params[:package_name], + version: params[:package_version], + build: params[:build], + status: nil + } + end + subject { described_class.new(project, user, params).execute } before do FileUtils.touch(temp_file) + expect(::Packages::Generic::FindOrCreatePackageService).to receive(:new).with(project, user, package_params).and_return(package_service) + expect(package_service).to receive(:execute).and_return(package) end after do FileUtils.rm_f(temp_file) end - it 'creates package file' do - package_service = double - package_params = { - name: params[:package_name], - version: params[:package_version], - build: params[:build] - } - expect(::Packages::Generic::FindOrCreatePackageService).to receive(:new).with(project, user, package_params).and_return(package_service) - expect(package_service).to receive(:execute).and_return(package) - + it 'creates package file', :aggregate_failures do expect { subject }.to change { package.package_files.count }.by(1) .and change { Packages::PackageFileBuildInfo.count }.by(1) package_file = package.package_files.last aggregate_failures do + expect(package_file.package.status).to eq('default') expect(package_file.package).to eq(package) expect(package_file.file_name).to eq('myfile.tar.gz.1') expect(package_file.size).to eq(file.size) @@ -55,6 +60,21 @@ RSpec.describe Packages::Generic::CreatePackageFileService do end end + context 'with a status' do + let(:params) { super().merge(status: 'hidden') } + let(:package_params) { super().merge(status: 'hidden') } + + it 'updates an existing packages status' do + expect { subject }.to change { package.package_files.count }.by(1) + .and change { Packages::PackageFileBuildInfo.count }.by(1) + + package_file = package.package_files.last + aggregate_failures do + expect(package_file.package.status).to eq('hidden') + end + end + end + it_behaves_like 'assigns build to package file' end end diff --git a/spec/services/packages/maven/find_or_create_package_service_spec.rb b/spec/services/packages/maven/find_or_create_package_service_spec.rb index 191a443a837..2543ab0c669 100644 --- a/spec/services/packages/maven/find_or_create_package_service_spec.rb +++ b/spec/services/packages/maven/find_or_create_package_service_spec.rb @@ -36,10 +36,11 @@ RSpec.describe Packages::Maven::FindOrCreatePackageService do expect(pkg.version).to eq(version) end - context 'with a build' do + context 'with optional attributes' do subject { service.execute.payload[:package] } it_behaves_like 'assigns build to package' + it_behaves_like 'assigns status to package' end end diff --git a/spec/services/packages/npm/create_package_service_spec.rb b/spec/services/packages/npm/create_package_service_spec.rb index 6db3777cde8..10fce6c1651 100644 --- a/spec/services/packages/npm/create_package_service_spec.rb +++ b/spec/services/packages/npm/create_package_service_spec.rb @@ -53,6 +53,7 @@ RSpec.describe Packages::Npm::CreatePackageService do let(:params) { super().merge(build: job) } it_behaves_like 'assigns build to package' + it_behaves_like 'assigns status to package' it 'creates a package file build info' do expect { subject }.to change { Packages::PackageFileBuildInfo.count }.by(1) diff --git a/spec/services/packages/nuget/create_package_service_spec.rb b/spec/services/packages/nuget/create_package_service_spec.rb index 5289ad40d61..e338ac36fc3 100644 --- a/spec/services/packages/nuget/create_package_service_spec.rb +++ b/spec/services/packages/nuget/create_package_service_spec.rb @@ -32,5 +32,6 @@ RSpec.describe Packages::Nuget::CreatePackageService do it_behaves_like 'assigns the package creator' it_behaves_like 'assigns build to package' + it_behaves_like 'assigns status to package' end end diff --git a/spec/services/packages/pypi/create_package_service_spec.rb b/spec/services/packages/pypi/create_package_service_spec.rb index 28a727c4a09..a932cf73eb7 100644 --- a/spec/services/packages/pypi/create_package_service_spec.rb +++ b/spec/services/packages/pypi/create_package_service_spec.rb @@ -52,6 +52,7 @@ RSpec.describe Packages::Pypi::CreatePackageService do end it_behaves_like 'assigns build to package' + it_behaves_like 'assigns status to package' context 'with an existing package' do before do |