summaryrefslogtreecommitdiff
path: root/spec/factories
diff options
context:
space:
mode:
authorShinya Maeda <shinya@gitlab.com>2017-10-30 03:48:45 +0900
committerShinya Maeda <shinya@gitlab.com>2017-10-30 03:48:45 +0900
commit478e59fe8d82b99800a2613aa4d153bf692fbd6b (patch)
tree5f734aee006c7cfee86c8151e3b6f94846b15299 /spec/factories
parentd0cff7f5855f91b5479f9fdaa39d8d95ec691a9e (diff)
downloadgitlab-ce-478e59fe8d82b99800a2613aa4d153bf692fbd6b.tar.gz
specs for models. Improved details.
Diffstat (limited to 'spec/factories')
-rw-r--r--spec/factories/clusters/cluster.rb39
-rw-r--r--spec/factories/clusters/platforms/gcp.rb28
-rw-r--r--spec/factories/clusters/providers/kubernetes.rb18
-rw-r--r--spec/factories/gcp/cluster.rb38
4 files changed, 85 insertions, 38 deletions
diff --git a/spec/factories/clusters/cluster.rb b/spec/factories/clusters/cluster.rb
new file mode 100644
index 00000000000..8ba1eda8cc9
--- /dev/null
+++ b/spec/factories/clusters/cluster.rb
@@ -0,0 +1,39 @@
+FactoryGirl.define do
+ factory :cluster, class: Clusters::Cluster do
+ user
+ name 'test-cluster'
+ provider_type :user
+ platform_type :kubernetes
+
+ trait :project do
+ after(:create) do |cluster, evaluator|
+ cluster.projects << create(:project)
+ end
+ end
+
+ trait :provided_by_user do
+ provider_type :user
+ platform_type :kubernetes
+ platform_kubernetes
+ end
+
+ trait :provided_by_gcp do
+ provider_type :gcp
+ platform_type :kubernetes
+ platform_kubernetes
+
+ provider_gcp do
+ create(:provider_gcp, :created)
+ end
+ end
+
+ trait :providing_by_gcp do
+ provider_type :gcp
+ platform_type :kubernetes
+
+ provider_gcp do
+ create(:provider_gcp, :creating)
+ end
+ end
+ end
+end
diff --git a/spec/factories/clusters/platforms/gcp.rb b/spec/factories/clusters/platforms/gcp.rb
new file mode 100644
index 00000000000..c135bbb20a4
--- /dev/null
+++ b/spec/factories/clusters/platforms/gcp.rb
@@ -0,0 +1,28 @@
+FactoryGirl.define do
+ factory :provider_gcp, class: Clusters::Providers::Gcp do
+ cluster
+ gcp_project_id 'test-gcp-project'
+
+ trait :creating do
+ access_token 'access_token_123'
+
+ after(:build) do |gcp, evaluator|
+ gcp.make_creating('operation-123')
+ end
+ end
+
+ trait :created do
+ endpoint '111.111.111.111'
+
+ after(:build) do |gcp, evaluator|
+ gcp.make_created
+ end
+ end
+
+ trait :errored do
+ after(:build) do |gcp, evaluator|
+ gcp.make_errored('Something wrong')
+ end
+ end
+ end
+end
diff --git a/spec/factories/clusters/providers/kubernetes.rb b/spec/factories/clusters/providers/kubernetes.rb
new file mode 100644
index 00000000000..b4d413d32c1
--- /dev/null
+++ b/spec/factories/clusters/providers/kubernetes.rb
@@ -0,0 +1,18 @@
+FactoryGirl.define do
+ factory :platform_kubernetes, class: Clusters::Platforms::Kubernetes do
+ cluster
+ api_url 'https://kubernetes.example.com'
+ ca_cert nil
+ token 'a' * 40
+ username 'xxxxxx'
+ password 'xxxxxx'
+ namespace nil
+
+ trait :ca_cert do
+ after(:create) do |platform_kubernetes, evaluator|
+ pem_file = File.expand_path(Rails.root.join('spec/fixtures/clusters/sample_cert.pem'))
+ platform_kubernetes.ca_cert = File.read(pem_file)
+ end
+ end
+ end
+end
diff --git a/spec/factories/gcp/cluster.rb b/spec/factories/gcp/cluster.rb
deleted file mode 100644
index 5c062737ffc..00000000000
--- a/spec/factories/gcp/cluster.rb
+++ /dev/null
@@ -1,38 +0,0 @@
-# FactoryGirl.define do
-# factory :gcp_cluster, class: Gcp::Cluster do
-# project
-# user
-# enabled true
-# gcp_project_id 'gcp-project-12345'
-# gcp_cluster_name 'test-cluster'
-# gcp_cluster_zone 'us-central1-a'
-# gcp_cluster_size 1
-# gcp_machine_type 'n1-standard-4'
-
-# trait :with_kubernetes_service do
-# after(:create) do |cluster, evaluator|
-# create(:kubernetes_service, project: cluster.project).tap do |service|
-# cluster.update(service: service)
-# end
-# end
-# end
-
-# trait :custom_project_namespace do
-# project_namespace 'sample-app'
-# end
-
-# trait :created_on_gke do
-# status_event :make_created
-# endpoint '111.111.111.111'
-# ca_cert 'xxxxxx'
-# kubernetes_token 'xxxxxx'
-# username 'xxxxxx'
-# password 'xxxxxx'
-# end
-
-# trait :errored do
-# status_event :make_errored
-# status_reason 'general error'
-# end
-# end
-# end