diff options
author | Thong Kuah <tkuah@gitlab.com> | 2019-06-18 01:11:48 +0000 |
---|---|---|
committer | Thong Kuah <tkuah@gitlab.com> | 2019-06-18 01:11:48 +0000 |
commit | db9ef69272155b3c8ead5c0e7d027bda2b623d43 (patch) | |
tree | f95645eb6a20e0613c5f4d02b01bb4a34ee5205c /spec/models | |
parent | 1276ff85453c6331e53f79680627c981b5ef00f7 (diff) | |
parent | 5aa9b710be2e03b296b68942d4053fa0a24e884c (diff) | |
download | gitlab-ce-db9ef69272155b3c8ead5c0e7d027bda2b623d43.tar.gz |
Merge branch '60617-allow-switching-from-gitlab-managed-to-unmanaged-clusters' into 'master'
Allow switching clusters between managed/unmanaged
Closes #60617
See merge request gitlab-org/gitlab-ce!29322
Diffstat (limited to 'spec/models')
-rw-r--r-- | spec/models/clusters/platforms/kubernetes_spec.rb | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/spec/models/clusters/platforms/kubernetes_spec.rb b/spec/models/clusters/platforms/kubernetes_spec.rb index f4dd457c3d3..1fb3a8de808 100644 --- a/spec/models/clusters/platforms/kubernetes_spec.rb +++ b/spec/models/clusters/platforms/kubernetes_spec.rb @@ -298,6 +298,46 @@ describe Clusters::Platforms::Kubernetes, :use_clean_rails_memory_store_caching { key: 'KUBE_TOKEN', value: kubernetes_namespace.service_account_token, public: false, masked: true } ) end + + context 'the cluster has been set to unmanaged after the namespace was created' do + before do + cluster.update!(managed: false) + end + + it_behaves_like 'setting variables' + + it 'sets KUBE_TOKEN from the platform' do + expect(subject).to include( + { key: 'KUBE_TOKEN', value: kubernetes.token, public: false, masked: true } + ) + end + + context 'the platform has a custom namespace set' do + before do + kubernetes.update!(namespace: 'custom-namespace') + end + + it 'sets KUBE_NAMESPACE from the platform' do + expect(subject).to include( + { key: 'KUBE_NAMESPACE', value: kubernetes.namespace, public: true, masked: false } + ) + end + end + + context 'there is no namespace specified on the platform' do + let(:project) { cluster.project } + + before do + kubernetes.update!(namespace: nil) + end + + it 'sets KUBE_NAMESPACE to a default for the project' do + expect(subject).to include( + { key: 'KUBE_NAMESPACE', value: "#{project.path}-#{project.id}", public: true, masked: false } + ) + end + end + end end context 'namespace is provided' do |