Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/spec
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2020-01-17 09:08:39 +0300
committerGitLab Bot <gitlab-bot@gitlab.com>2020-01-17 09:08:39 +0300
commitea20020f71c7226d57b6449b1d9b6c6f1298223e (patch)
tree8e33029cf61ae40635dde3fc5c1567dda8d14d18 /spec
parentd9e821dbd908f40ff9828357452cd55a651283fa (diff)
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'spec')
-rw-r--r--spec/frontend/diffs/components/compare_versions_spec.js1
-rw-r--r--spec/frontend/diffs/components/diff_file_header_spec.js1
-rw-r--r--spec/frontend/diffs/components/diff_gutter_avatars_spec.js1
-rw-r--r--spec/frontend/diffs/components/edit_button_spec.js1
-rw-r--r--spec/frontend/notes/components/comment_form_spec.js1
-rw-r--r--spec/frontend/notes/components/discussion_jump_to_next_button_spec.js4
-rw-r--r--spec/frontend/notes/components/discussion_notes_spec.js1
-rw-r--r--spec/frontend/notes/components/note_app_spec.js1
-rw-r--r--spec/frontend/notes/components/note_edited_text_spec.js1
-rw-r--r--spec/lib/gitlab/kubernetes/helm/api_spec.rb11
-rw-r--r--spec/lib/gitlab/kubernetes/namespace_spec.rb14
-rw-r--r--spec/services/clusters/kubernetes/create_or_update_namespace_service_spec.rb43
-rw-r--r--spec/services/clusters/kubernetes/create_or_update_service_account_service_spec.rb12
13 files changed, 72 insertions, 20 deletions
diff --git a/spec/frontend/diffs/components/compare_versions_spec.js b/spec/frontend/diffs/components/compare_versions_spec.js
index 7648c39976c..ff92a12eaf6 100644
--- a/spec/frontend/diffs/components/compare_versions_spec.js
+++ b/spec/frontend/diffs/components/compare_versions_spec.js
@@ -22,7 +22,6 @@ describe('CompareVersions', () => {
store.state.diffs.diffFiles.push('test');
wrapper = mount(CompareVersionsComponent, {
- attachToDocument: true,
localVue,
store,
propsData: {
diff --git a/spec/frontend/diffs/components/diff_file_header_spec.js b/spec/frontend/diffs/components/diff_file_header_spec.js
index 19776b00194..e0b7e0bc0f3 100644
--- a/spec/frontend/diffs/components/diff_file_header_spec.js
+++ b/spec/frontend/diffs/components/diff_file_header_spec.js
@@ -91,7 +91,6 @@ describe('DiffFileHeader component', () => {
},
localVue,
store,
- attachToDocument: true,
});
};
diff --git a/spec/frontend/diffs/components/diff_gutter_avatars_spec.js b/spec/frontend/diffs/components/diff_gutter_avatars_spec.js
index 38bfa44e6d4..4d8345d494d 100644
--- a/spec/frontend/diffs/components/diff_gutter_avatars_spec.js
+++ b/spec/frontend/diffs/components/diff_gutter_avatars_spec.js
@@ -16,7 +16,6 @@ describe('DiffGutterAvatars', () => {
propsData: {
...props,
},
- attachToDocument: true,
});
};
diff --git a/spec/frontend/diffs/components/edit_button_spec.js b/spec/frontend/diffs/components/edit_button_spec.js
index ccab386169a..f9a1d4a84a8 100644
--- a/spec/frontend/diffs/components/edit_button_spec.js
+++ b/spec/frontend/diffs/components/edit_button_spec.js
@@ -9,7 +9,6 @@ describe('EditButton', () => {
const createComponent = (props = {}) => {
wrapper = shallowMount(EditButton, {
propsData: { ...props },
- attachToDocument: true,
});
};
diff --git a/spec/frontend/notes/components/comment_form_spec.js b/spec/frontend/notes/components/comment_form_spec.js
index 8f56b66350b..ceba31b1a70 100644
--- a/spec/frontend/notes/components/comment_form_spec.js
+++ b/spec/frontend/notes/components/comment_form_spec.js
@@ -37,7 +37,6 @@ describe('issue_comment_form component', () => {
noteableType,
},
store,
- attachToDocument: true,
});
};
diff --git a/spec/frontend/notes/components/discussion_jump_to_next_button_spec.js b/spec/frontend/notes/components/discussion_jump_to_next_button_spec.js
index a2ef477b5d2..58cdf3cb57e 100644
--- a/spec/frontend/notes/components/discussion_jump_to_next_button_spec.js
+++ b/spec/frontend/notes/components/discussion_jump_to_next_button_spec.js
@@ -5,9 +5,7 @@ describe('JumpToNextDiscussionButton', () => {
let wrapper;
beforeEach(() => {
- wrapper = shallowMount(JumpToNextDiscussionButton, {
- attachToDocument: true,
- });
+ wrapper = shallowMount(JumpToNextDiscussionButton);
});
afterEach(() => {
diff --git a/spec/frontend/notes/components/discussion_notes_spec.js b/spec/frontend/notes/components/discussion_notes_spec.js
index 1c004e5558e..81773752037 100644
--- a/spec/frontend/notes/components/discussion_notes_spec.js
+++ b/spec/frontend/notes/components/discussion_notes_spec.js
@@ -31,7 +31,6 @@ describe('DiscussionNotes', () => {
slots: {
'avatar-badge': '<span class="avatar-badge-slot-content" />',
},
- attachToDocument: true,
});
};
diff --git a/spec/frontend/notes/components/note_app_spec.js b/spec/frontend/notes/components/note_app_spec.js
index 76ed8134411..f9b69e72619 100644
--- a/spec/frontend/notes/components/note_app_spec.js
+++ b/spec/frontend/notes/components/note_app_spec.js
@@ -59,7 +59,6 @@ describe('note_app', () => {
</div>`,
},
{
- attachToDocument: true,
propsData,
store,
},
diff --git a/spec/frontend/notes/components/note_edited_text_spec.js b/spec/frontend/notes/components/note_edited_text_spec.js
index 4671bc6629c..0a5fe48ef94 100644
--- a/spec/frontend/notes/components/note_edited_text_spec.js
+++ b/spec/frontend/notes/components/note_edited_text_spec.js
@@ -21,7 +21,6 @@ describe('NoteEditedText', () => {
beforeEach(() => {
wrapper = shallowMount(NoteEditedText, {
propsData,
- attachToDocument: true,
});
});
diff --git a/spec/lib/gitlab/kubernetes/helm/api_spec.rb b/spec/lib/gitlab/kubernetes/helm/api_spec.rb
index 5d9beec093a..e493acd7bad 100644
--- a/spec/lib/gitlab/kubernetes/helm/api_spec.rb
+++ b/spec/lib/gitlab/kubernetes/helm/api_spec.rb
@@ -6,7 +6,8 @@ describe Gitlab::Kubernetes::Helm::Api do
let(:client) { double('kubernetes client') }
let(:helm) { described_class.new(client) }
let(:gitlab_namespace) { Gitlab::Kubernetes::Helm::NAMESPACE }
- let(:namespace) { Gitlab::Kubernetes::Namespace.new(gitlab_namespace, client) }
+ let(:gitlab_namespace_labels) { Gitlab::Kubernetes::Helm::NAMESPACE_LABELS }
+ let(:namespace) { Gitlab::Kubernetes::Namespace.new(gitlab_namespace, client, labels: gitlab_namespace_labels) }
let(:application_name) { 'app-name' }
let(:rbac) { false }
let(:files) { {} }
@@ -23,13 +24,17 @@ describe Gitlab::Kubernetes::Helm::Api do
subject { helm }
before do
- allow(Gitlab::Kubernetes::Namespace).to receive(:new).with(gitlab_namespace, client).and_return(namespace)
+ allow(Gitlab::Kubernetes::Namespace).to(
+ receive(:new).with(gitlab_namespace, client, labels: gitlab_namespace_labels).and_return(namespace)
+ )
allow(client).to receive(:create_config_map)
end
describe '#initialize' do
it 'creates a namespace object' do
- expect(Gitlab::Kubernetes::Namespace).to receive(:new).with(gitlab_namespace, client)
+ expect(Gitlab::Kubernetes::Namespace).to(
+ receive(:new).with(gitlab_namespace, client, labels: gitlab_namespace_labels)
+ )
subject
end
diff --git a/spec/lib/gitlab/kubernetes/namespace_spec.rb b/spec/lib/gitlab/kubernetes/namespace_spec.rb
index 16634cc48e6..d44a803410f 100644
--- a/spec/lib/gitlab/kubernetes/namespace_spec.rb
+++ b/spec/lib/gitlab/kubernetes/namespace_spec.rb
@@ -5,8 +5,9 @@ require 'spec_helper'
describe Gitlab::Kubernetes::Namespace do
let(:name) { 'a_namespace' }
let(:client) { double('kubernetes client') }
+ let(:labels) { nil }
- subject { described_class.new(name, client) }
+ subject { described_class.new(name, client, labels: labels) }
it { expect(subject.name).to eq(name) }
@@ -49,6 +50,17 @@ describe Gitlab::Kubernetes::Namespace do
expect { subject.create! }.not_to raise_error
end
+
+ context 'with labels' do
+ let(:labels) { { foo: :bar } }
+
+ it 'creates a namespace with labels' do
+ matcher = have_attributes(metadata: have_attributes(name: name, labels: have_attributes(foo: :bar)))
+ expect(client).to receive(:create_namespace).with(matcher).once
+
+ expect { subject.create! }.not_to raise_error
+ end
+ end
end
describe '#ensure_exists!' do
diff --git a/spec/services/clusters/kubernetes/create_or_update_namespace_service_spec.rb b/spec/services/clusters/kubernetes/create_or_update_namespace_service_spec.rb
index bd1a90996a8..3982d2310d8 100644
--- a/spec/services/clusters/kubernetes/create_or_update_namespace_service_spec.rb
+++ b/spec/services/clusters/kubernetes/create_or_update_namespace_service_spec.rb
@@ -57,11 +57,21 @@ describe Clusters::Kubernetes::CreateOrUpdateNamespaceService, '#execute' do
end.to change(Clusters::KubernetesNamespace, :count).by(1)
end
- it 'creates project service account' do
- expect_next_instance_of(Clusters::Kubernetes::CreateOrUpdateServiceAccountService) do |instance|
- expect(instance).to receive(:execute).once
- end
-
+ it 'creates project service account and namespace' do
+ account_service = double(Clusters::Kubernetes::CreateOrUpdateServiceAccountService)
+ expect(Clusters::Kubernetes::CreateOrUpdateServiceAccountService).to(
+ receive(:namespace_creator).with(
+ cluster.platform.kubeclient,
+ service_account_name: "#{namespace}-service-account",
+ service_account_namespace: namespace,
+ service_account_namespace_labels: {
+ 'app.gitlab.com/app' => project.full_path_slug,
+ 'app.gitlab.com/env' => environment.slug
+ },
+ rbac: true
+ ).and_return(account_service)
+ )
+ expect(account_service).to receive(:execute).once
subject
end
@@ -73,6 +83,29 @@ describe Clusters::Kubernetes::CreateOrUpdateNamespaceService, '#execute' do
expect(kubernetes_namespace.service_account_name).to eq("#{namespace}-service-account")
expect(kubernetes_namespace.encrypted_service_account_token).to be_present
end
+
+ context 'without environment' do
+ before do
+ kubernetes_namespace.environment = nil
+ end
+
+ it 'creates project service account and namespace' do
+ account_service = double(Clusters::Kubernetes::CreateOrUpdateServiceAccountService)
+ expect(Clusters::Kubernetes::CreateOrUpdateServiceAccountService).to(
+ receive(:namespace_creator).with(
+ cluster.platform.kubeclient,
+ service_account_name: "#{namespace}-service-account",
+ service_account_namespace: namespace,
+ service_account_namespace_labels: {
+ 'app.gitlab.com/app' => project.full_path_slug
+ },
+ rbac: true
+ ).and_return(account_service)
+ )
+ expect(account_service).to receive(:execute).once
+ subject
+ end
+ end
end
context 'group clusters' do
diff --git a/spec/services/clusters/kubernetes/create_or_update_service_account_service_spec.rb b/spec/services/clusters/kubernetes/create_or_update_service_account_service_spec.rb
index 4df73fcc2ae..8fa22422074 100644
--- a/spec/services/clusters/kubernetes/create_or_update_service_account_service_spec.rb
+++ b/spec/services/clusters/kubernetes/create_or_update_service_account_service_spec.rb
@@ -116,6 +116,7 @@ describe Clusters::Kubernetes::CreateOrUpdateServiceAccountService do
describe '.namespace_creator' do
let(:namespace) { "#{project.path}-#{project.id}" }
+ let(:namespace_labels) { { app: project.full_path_slug, env: "staging" } }
let(:service_account_name) { "#{namespace}-service-account" }
let(:token_name) { "#{namespace}-token" }
@@ -124,6 +125,7 @@ describe Clusters::Kubernetes::CreateOrUpdateServiceAccountService do
kubeclient,
service_account_name: service_account_name,
service_account_namespace: namespace,
+ service_account_namespace_labels: namespace_labels,
rbac: rbac
).execute
end
@@ -149,6 +151,16 @@ describe Clusters::Kubernetes::CreateOrUpdateServiceAccountService do
stub_kubeclient_put_role_binding(api_url, Clusters::Kubernetes::GITLAB_CROSSPLANE_DATABASE_ROLE_BINDING_NAME, namespace: namespace)
end
+ it 'creates a namespace object' do
+ kubernetes_namespace = double(Gitlab::Kubernetes::Namespace)
+ expect(Gitlab::Kubernetes::Namespace).to(
+ receive(:new).with(namespace, kubeclient, labels: namespace_labels).and_return(kubernetes_namespace)
+ )
+ expect(kubernetes_namespace).to receive(:ensure_exists!)
+
+ subject
+ end
+
it_behaves_like 'creates service account and token'
it 'creates a namespaced role binding with edit access' do