summaryrefslogtreecommitdiff
path: root/spec/support/models/ci/partitioning_testing/cascade_check.rb
blob: f553a47ef4f3c284753e334d86ad40ed15aaea1c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
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