gitlab-org--gitlab-foss/spec/migrations/20201027002551_migrate_serv...

27 lines
1.5 KiB
Ruby

# frozen_string_literal: true
require 'spec_helper'
require Rails.root.join('db', 'migrate', '20201027002551_migrate_services_to_http_integrations.rb')
RSpec.describe MigrateServicesToHttpIntegrations do
let!(:namespace) { table(:namespaces).create!(name: 'namespace', path: 'namespace') }
let!(:project) { table(:projects).create!(id: 1, namespace_id: namespace.id) }
let!(:alert_service) { table(:services).create!(type: 'AlertsService', project_id: project.id, active: true) }
let!(:alert_service_data) { table(:alerts_service_data).create!(service_id: alert_service.id, encrypted_token: 'test', encrypted_token_iv: 'test')}
let(:http_integrations) { table(:alert_management_http_integrations) }
describe '#up' do
it 'creates the http integrations from the alert services', :aggregate_failures do
expect { migrate! }.to change { http_integrations.count }.by(1)
http_integration = http_integrations.last
expect(http_integration.project_id).to eq(alert_service.project_id)
expect(http_integration.encrypted_token).to eq(alert_service_data.encrypted_token)
expect(http_integration.encrypted_token_iv).to eq(alert_service_data.encrypted_token_iv)
expect(http_integration.active).to eq(alert_service.active)
expect(http_integration.name).to eq(described_class::SERVICE_NAMES_IDENTIFIER[:name])
expect(http_integration.endpoint_identifier).to eq(described_class::SERVICE_NAMES_IDENTIFIER[:identifier])
end
end
end