Welcome to mirror list, hosted at ThFree Co, Russian Federation.

20201027002551_migrate_services_to_http_integrations_spec.rb « migrations « spec - gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: c1fbde69100f1ed128a5a768383a35247348df56 (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
# 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