Merge branch '52363-add-domain-to-cluster-model' into 'master'
Add domain field into Clusters::Cluster See merge request gitlab-org/gitlab-ce!24368
This commit is contained in:
commit
b39028fb00
5 changed files with 42 additions and 2 deletions
|
@ -49,8 +49,9 @@ module Clusters
|
|||
|
||||
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?
|
||||
|
||||
|
|
9
db/migrate/20190114172110_add_domain_to_cluster.rb
Normal file
9
db/migrate/20190114172110_add_domain_to_cluster.rb
Normal file
|
@ -0,0 +1,9 @@
|
|||
# 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 @@ ActiveRecord::Schema.define(version: 20190115054216) do
|
|||
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 @@ FactoryBot.define do
|
|||
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 @@ describe Clusters::Cluster do
|
|||
end
|
||||
end
|
||||
|
||||
describe 'validation' do
|
||||
describe 'validations' do
|
||||
subject { cluster.valid? }
|
||||
|
||||
context 'when validates name' do
|
||||
|
@ -252,6 +252,31 @@ describe Clusters::Cluster do
|
|||
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
|
||||
|
|
Loading…
Reference in a new issue