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:
Diffstat (limited to 'spec/support/models/ci/partitioning_testing/cascade_check.rb')
-rw-r--r--spec/support/models/ci/partitioning_testing/cascade_check.rb27
1 files changed, 27 insertions, 0 deletions
diff --git a/spec/support/models/ci/partitioning_testing/cascade_check.rb b/spec/support/models/ci/partitioning_testing/cascade_check.rb
new file mode 100644
index 00000000000..f553a47ef4f
--- /dev/null
+++ b/spec/support/models/ci/partitioning_testing/cascade_check.rb
@@ -0,0 +1,27 @@
+# frozen_string_literal: true
+
+module PartitioningTesting
+ module CascadeCheck
+ extend ActiveSupport::Concern
+
+ included do
+ after_create :check_partition_cascade_value
+ end
+
+ def check_partition_cascade_value
+ raise 'Partition value not found' unless partition_scope_value
+
+ return if partition_id == partition_scope_value
+
+ raise "partition_id was expected to equal #{partition_scope_value} but it was #{partition_id}."
+ end
+ end
+end
+
+Ci::Partitionable::Testing::PARTITIONABLE_MODELS.each do |klass|
+ next if klass == 'Ci::Pipeline'
+
+ model = klass.safe_constantize
+
+ model.include(PartitioningTesting::CascadeCheck)
+end