diff options
author | Shinya Maeda <shinya@gitlab.com> | 2017-10-30 03:48:45 +0900 |
---|---|---|
committer | Shinya Maeda <shinya@gitlab.com> | 2017-10-30 03:48:45 +0900 |
commit | 478e59fe8d82b99800a2613aa4d153bf692fbd6b (patch) | |
tree | 5f734aee006c7cfee86c8151e3b6f94846b15299 /spec/factories | |
parent | d0cff7f5855f91b5479f9fdaa39d8d95ec691a9e (diff) | |
download | gitlab-ce-478e59fe8d82b99800a2613aa4d153bf692fbd6b.tar.gz |
specs for models. Improved details.
Diffstat (limited to 'spec/factories')
-rw-r--r-- | spec/factories/clusters/cluster.rb | 39 | ||||
-rw-r--r-- | spec/factories/clusters/platforms/gcp.rb | 28 | ||||
-rw-r--r-- | spec/factories/clusters/providers/kubernetes.rb | 18 | ||||
-rw-r--r-- | spec/factories/gcp/cluster.rb | 38 |
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 |