gitlab-org--gitlab-foss/spec/factories/clusters/clusters.rb

90 lines
2.2 KiB
Ruby
Raw Normal View History

# frozen_string_literal: true
FactoryBot.define do
2017-10-29 14:48:45 -04:00
factory :cluster, class: Clusters::Cluster do
user
name { 'test-cluster' }
cluster_type { :project_type }
managed { true }
namespace_per_environment { true }
factory :cluster_for_group, traits: [:provided_by_gcp, :group]
trait :instance do
cluster_type { Clusters::Cluster.cluster_types[:instance_type] }
end
2017-10-29 14:48:45 -04:00
trait :project do
cluster_type { Clusters::Cluster.cluster_types[:project_type] }
before(:create) do |cluster, evaluator|
2019-06-28 03:10:26 -04:00
cluster.projects << create(:project) unless cluster.projects.present?
2017-10-29 14:48:45 -04:00
end
end
trait :group do
cluster_type { Clusters::Cluster.cluster_types[:group_type] }
before(:create) do |cluster, evalutor|
cluster.groups << create(:group) unless cluster.groups.present?
end
end
trait :management_project do
management_project factory: :project
end
trait :namespace_per_environment_disabled do
namespace_per_environment { false }
end
2017-10-29 14:48:45 -04:00
trait :provided_by_user do
provider_type { :user }
platform_type { :kubernetes }
2017-10-30 08:55:18 -04:00
2017-12-03 15:36:01 -05:00
platform_kubernetes factory: [:cluster_platform_kubernetes, :configured]
2017-10-29 14:48:45 -04:00
end
trait :provided_by_gcp do
provider_type { :gcp }
platform_type { :kubernetes }
2017-10-30 08:55:18 -04:00
2017-12-03 15:36:01 -05:00
provider_gcp factory: [:cluster_provider_gcp, :created]
platform_kubernetes factory: [:cluster_platform_kubernetes, :configured]
2017-10-29 14:48:45 -04:00
end
trait :providing_by_gcp do
provider_type { :gcp }
2017-12-03 15:36:01 -05:00
provider_gcp factory: [:cluster_provider_gcp, :creating]
2017-10-29 14:48:45 -04:00
end
trait :rbac_disabled do
platform_kubernetes factory: [:cluster_platform_kubernetes, :configured, :rbac_disabled]
end
trait :cloud_run_enabled do
provider_gcp factory: [:cluster_provider_gcp, :created, :cloud_run_enabled]
end
trait :disabled do
enabled { false }
end
trait :production_environment do
sequence(:environment_scope) { |n| "production#{n}/*" }
end
trait :with_installed_helm do
application_helm factory: %i(clusters_applications_helm installed)
end
trait :with_domain do
domain { 'example.com' }
end
trait :not_managed do
managed { false }
end
2017-10-29 14:48:45 -04:00
end
end