debian-mirror-gitlab/spec/migrations/recreate_index_security_ci_builds_on_name_and_id_parser_with_new_features_spec.rb
2023-03-04 22:38:38 +05:30

29 lines
1.2 KiB
Ruby

# frozen_string_literal: true
require 'spec_helper'
require_migration!
RSpec.describe RecreateIndexSecurityCiBuildsOnNameAndIdParserWithNewFeatures, :migration, feature_category: :continuous_integration do
let(:db) { described_class.new }
let(:pg_class) { table(:pg_class) }
let(:pg_index) { table(:pg_index) }
let(:async_indexes) { table(:postgres_async_indexes) }
it 'recreates index' do
reversible_migration do |migration|
migration.before -> {
expect(async_indexes.where(name: described_class::OLD_INDEX_NAME).exists?).to be false
expect(db.index_exists?(described_class::TABLE, described_class::COLUMNS, name: described_class::OLD_INDEX_NAME)).to be true
expect(db.index_exists?(described_class::TABLE, described_class::COLUMNS, name: described_class::NEW_INDEX_NAME)).to be false
}
migration.after -> {
expect(async_indexes.where(name: described_class::OLD_INDEX_NAME).exists?).to be true
expect(db.index_exists?(described_class::TABLE, described_class::COLUMNS, name: described_class::OLD_INDEX_NAME)).to be false
expect(db.index_exists?(described_class::TABLE, described_class::COLUMNS, name: described_class::NEW_INDEX_NAME)).to be true
}
end
end
end