Introduce new kubernetes spec helpers
Add create_role_binding, create_namespace and get_namespace kubernetes spec helpers. This new helpers are going to be used on https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/22011
This commit is contained in:
parent
4cf1845e7e
commit
b0c30dce3f
2 changed files with 25 additions and 3 deletions
|
@ -0,0 +1,5 @@
|
||||||
|
---
|
||||||
|
title: Introduce new kubernetes helpers
|
||||||
|
merge_request: 22525
|
||||||
|
author:
|
||||||
|
type: other
|
|
@ -33,10 +33,11 @@ module KubernetesHelpers
|
||||||
WebMock.stub_request(:get, deployments_url).to_return(response || kube_deployments_response)
|
WebMock.stub_request(:get, deployments_url).to_return(response || kube_deployments_response)
|
||||||
end
|
end
|
||||||
|
|
||||||
def stub_kubeclient_get_secret(api_url, namespace: 'default', **options)
|
def stub_kubeclient_get_secret(api_url, **options)
|
||||||
options[:metadata_name] ||= "default-token-1"
|
options[:metadata_name] ||= "default-token-1"
|
||||||
|
options[:namespace] ||= "default"
|
||||||
|
|
||||||
WebMock.stub_request(:get, api_url + "/api/v1/namespaces/#{namespace}/secrets/#{options[:metadata_name]}")
|
WebMock.stub_request(:get, api_url + "/api/v1/namespaces/#{options[:namespace]}/secrets/#{options[:metadata_name]}")
|
||||||
.to_return(kube_response(kube_v1_secret_body(options)))
|
.to_return(kube_response(kube_v1_secret_body(options)))
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -65,6 +66,21 @@ module KubernetesHelpers
|
||||||
.to_return(kube_response({}))
|
.to_return(kube_response({}))
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def stub_kubeclient_create_role_binding(api_url, namespace: 'default')
|
||||||
|
WebMock.stub_request(:post, api_url + "/apis/rbac.authorization.k8s.io/v1/namespaces/#{namespace}/rolebindings")
|
||||||
|
.to_return(kube_response({}))
|
||||||
|
end
|
||||||
|
|
||||||
|
def stub_kubeclient_create_namespace(api_url)
|
||||||
|
WebMock.stub_request(:post, api_url + "/api/v1/namespaces")
|
||||||
|
.to_return(kube_response({}))
|
||||||
|
end
|
||||||
|
|
||||||
|
def stub_kubeclient_get_namespace(api_url, namespace: 'default')
|
||||||
|
WebMock.stub_request(:get, api_url + "/api/v1/namespaces/#{namespace}")
|
||||||
|
.to_return(kube_response({}))
|
||||||
|
end
|
||||||
|
|
||||||
def kube_v1_secret_body(**options)
|
def kube_v1_secret_body(**options)
|
||||||
{
|
{
|
||||||
"kind" => "SecretList",
|
"kind" => "SecretList",
|
||||||
|
@ -87,7 +103,8 @@ module KubernetesHelpers
|
||||||
{ "name" => "deployments", "namespaced" => true, "kind" => "Deployment" },
|
{ "name" => "deployments", "namespaced" => true, "kind" => "Deployment" },
|
||||||
{ "name" => "secrets", "namespaced" => true, "kind" => "Secret" },
|
{ "name" => "secrets", "namespaced" => true, "kind" => "Secret" },
|
||||||
{ "name" => "serviceaccounts", "namespaced" => true, "kind" => "ServiceAccount" },
|
{ "name" => "serviceaccounts", "namespaced" => true, "kind" => "ServiceAccount" },
|
||||||
{ "name" => "services", "namespaced" => true, "kind" => "Service" }
|
{ "name" => "services", "namespaced" => true, "kind" => "Service" },
|
||||||
|
{ "name" => "namespaces", "namespaced" => true, "kind" => "Namespace" }
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in a new issue