Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2022-02-03 14:35:56 +0300
committerGitLab Bot <gitlab-bot@gitlab.com>2022-02-03 14:35:56 +0300
commit33bbb6aa7b6369fea0037f3d8a9243824e48f64f (patch)
tree18ae1428e70ddcfe1115f355ebdad6ad6f0a6e56 /spec/requests/api/graphql
parent41fd6d4d38aaef723e501ff3ab38ae63e31d4efb (diff)
Add latest changes from gitlab-org/security/gitlab@14-7-stable-ee
Diffstat (limited to 'spec/requests/api/graphql')
-rw-r--r--spec/requests/api/graphql/mutations/packages/destroy_file_spec.rb15
-rw-r--r--spec/requests/api/graphql/mutations/packages/destroy_spec.rb21
-rw-r--r--spec/requests/api/graphql/project/cluster_agents_spec.rb2
3 files changed, 20 insertions, 18 deletions
diff --git a/spec/requests/api/graphql/mutations/packages/destroy_file_spec.rb b/spec/requests/api/graphql/mutations/packages/destroy_file_spec.rb
index 7be629f8f4b..cd25aba9e00 100644
--- a/spec/requests/api/graphql/mutations/packages/destroy_file_spec.rb
+++ b/spec/requests/api/graphql/mutations/packages/destroy_file_spec.rb
@@ -24,19 +24,16 @@ RSpec.describe 'Destroying a package file' do
let(:mutation_response) { graphql_mutation_response(:destroyPackageFile) }
shared_examples 'destroying the package file' do
- it 'destroy the package file' do
- expect { mutation_request }.to change { ::Packages::PackageFile.count }.by(-1)
+ it 'marks the package file as pending destruction' do
+ expect { mutation_request }.to change { ::Packages::PackageFile.pending_destruction.count }.by(1)
end
it_behaves_like 'returning response status', :success
end
shared_examples 'denying the mutation request' do
- it 'does not destroy the package file' do
- expect(::Packages::PackageFile)
- .not_to receive(:destroy)
-
- expect { mutation_request }.not_to change { ::Packages::PackageFile.count }
+ it 'does not mark the package file as pending destruction' do
+ expect { mutation_request }.not_to change { ::Packages::PackageFile.pending_destruction.count }
expect(mutation_response).to be_nil
end
@@ -71,7 +68,7 @@ RSpec.describe 'Destroying a package file' do
it_behaves_like 'denying the mutation request'
end
- context 'when an error occures' do
+ context 'when an error occurs' do
let(:error_messages) { ['some error'] }
before do
@@ -80,7 +77,7 @@ RSpec.describe 'Destroying a package file' do
it 'returns the errors in the response' do
allow_next_found_instance_of(::Packages::PackageFile) do |package_file|
- allow(package_file).to receive(:destroy).and_return(false)
+ allow(package_file).to receive(:update).with(status: :pending_destruction).and_return(false)
allow(package_file).to receive_message_chain(:errors, :full_messages).and_return(error_messages)
end
diff --git a/spec/requests/api/graphql/mutations/packages/destroy_spec.rb b/spec/requests/api/graphql/mutations/packages/destroy_spec.rb
index e5ced419ecf..2340a6a36d8 100644
--- a/spec/requests/api/graphql/mutations/packages/destroy_spec.rb
+++ b/spec/requests/api/graphql/mutations/packages/destroy_spec.rb
@@ -24,22 +24,27 @@ RSpec.describe 'Destroying a package' do
let(:mutation_response) { graphql_mutation_response(:destroyPackage) }
shared_examples 'destroying the package' do
- it 'destroy the package' do
- expect(::Packages::DestroyPackageService)
+ it 'marks the package as pending destruction' do
+ expect(::Packages::MarkPackageForDestructionService)
.to receive(:new).with(container: package, current_user: user).and_call_original
+ expect_next_found_instance_of(::Packages::Package) do |package|
+ expect(package).to receive(:mark_package_files_for_destruction)
+ end
- expect { mutation_request }.to change { ::Packages::Package.count }.by(-1)
+ expect { mutation_request }
+ .to change { ::Packages::Package.pending_destruction.count }.by(1)
end
it_behaves_like 'returning response status', :success
end
shared_examples 'denying the mutation request' do
- it 'does not destroy the package' do
- expect(::Packages::DestroyPackageService)
+ it 'does not mark the package as pending destruction' do
+ expect(::Packages::MarkPackageForDestructionService)
.not_to receive(:new).with(container: package, current_user: user)
- expect { mutation_request }.not_to change { ::Packages::Package.count }
+ expect { mutation_request }
+ .to not_change { ::Packages::Package.pending_destruction.count }
expect(mutation_response).to be_nil
end
@@ -81,12 +86,12 @@ RSpec.describe 'Destroying a package' do
it 'returns the errors in the response' do
allow_next_found_instance_of(::Packages::Package) do |package|
- allow(package).to receive(:destroy!).and_raise(StandardError)
+ allow(package).to receive(:pending_destruction!).and_raise(StandardError)
end
mutation_request
- expect(mutation_response['errors']).to eq(['Failed to remove the package'])
+ expect(mutation_response['errors']).to match_array(['Failed to mark the package as pending destruction'])
end
end
end
diff --git a/spec/requests/api/graphql/project/cluster_agents_spec.rb b/spec/requests/api/graphql/project/cluster_agents_spec.rb
index 585126f3849..c9900fea277 100644
--- a/spec/requests/api/graphql/project/cluster_agents_spec.rb
+++ b/spec/requests/api/graphql/project/cluster_agents_spec.rb
@@ -126,7 +126,7 @@ RSpec.describe 'Project.cluster_agents' do
})
end
- it 'preloads associations to prevent N+1 queries' do
+ it 'preloads associations to prevent N+1 queries', quarantine: 'https://gitlab.com/gitlab-org/gitlab/-/issues/350868' do
user = create(:user)
token = create(:cluster_agent_token, agent: agents.second)
create(:agent_activity_event, agent: agents.second, agent_token: token, user: user)