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-04-09 21:09:34 +0300
committerGitLab Bot <gitlab-bot@gitlab.com>2020-04-09 21:09:34 +0300
commit141902c04943d5fb43c014b8cf42af60a3bc0cdf (patch)
tree7e5a31fe9b0434fa0071cb5d09273669c3a8acab /spec
parent209bd8cf1f542f6ba2a069b368a9187faa871e96 (diff)
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'spec')
-rw-r--r--spec/controllers/groups/shared_projects_controller_spec.rb2
-rw-r--r--spec/factories/group_group_links.rb8
-rw-r--r--spec/factories/project_group_links.rb5
-rw-r--r--spec/factories/usage_data.rb4
-rw-r--r--spec/finders/group_descendants_finder_spec.rb2
-rw-r--r--spec/frontend/jira_import/components/jira_import_app_spec.js38
-rw-r--r--spec/frontend/jira_import/components/jira_import_setup_spec.js28
-rw-r--r--spec/lib/gitlab/usage_data_spec.rb10
-rw-r--r--spec/models/clusters/cluster_spec.rb16
-rw-r--r--spec/models/group_group_link_spec.rb16
-rw-r--r--spec/models/project_group_link_spec.rb17
-rw-r--r--spec/requests/api/internal/base_spec.rb2
-rw-r--r--spec/support/helpers/usage_data_helpers.rb3
-rw-r--r--spec/support/shared_examples/models/concerns/blob_replicator_strategy_shared_examples.rb1
14 files changed, 143 insertions, 9 deletions
diff --git a/spec/controllers/groups/shared_projects_controller_spec.rb b/spec/controllers/groups/shared_projects_controller_spec.rb
index a4b2efa7c43..a31b5682ae0 100644
--- a/spec/controllers/groups/shared_projects_controller_spec.rb
+++ b/spec/controllers/groups/shared_projects_controller_spec.rb
@@ -13,7 +13,7 @@ describe Groups::SharedProjectsController do
Projects::GroupLinks::CreateService.new(
project,
user,
- link_group_access: ProjectGroupLink::DEVELOPER
+ link_group_access: Gitlab::Access::DEVELOPER
).execute(group)
end
diff --git a/spec/factories/group_group_links.rb b/spec/factories/group_group_links.rb
index 0711a15b8dd..6f98886faff 100644
--- a/spec/factories/group_group_links.rb
+++ b/spec/factories/group_group_links.rb
@@ -4,6 +4,12 @@ FactoryBot.define do
factory :group_group_link do
shared_group { create(:group) }
shared_with_group { create(:group) }
- group_access { GroupMember::DEVELOPER }
+ group_access { Gitlab::Access::DEVELOPER }
+
+ trait(:guest) { group_access { Gitlab::Access::GUEST } }
+ trait(:reporter) { group_access { Gitlab::Access::REPORTER } }
+ trait(:developer) { group_access { Gitlab::Access::DEVELOPER } }
+ trait(:owner) { group_access { Gitlab::Access::OWNER } }
+ trait(:maintainer) { group_access { Gitlab::Access::MAINTAINER } }
end
end
diff --git a/spec/factories/project_group_links.rb b/spec/factories/project_group_links.rb
index 3c8c7a34680..b9119a5788b 100644
--- a/spec/factories/project_group_links.rb
+++ b/spec/factories/project_group_links.rb
@@ -5,5 +5,10 @@ FactoryBot.define do
project
group
expires_at { nil }
+
+ trait(:guest) { group_access { Gitlab::Access::GUEST } }
+ trait(:reporter) { group_access { Gitlab::Access::REPORTER } }
+ trait(:developer) { group_access { Gitlab::Access::DEVELOPER } }
+ trait(:maintainer) { group_access { Gitlab::Access::MAINTAINER } }
end
end
diff --git a/spec/factories/usage_data.rb b/spec/factories/usage_data.rb
index da69a0fb844..b633038b83b 100644
--- a/spec/factories/usage_data.rb
+++ b/spec/factories/usage_data.rb
@@ -39,12 +39,14 @@ FactoryBot.define do
gcp_cluster = create(:cluster_provider_gcp, :created).cluster
create(:cluster_provider_aws, :created)
create(:cluster_platform_kubernetes)
+ create(:cluster, :management_project, management_project: projects[0])
create(:cluster, :group)
+ create(:cluster, :instance, :production_environment)
# Disabled clusters
create(:cluster, :disabled)
create(:cluster, :group, :disabled)
- create(:cluster, :group, :disabled)
+ create(:cluster, :instance, :disabled)
# Applications
create(:clusters_applications_helm, :installed, cluster: gcp_cluster)
diff --git a/spec/finders/group_descendants_finder_spec.rb b/spec/finders/group_descendants_finder_spec.rb
index 8d3564ca3c0..a08772c6e7e 100644
--- a/spec/finders/group_descendants_finder_spec.rb
+++ b/spec/finders/group_descendants_finder_spec.rb
@@ -123,7 +123,7 @@ describe GroupDescendantsFinder do
project = create(:project, namespace: group)
other_project = create(:project)
other_project.project_group_links.create(group: group,
- group_access: ProjectGroupLink::MAINTAINER)
+ group_access: Gitlab::Access::MAINTAINER)
expect(finder.execute).to contain_exactly(project)
end
diff --git a/spec/frontend/jira_import/components/jira_import_app_spec.js b/spec/frontend/jira_import/components/jira_import_app_spec.js
new file mode 100644
index 00000000000..fb3ffe1ede3
--- /dev/null
+++ b/spec/frontend/jira_import/components/jira_import_app_spec.js
@@ -0,0 +1,38 @@
+import { shallowMount } from '@vue/test-utils';
+import JiraImportApp from '~/jira_import/components/jira_import_app.vue';
+import JiraImportSetup from '~/jira_import/components/jira_import_setup.vue';
+
+describe('JiraImportApp', () => {
+ let wrapper;
+
+ afterEach(() => {
+ wrapper.destroy();
+ wrapper = null;
+ });
+
+ describe('set up Jira integration page', () => {
+ beforeEach(() => {
+ wrapper = shallowMount(JiraImportApp, {
+ propsData: {
+ isJiraConfigured: true,
+ projectPath: 'gitlab-org/gitlab-test',
+ setupIllustration: 'illustration.svg',
+ },
+ });
+ });
+
+ it('is shown when Jira integration is not configured', () => {
+ wrapper.setProps({
+ isJiraConfigured: false,
+ });
+
+ return wrapper.vm.$nextTick(() => {
+ expect(wrapper.find(JiraImportSetup).exists()).toBe(true);
+ });
+ });
+
+ it('is not shown when Jira integration is configured', () => {
+ expect(wrapper.find(JiraImportSetup).exists()).toBe(false);
+ });
+ });
+});
diff --git a/spec/frontend/jira_import/components/jira_import_setup_spec.js b/spec/frontend/jira_import/components/jira_import_setup_spec.js
new file mode 100644
index 00000000000..27366bd7e8a
--- /dev/null
+++ b/spec/frontend/jira_import/components/jira_import_setup_spec.js
@@ -0,0 +1,28 @@
+import { shallowMount } from '@vue/test-utils';
+import JiraImportSetup from '~/jira_import/components/jira_import_setup.vue';
+
+describe('JiraImportSetup', () => {
+ let wrapper;
+
+ beforeEach(() => {
+ wrapper = shallowMount(JiraImportSetup, {
+ propsData: {
+ illustration: 'illustration.svg',
+ },
+ });
+ });
+
+ afterEach(() => {
+ wrapper.destroy();
+ wrapper = null;
+ });
+
+ it('displays a message to the user', () => {
+ const message = 'You will first need to set up Jira Integration to use this feature.';
+ expect(wrapper.find('p').text()).toBe(message);
+ });
+
+ it('contains button to set up Jira integration', () => {
+ expect(wrapper.find('a').text()).toBe('Set up Jira Integration');
+ });
+});
diff --git a/spec/lib/gitlab/usage_data_spec.rb b/spec/lib/gitlab/usage_data_spec.rb
index 12199bc6d5a..9457e2cd549 100644
--- a/spec/lib/gitlab/usage_data_spec.rb
+++ b/spec/lib/gitlab/usage_data_spec.rb
@@ -58,13 +58,14 @@ describe Gitlab::UsageData, :aggregate_failures do
expect(count_data[:issues_with_embedded_grafana_charts_approx]).to eq(2)
expect(count_data[:incident_issues]).to eq(4)
- expect(count_data[:clusters_enabled]).to eq(4)
- expect(count_data[:project_clusters_enabled]).to eq(3)
+ expect(count_data[:clusters_enabled]).to eq(6)
+ expect(count_data[:project_clusters_enabled]).to eq(4)
expect(count_data[:group_clusters_enabled]).to eq(1)
+ expect(count_data[:instance_clusters_enabled]).to eq(1)
expect(count_data[:clusters_disabled]).to eq(3)
expect(count_data[:project_clusters_disabled]).to eq(1)
- expect(count_data[:group_clusters_disabled]).to eq(2)
- expect(count_data[:group_clusters_enabled]).to eq(1)
+ expect(count_data[:group_clusters_disabled]).to eq(1)
+ expect(count_data[:instance_clusters_disabled]).to eq(1)
expect(count_data[:clusters_platforms_eks]).to eq(1)
expect(count_data[:clusters_platforms_gke]).to eq(1)
expect(count_data[:clusters_platforms_user]).to eq(1)
@@ -78,6 +79,7 @@ describe Gitlab::UsageData, :aggregate_failures do
expect(count_data[:clusters_applications_elastic_stack]).to eq(1)
expect(count_data[:grafana_integrated_projects]).to eq(2)
expect(count_data[:clusters_applications_jupyter]).to eq(1)
+ expect(count_data[:clusters_management_project]).to eq(1)
end
it 'works when queries time out' do
diff --git a/spec/models/clusters/cluster_spec.rb b/spec/models/clusters/cluster_spec.rb
index 8685838fdde..29c75186110 100644
--- a/spec/models/clusters/cluster_spec.rb
+++ b/spec/models/clusters/cluster_spec.rb
@@ -156,6 +156,22 @@ describe Clusters::Cluster, :use_clean_rails_memory_store_caching do
end
end
+ describe '.with_management_project' do
+ subject { described_class.with_management_project }
+
+ context 'cluster has a management project' do
+ let!(:cluster) { create(:cluster, :management_project) }
+
+ it { is_expected.to include(cluster) }
+ end
+
+ context 'cluster does not have a management project' do
+ let!(:cluster) { create(:cluster) }
+
+ it { is_expected.not_to include(cluster) }
+ end
+ end
+
describe '.for_project_namespace' do
subject { described_class.for_project_namespace(namespace_id) }
diff --git a/spec/models/group_group_link_spec.rb b/spec/models/group_group_link_spec.rb
index a877cc803dd..1fbd399e82b 100644
--- a/spec/models/group_group_link_spec.rb
+++ b/spec/models/group_group_link_spec.rb
@@ -15,6 +15,22 @@ describe GroupGroupLink do
it { is_expected.to belong_to(:shared_with_group) }
end
+ describe 'scopes' do
+ describe '.non_guests' do
+ let!(:group_group_link_reporter) { create :group_group_link, :reporter }
+ let!(:group_group_link_maintainer) { create :group_group_link, :maintainer }
+ let!(:group_group_link_owner) { create :group_group_link, :owner }
+ let!(:group_group_link_guest) { create :group_group_link, :guest }
+
+ it 'returns all records which are greater than Guests access' do
+ expect(described_class.non_guests).to match_array([
+ group_group_link_reporter, group_group_link,
+ group_group_link_maintainer, group_group_link_owner
+ ])
+ end
+ end
+ end
+
describe 'validation' do
it { is_expected.to validate_presence_of(:shared_group) }
diff --git a/spec/models/project_group_link_spec.rb b/spec/models/project_group_link_spec.rb
index 63ce08c4d30..9c51180b55b 100644
--- a/spec/models/project_group_link_spec.rb
+++ b/spec/models/project_group_link_spec.rb
@@ -32,6 +32,23 @@ describe ProjectGroupLink do
end
end
+ describe 'scopes' do
+ describe '.non_guests' do
+ let!(:project_group_link_reporter) { create :project_group_link, :reporter }
+ let!(:project_group_link_maintainer) { create :project_group_link, :maintainer }
+ let!(:project_group_link_developer) { create :project_group_link }
+ let!(:project_group_link_guest) { create :project_group_link, :guest }
+
+ it 'returns all records which are greater than Guests access' do
+ expect(described_class.non_guests).to match_array([
+ project_group_link_reporter,
+ project_group_link_developer,
+ project_group_link_maintainer
+ ])
+ end
+ end
+ end
+
describe "destroying a record", :delete do
it "refreshes group users' authorized projects" do
project = create(:project, :private)
diff --git a/spec/requests/api/internal/base_spec.rb b/spec/requests/api/internal/base_spec.rb
index 0629d51154b..dc75fdab639 100644
--- a/spec/requests/api/internal/base_spec.rb
+++ b/spec/requests/api/internal/base_spec.rb
@@ -582,7 +582,7 @@ describe API::Internal::Base do
{
'action' => 'geo_proxy_to_primary',
'data' => {
- 'api_endpoints' => %w{geo/proxy_git_push_ssh/info_refs geo/proxy_git_push_ssh/push},
+ 'api_endpoints' => %w{geo/proxy_git_ssh/info_refs_receive_pack geo/proxy_git_ssh/receive_pack},
'gl_username' => 'testuser',
'primary_repo' => 'http://localhost:3000/testuser/repo.git'
}
diff --git a/spec/support/helpers/usage_data_helpers.rb b/spec/support/helpers/usage_data_helpers.rb
index 4d63cf12575..eff252ddda0 100644
--- a/spec/support/helpers/usage_data_helpers.rb
+++ b/spec/support/helpers/usage_data_helpers.rb
@@ -43,9 +43,11 @@ module UsageDataHelpers
clusters_enabled
project_clusters_enabled
group_clusters_enabled
+ instance_clusters_enabled
clusters_disabled
project_clusters_disabled
group_clusters_disabled
+ instance_clusters_disabled
clusters_platforms_eks
clusters_platforms_gke
clusters_platforms_user
@@ -58,6 +60,7 @@ module UsageDataHelpers
clusters_applications_knative
clusters_applications_elastic_stack
clusters_applications_jupyter
+ clusters_management_project
in_review_folder
grafana_integrated_projects
groups
diff --git a/spec/support/shared_examples/models/concerns/blob_replicator_strategy_shared_examples.rb b/spec/support/shared_examples/models/concerns/blob_replicator_strategy_shared_examples.rb
index 62b1b5791dc..8372ee9ac4a 100644
--- a/spec/support/shared_examples/models/concerns/blob_replicator_strategy_shared_examples.rb
+++ b/spec/support/shared_examples/models/concerns/blob_replicator_strategy_shared_examples.rb
@@ -52,6 +52,7 @@ RSpec.shared_examples 'a blob replicator' do
replicator.calculate_checksum!
expect(model_record.reload.verification_checksum).not_to be_nil
+ expect(model_record.reload.verified_at).not_to be_nil
end
it 'saves the error message and increments retry counter' do