diff options
author | Nick Thomas <nick@gitlab.com> | 2017-06-13 16:31:23 +0100 |
---|---|---|
committer | Nick Thomas <nick@gitlab.com> | 2017-06-14 10:51:18 +0100 |
commit | fc6e3515a6a80788053ea943cb43eae2cadda21f (patch) | |
tree | dafc366f9760e33ba72e81b4794486d1692c2f7e /spec/support | |
parent | fbfddd99d6a4846e807dc8c2dadd64d3d120fb23 (diff) | |
download | gitlab-ce-fc6e3515a6a80788053ea943cb43eae2cadda21f.tar.gz |
Backport EE changes to the Kubernetes service
Diffstat (limited to 'spec/support')
-rw-r--r-- | spec/support/kubernetes_helpers.rb | 33 |
1 files changed, 27 insertions, 6 deletions
diff --git a/spec/support/kubernetes_helpers.rb b/spec/support/kubernetes_helpers.rb index 9280fad4ace..c92f78b324c 100644 --- a/spec/support/kubernetes_helpers.rb +++ b/spec/support/kubernetes_helpers.rb @@ -1,7 +1,26 @@ module KubernetesHelpers include Gitlab::Kubernetes - def kube_discovery_body + def kube_response(body) + { body: body.to_json } + end + + def kube_pods_response + kube_response(kube_pods_body) + end + + def stub_kubeclient_discover + WebMock.stub_request(:get, service.api_url + '/api/v1').to_return(kube_response(kube_v1_discovery_body)) + end + + def stub_kubeclient_pods(response = nil) + stub_kubeclient_discover + pods_url = service.api_url + "/api/v1/namespaces/#{service.actual_namespace}/pods" + + WebMock.stub_request(:get, pods_url).to_return(response || kube_pods_response) + end + + def kube_v1_discovery_body { "kind" => "APIResourceList", "resources" => [ @@ -10,17 +29,19 @@ module KubernetesHelpers } end - def kube_pods_body(*pods) - { "kind" => "PodList", - "items" => [kube_pod] } + def kube_pods_body + { + "kind" => "PodList", + "items" => [kube_pod] + } end # This is a partial response, it will have many more elements in reality but # these are the ones we care about at the moment - def kube_pod(app: "valid-pod-label") + def kube_pod(name: "kube-pod", app: "valid-pod-label") { "metadata" => { - "name" => "kube-pod", + "name" => name, "creationTimestamp" => "2016-11-25T19:55:19Z", "labels" => { "app" => app } }, |