gitlab-org--gitlab-foss/spec/migrations/20200511145545_change_varia...

40 lines
1.4 KiB
Ruby

# frozen_string_literal: true
require 'spec_helper'
require Rails.root.join('db', 'post_migrate', '20200511145545_change_variable_interpolation_format_in_common_metrics')
RSpec.describe ChangeVariableInterpolationFormatInCommonMetrics, :migration do
let(:prometheus_metrics) { table(:prometheus_metrics) }
let!(:common_metric) do
prometheus_metrics.create!(
identifier: 'system_metrics_kubernetes_container_memory_total',
query: 'avg(sum(container_memory_usage_bytes{container_name!="POD",' \
'pod_name=~"^%{ci_environment_slug}-(.*)",namespace="%{kube_namespace}"})' \
' by (job)) without (job) /1024/1024/1024',
project_id: nil,
title: 'Memory Usage (Total)',
y_label: 'Total Memory Used (GB)',
unit: 'GB',
legend: 'Total (GB)',
group: -5,
common: true
)
end
it 'updates query to use {{}}' do
expected_query = <<~EOS.chomp
avg(sum(container_memory_usage_bytes{container!="POD",\
pod=~"^{{ci_environment_slug}}-(.*)",namespace="{{kube_namespace}}"}) \
by (job)) without (job) /1024/1024/1024 OR \
avg(sum(container_memory_usage_bytes{container_name!="POD",\
pod_name=~"^{{ci_environment_slug}}-(.*)",namespace="{{kube_namespace}}"}) \
by (job)) without (job) /1024/1024/1024
EOS
migrate!
expect(common_metric.reload.query).to eq(expected_query)
end
end