From fd31bd1fc7954f69025d8e6bbe7f772ea9fb4bb0 Mon Sep 17 00:00:00 2001 From: GitLab Bot Date: Tue, 11 Oct 2022 12:09:17 +0000 Subject: Add latest changes from gitlab-org/gitlab@master --- .../pages/invalidate_domain_cache_worker_spec.rb | 32 ++++++++++++++++++++++ spec/workers/run_pipeline_schedule_worker_spec.rb | 3 +- 2 files changed, 34 insertions(+), 1 deletion(-) (limited to 'spec/workers') diff --git a/spec/workers/pages/invalidate_domain_cache_worker_spec.rb b/spec/workers/pages/invalidate_domain_cache_worker_spec.rb index 7ed6cb41ce2..9658aacd093 100644 --- a/spec/workers/pages/invalidate_domain_cache_worker_spec.rb +++ b/spec/workers/pages/invalidate_domain_cache_worker_spec.rb @@ -165,6 +165,38 @@ RSpec.describe Pages::InvalidateDomainCacheWorker do { type: :namespace, id: 3 } ] + context 'when project attributes change' do + Projects::ProjectAttributesChangedEvent::PAGES_RELATED_ATTRIBUTES.each do |attribute| + it_behaves_like 'clears caches with', + event_class: Projects::ProjectAttributesChangedEvent, + event_data: { + project_id: 1, + namespace_id: 2, + root_namespace_id: 3, + attributes: [attribute] + }, + caches: [ + { type: :project, id: 1 }, + { type: :namespace, id: 3 } + ] + end + + it 'does not clear the cache when the attributes is not pages related' do + event = Projects::ProjectAttributesChangedEvent.new( + data: { + project_id: 1, + namespace_id: 2, + root_namespace_id: 3, + attributes: ['unknown'] + } + ) + + expect(described_class).not_to receive(:clear_cache) + + ::Gitlab::EventStore.publish(event) + end + end + context 'when namespace based cache keys are duplicated' do # de-dups namespace cache keys it_behaves_like 'clears caches with', diff --git a/spec/workers/run_pipeline_schedule_worker_spec.rb b/spec/workers/run_pipeline_schedule_worker_spec.rb index 846b4455bf9..10c22b736d2 100644 --- a/spec/workers/run_pipeline_schedule_worker_spec.rb +++ b/spec/workers/run_pipeline_schedule_worker_spec.rb @@ -4,7 +4,8 @@ require 'spec_helper' RSpec.describe RunPipelineScheduleWorker do describe '#perform' do - let_it_be(:project) { create(:project) } + let_it_be(:group) { create(:group) } + let_it_be(:project) { create(:project, namespace: group) } let_it_be(:user) { create(:user) } let_it_be(:pipeline_schedule) { create(:ci_pipeline_schedule, :nightly, project: project ) } -- cgit v1.2.3