summaryrefslogtreecommitdiff
path: root/spec/controllers
diff options
context:
space:
mode:
authorMike Greiling <mike@pixelcog.com>2019-01-11 01:47:30 +0000
committerMike Greiling <mike@pixelcog.com>2019-01-11 01:47:30 +0000
commit89c4d2ae623dbd666e2eaa58812323b81e02b4ea (patch)
tree736843b40db79adbf39553e1e6d521b117f40718 /spec/controllers
parenta0f77090854b3510543dc42529d7353adab03da0 (diff)
parent1102deb0bd04a1bdf550ed74cf381a6bd400a7e0 (diff)
downloadgitlab-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.rb38
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