diff options
author | Thong Kuah <tkuah@gitlab.com> | 2019-06-21 04:23:06 +0300 |
---|---|---|
committer | Thong Kuah <tkuah@gitlab.com> | 2019-06-21 04:23:06 +0300 |
commit | 4562ea32dac7b07c285050b404a02e2de1480752 (patch) | |
tree | a4bb5153bad3d886df7a3090be43441b8eaf5153 /spec | |
parent | f47e4d025247509ab73e16c3db248b0f9ccb662c (diff) | |
parent | bae848418b1784be938bb670da4ffceed06f42dd (diff) |
Merge branch '63079-migrate-clusters-with-no-token-to-unmanaged' into 'master'
Migrate clusters with no token to unmanaged
Closes #62772
See merge request gitlab-org/gitlab-ce!29648
Diffstat (limited to 'spec')
-rw-r--r-- | spec/migrations/migrate_managed_clusters_with_no_token_to_unmanaged_spec.rb | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/spec/migrations/migrate_managed_clusters_with_no_token_to_unmanaged_spec.rb b/spec/migrations/migrate_managed_clusters_with_no_token_to_unmanaged_spec.rb new file mode 100644 index 00000000000..b73bd16cb60 --- /dev/null +++ b/spec/migrations/migrate_managed_clusters_with_no_token_to_unmanaged_spec.rb @@ -0,0 +1,59 @@ +# frozen_string_literal: true + +require 'spec_helper' +require Rails.root.join('db', 'post_migrate', '20190613231640_migrate_managed_clusters_with_no_token_to_unmanaged.rb') + +describe MigrateManagedClustersWithNoTokenToUnmanaged, :migration do + let(:cluster_type) { 'project_type' } + let(:created_at) { Date.new(2018, 11, 1).midnight } + + let!(:cluster) do + table(:clusters).create!( + name: 'cluster', + cluster_type: described_class::Cluster.cluster_types[cluster_type], + managed: true, + created_at: created_at + ) + end + + let!(:kubernetes_namespace) do + table(:clusters_kubernetes_namespaces).create!( + cluster_id: cluster.id, + namespace: 'namespace' + ) + end + + it 'marks the cluster as unmanaged' do + migrate! + expect(cluster.reload).not_to be_managed + end + + context 'cluster is not project type' do + let(:cluster_type) { 'group_type' } + + it 'does not update the cluster' do + migrate! + expect(cluster.reload).to be_managed + end + end + + context 'kubernetes namespace has a service account token' do + before do + kubernetes_namespace.update!(encrypted_service_account_token: "TOKEN") + end + + it 'does not update the cluster' do + migrate! + expect(cluster.reload).to be_managed + end + end + + context 'cluster was created after the cutoff' do + let(:created_at) { Date.new(2019, 1, 1).midnight } + + it 'does not update the cluster' do + migrate! + expect(cluster.reload).to be_managed + end + end +end |