diff options
author | Mike Greiling <mike@pixelcog.com> | 2019-01-11 01:47:30 +0000 |
---|---|---|
committer | Mike Greiling <mike@pixelcog.com> | 2019-01-11 01:47:30 +0000 |
commit | 89c4d2ae623dbd666e2eaa58812323b81e02b4ea (patch) | |
tree | 736843b40db79adbf39553e1e6d521b117f40718 /spec/controllers | |
parent | a0f77090854b3510543dc42529d7353adab03da0 (diff) | |
parent | 1102deb0bd04a1bdf550ed74cf381a6bd400a7e0 (diff) | |
download | gitlab-ce-89c4d2ae623dbd666e2eaa58812323b81e02b4ea.tar.gz |
Merge branch 'knative-show-page' into 'master'
Initial Serverless Functions detailed view
See merge request gitlab-org/gitlab-ce!23863
Diffstat (limited to 'spec/controllers')
-rw-r--r-- | spec/controllers/projects/serverless/functions_controller_spec.rb | 38 |
1 files changed, 37 insertions, 1 deletions
diff --git a/spec/controllers/projects/serverless/functions_controller_spec.rb b/spec/controllers/projects/serverless/functions_controller_spec.rb index a9759c4fbd8..87114d44bce 100644 --- a/spec/controllers/projects/serverless/functions_controller_spec.rb +++ b/spec/controllers/projects/serverless/functions_controller_spec.rb @@ -45,9 +45,45 @@ describe Projects::Serverless::FunctionsController do end end + describe 'GET #show' do + context 'invalid data' do + it 'has a bad function name' do + get :show, params: params({ format: :json, environment_id: "*", id: "foo" }) + expect(response).to have_gitlab_http_status(404) + end + end + + context 'valid data', :use_clean_rails_memory_store_caching do + before do + stub_kubeclient_service_pods + stub_reactive_cache(knative, + { + services: kube_knative_services_body(namespace: namespace.namespace, name: cluster.project.name)["items"], + pods: kube_knative_pods_body(cluster.project.name, namespace.namespace)["items"] + }) + end + + it 'has a valid function name' do + get :show, params: params({ format: :json, environment_id: "*", id: cluster.project.name }) + expect(response).to have_gitlab_http_status(200) + + expect(json_response).to include( + "name" => project.name, + "url" => "http://#{project.name}.#{namespace.namespace}.example.com", + "podcount" => 1 + ) + end + end + end + describe 'GET #index with data', :use_clean_rails_memory_store_caching do before do - stub_reactive_cache(knative, services: kube_knative_services_body(namespace: namespace.namespace, name: cluster.project.name)["items"]) + stub_kubeclient_service_pods + stub_reactive_cache(knative, + { + services: kube_knative_services_body(namespace: namespace.namespace, name: cluster.project.name)["items"], + pods: kube_knative_pods_body(cluster.project.name, namespace.namespace)["items"] + }) end it 'has data' do |