diff options
Diffstat (limited to 'spec/migrations/backfill_clusters_integration_prometheus_enabled_spec.rb')
-rw-r--r-- | spec/migrations/backfill_clusters_integration_prometheus_enabled_spec.rb | 80 |
1 files changed, 0 insertions, 80 deletions
diff --git a/spec/migrations/backfill_clusters_integration_prometheus_enabled_spec.rb b/spec/migrations/backfill_clusters_integration_prometheus_enabled_spec.rb deleted file mode 100644 index 1c7745a64ef..00000000000 --- a/spec/migrations/backfill_clusters_integration_prometheus_enabled_spec.rb +++ /dev/null @@ -1,80 +0,0 @@ -# frozen_string_literal: true - -require 'spec_helper' -require_migration! - -RSpec.describe BackfillClustersIntegrationPrometheusEnabled, :migration, feature_category: :clusters_applications_prometheus do - def create_cluster!(label = rand(2**64).to_s) - table(:clusters).create!( - name: "cluster: #{label}", - created_at: 1.day.ago, - updated_at: 1.day.ago - ) - end - - def create_clusters_applications_prometheus!(label, status:, cluster_id: nil) - table(:clusters_applications_prometheus).create!( - cluster_id: cluster_id || create_cluster!(label).id, - status: status, - version: "#{label}: version", - created_at: 1.day.ago, # artificially aged - updated_at: 1.day.ago, # artificially aged - encrypted_alert_manager_token: "#{label}: token", - encrypted_alert_manager_token_iv: "#{label}: iv" - ) - end - - def create_clusters_integration_prometheus! - table(:clusters_integration_prometheus).create!( - cluster_id: create_cluster!.id, - enabled: false, - created_at: 1.day.ago, - updated_at: 1.day.ago - ) - end - - RSpec::Matchers.define :be_enabled_and_match_application_values do |application| - match do |actual| - actual.enabled == true && - actual.encrypted_alert_manager_token == application.encrypted_alert_manager_token && - actual.encrypted_alert_manager_token_iv == application.encrypted_alert_manager_token_iv - end - end - - describe '#up' do - it 'backfills the enabled status and alert manager credentials from clusters_applications_prometheus' do - status_installed = 3 - status_externally_installed = 11 - status_installable = 0 - - existing_integration = create_clusters_integration_prometheus! - unaffected_existing_integration = create_clusters_integration_prometheus! - app_installed = create_clusters_applications_prometheus!('installed', status: status_installed) - app_installed_existing_integration = create_clusters_applications_prometheus!('installed, existing integration', status: status_installed, cluster_id: existing_integration.cluster_id) - app_externally_installed = create_clusters_applications_prometheus!('externally installed', status: status_externally_installed) - app_other_status = create_clusters_applications_prometheus!('other status', status: status_installable) - - migrate! - - integrations = table(:clusters_integration_prometheus).all.index_by(&:cluster_id) - - expect(unaffected_existing_integration.reload).to eq unaffected_existing_integration - - integration_installed = integrations[app_installed.cluster_id] - expect(integration_installed).to be_enabled_and_match_application_values(app_installed) - expect(integration_installed.updated_at).to be >= 1.minute.ago # recently updated - expect(integration_installed.updated_at).to eq(integration_installed.created_at) # recently created - - expect(existing_integration.reload).to be_enabled_and_match_application_values(app_installed_existing_integration) - expect(existing_integration.updated_at).to be >= 1.minute.ago # recently updated - expect(existing_integration.updated_at).not_to eq(existing_integration.created_at) # but not recently created - - integration_externally_installed = integrations[app_externally_installed.cluster_id] - expect(integration_externally_installed).to be_enabled_and_match_application_values(app_externally_installed) - expect(integration_externally_installed.updated_at).to be >= 1.minute.ago # recently updated - expect(integration_externally_installed.updated_at).to eq(integration_externally_installed.created_at) # recently created - - expect(integrations[app_other_status.cluster_id]).to be_nil - end - end -end |