diff options
Diffstat (limited to 'spec/models/clusters')
-rw-r--r-- | spec/models/clusters/agent_spec.rb | 11 | ||||
-rw-r--r-- | spec/models/clusters/applications/prometheus_spec.rb | 17 | ||||
-rw-r--r-- | spec/models/clusters/cluster_spec.rb | 1 | ||||
-rw-r--r-- | spec/models/clusters/kubernetes_namespace_spec.rb | 3 |
4 files changed, 24 insertions, 8 deletions
diff --git a/spec/models/clusters/agent_spec.rb b/spec/models/clusters/agent_spec.rb index bb1fc021e66..99de0d1ddf7 100644 --- a/spec/models/clusters/agent_spec.rb +++ b/spec/models/clusters/agent_spec.rb @@ -12,6 +12,17 @@ RSpec.describe Clusters::Agent do it { is_expected.to validate_length_of(:name).is_at_most(63) } it { is_expected.to validate_uniqueness_of(:name).scoped_to(:project_id) } + describe 'scopes' do + describe '.with_name' do + let!(:matching_name) { create(:cluster_agent, name: 'matching-name') } + let!(:other_name) { create(:cluster_agent, name: 'other-name') } + + subject { described_class.with_name(matching_name.name) } + + it { is_expected.to contain_exactly(matching_name) } + end + end + describe 'validation' do describe 'name validation' do it 'rejects names that do not conform to RFC 1123', :aggregate_failures do diff --git a/spec/models/clusters/applications/prometheus_spec.rb b/spec/models/clusters/applications/prometheus_spec.rb index 1215b38a9a2..82971596176 100644 --- a/spec/models/clusters/applications/prometheus_spec.rb +++ b/spec/models/clusters/applications/prometheus_spec.rb @@ -46,7 +46,7 @@ RSpec.describe Clusters::Applications::Prometheus do subject { create(:clusters_applications_prometheus, :installed, cluster: cluster) } it 'sets last_update_started_at to now' do - Timecop.freeze do + freeze_time do expect { subject.make_updating }.to change { subject.reload.last_update_started_at }.to be_within(1.second).of(Time.current) end end @@ -109,10 +109,13 @@ RSpec.describe Clusters::Applications::Prometheus do expect(subject.prometheus_client).to be_instance_of(Gitlab::PrometheusClient) end - it 'copies proxy_url, options and headers from kube client to prometheus_client' do + it 'merges proxy_url, options and headers from kube client with prometheus_client options' do expect(Gitlab::PrometheusClient) .to(receive(:new)) - .with(a_valid_url, kube_client.rest_client.options.merge(headers: kube_client.headers)) + .with(a_valid_url, kube_client.rest_client.options.merge({ + headers: kube_client.headers, + timeout: PrometheusAdapter::DEFAULT_PROMETHEUS_REQUEST_TIMEOUT_SEC + })) subject.prometheus_client end @@ -150,7 +153,7 @@ RSpec.describe Clusters::Applications::Prometheus do it 'is initialized with 3 arguments' do expect(subject.name).to eq('prometheus') expect(subject.chart).to eq('stable/prometheus') - expect(subject.version).to eq('9.5.2') + expect(subject.version).to eq('10.4.1') expect(subject).to be_rbac expect(subject.files).to eq(prometheus.files) end @@ -167,7 +170,7 @@ RSpec.describe Clusters::Applications::Prometheus do let(:prometheus) { create(:clusters_applications_prometheus, :errored, version: '2.0.0') } it 'is initialized with the locked version' do - expect(subject.version).to eq('9.5.2') + expect(subject.version).to eq('10.4.1') end end @@ -238,7 +241,7 @@ RSpec.describe Clusters::Applications::Prometheus do it 'is initialized with 3 arguments' do expect(patch_command.name).to eq('prometheus') expect(patch_command.chart).to eq('stable/prometheus') - expect(patch_command.version).to eq('9.5.2') + expect(patch_command.version).to eq('10.4.1') expect(patch_command.files).to eq(prometheus.files) end end @@ -350,7 +353,7 @@ RSpec.describe Clusters::Applications::Prometheus do let(:timestamp) { Time.current - 5.minutes } around do |example| - Timecop.freeze { example.run } + freeze_time { example.run } end before do diff --git a/spec/models/clusters/cluster_spec.rb b/spec/models/clusters/cluster_spec.rb index 2d0b5af0e77..024539e34ec 100644 --- a/spec/models/clusters/cluster_spec.rb +++ b/spec/models/clusters/cluster_spec.rb @@ -42,6 +42,7 @@ RSpec.describe Clusters::Cluster, :use_clean_rails_memory_store_caching do it { is_expected.to delegate_method(:available?).to(:application_ingress).with_prefix } it { is_expected.to delegate_method(:available?).to(:application_prometheus).with_prefix } it { is_expected.to delegate_method(:available?).to(:application_knative).with_prefix } + it { is_expected.to delegate_method(:available?).to(:application_elastic_stack).with_prefix } it { is_expected.to delegate_method(:external_ip).to(:application_ingress).with_prefix } it { is_expected.to delegate_method(:external_hostname).to(:application_ingress).with_prefix } diff --git a/spec/models/clusters/kubernetes_namespace_spec.rb b/spec/models/clusters/kubernetes_namespace_spec.rb index 2920bbf2b58..3b903fe34f9 100644 --- a/spec/models/clusters/kubernetes_namespace_spec.rb +++ b/spec/models/clusters/kubernetes_namespace_spec.rb @@ -61,7 +61,8 @@ RSpec.describe Clusters::KubernetesNamespace, type: :model do end describe 'namespace uniqueness validation' do - let(:kubernetes_namespace) { build(:cluster_kubernetes_namespace, namespace: 'my-namespace') } + let_it_be(:cluster) { create(:cluster, :project, :provided_by_gcp) } + let(:kubernetes_namespace) { build(:cluster_kubernetes_namespace, cluster: cluster, namespace: 'my-namespace') } subject { kubernetes_namespace } |