GitLab wurde erfolgreich aktualisiert. Dank regelmäßiger Updates bleibt das THM GitLab sicher und Sie profitieren von den neuesten Funktionen. Danke für Ihre Geduld.

Commit cfe65a0d authored by Mayra Cabrera's avatar Mayra Cabrera

Add domain field into Clusters::Cluster

This is the 1st step for moving Auto DevOps domain into cluster
settings, whether is project or group.

Related to https://gitlab.com/gitlab-org/gitlab-ce/issues/52363
parent 037fddad
......@@ -49,8 +49,9 @@ class Cluster < ActiveRecord::Base
validates :name, cluster_name: true
validates :cluster_type, presence: true
validate :restrict_modification, on: :update
validates :domain, allow_nil: true, hostname: { allow_numeric_hostname: true, require_valid_tld: true }
validate :restrict_modification, on: :update
validate :no_groups, unless: :group_type?
validate :no_projects, unless: :project_type?
......
# frozen_string_literal: true
class AddDomainToCluster < ActiveRecord::Migration[5.0]
DOWNTIME = false
def change
add_column :clusters, :domain, :string
end
end
......@@ -647,6 +647,7 @@
t.string "name", null: false
t.string "environment_scope", default: "*", null: false
t.integer "cluster_type", limit: 2, default: 3, null: false
t.string "domain"
t.index ["enabled"], name: "index_clusters_on_enabled", using: :btree
t.index ["user_id"], name: "index_clusters_on_user_id", using: :btree
end
......
......@@ -59,5 +59,9 @@
trait :with_installed_helm do
application_helm factory: %i(clusters_applications_helm installed)
end
trait :with_domain do
domain 'example.com'
end
end
end
......@@ -113,7 +113,7 @@
end
end
describe 'validation' do
describe 'validations' do
subject { cluster.valid? }
context 'when validates name' do
......@@ -252,6 +252,31 @@
end
end
end
describe 'domain validation' do
let(:cluster) { build(:cluster) }
subject { cluster }
context 'when cluster has domain' do
let(:cluster) { build(:cluster, :with_domain) }
it { is_expected.to be_valid }
end
context 'when cluster has an invalid domain' do
let(:cluster) { build(:cluster, domain: 'not-valid-domain') }
it 'should add an error on domain' do
expect(subject).not_to be_valid
expect(subject.errors[:domain].first).to eq('is not a fully qualified domain name')
end
end
context 'when cluster does not have a domain' do
it { is_expected.to be_valid }
end
end
end
describe '.ancestor_clusters_for_clusterable' do
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment