Commit 6a2e10e3 authored by John T Skarbek's avatar John T Skarbek

Merge remote-tracking branch 'origin/master'

parents de24e9b8 cf4d7cd8
<script>
export default {
name: 'TimelineEntryItem',
};
</script>
<template> <template>
<li class="timeline-entry"> <li class="timeline-entry">
<div class="timeline-entry-inner"><slot></slot></div> <div class="timeline-entry-inner"><slot></slot></div>
......
...@@ -20,4 +20,9 @@ module ClustersHelper ...@@ -20,4 +20,9 @@ module ClustersHelper
!cluster.provider.legacy_abac? !cluster.provider.legacy_abac?
end end
# EE overrides this
def show_cluster_health_graphs?(cluster)
false
end
end end
...@@ -2,6 +2,7 @@ ...@@ -2,6 +2,7 @@
class IssueBoardEntity < Grape::Entity class IssueBoardEntity < Grape::Entity
include RequestAwareEntity include RequestAwareEntity
include TimeTrackableEntity
expose :id expose :id
expose :iid expose :iid
......
...@@ -34,7 +34,7 @@ ...@@ -34,7 +34,7 @@
= render 'banner' = render 'banner'
= render 'form' = render 'form'
= render_if_exists 'health' = render_if_exists 'projects/clusters/prometheus_graphs' if show_cluster_health_graphs?(@cluster)
.cluster-applications-table#js-cluster-applications .cluster-applications-table#js-cluster-applications
......
...@@ -53,7 +53,7 @@ module ApplicationWorker ...@@ -53,7 +53,7 @@ module ApplicationWorker
schedule = now + delay.to_i schedule = now + delay.to_i
if schedule <= now if schedule <= now
raise ArgumentError, 'The schedule time must be in the future!' raise ArgumentError, _('The schedule time must be in the future!')
end end
Sidekiq::Client.push_bulk('class' => self, 'args' => args_list, 'at' => schedule) Sidekiq::Client.push_bulk('class' => self, 'args' => args_list, 'at' => schedule)
......
...@@ -24,22 +24,22 @@ class EmailReceiverWorker ...@@ -24,22 +24,22 @@ class EmailReceiverWorker
reason = reason =
case error case error
when Gitlab::Email::UnknownIncomingEmail when Gitlab::Email::UnknownIncomingEmail
"We couldn't figure out what the email is for. Please create your issue or comment through the web interface." s_("EmailError|We couldn't figure out what the email is for. Please create your issue or comment through the web interface.")
when Gitlab::Email::SentNotificationNotFoundError when Gitlab::Email::SentNotificationNotFoundError
"We couldn't figure out what the email is in reply to. Please create your comment through the web interface." s_("EmailError|We couldn't figure out what the email is in reply to. Please create your comment through the web interface.")
when Gitlab::Email::ProjectNotFound when Gitlab::Email::ProjectNotFound
"We couldn't find the project. Please check if there's any typo." s_("EmailError|We couldn't find the project. Please check if there's any typo.")
when Gitlab::Email::EmptyEmailError when Gitlab::Email::EmptyEmailError
can_retry = true can_retry = true
"It appears that the email is blank. Make sure your reply is at the top of the email, we can't process inline replies." s_("EmailError|It appears that the email is blank. Make sure your reply is at the top of the email, we can't process inline replies.")
when Gitlab::Email::UserNotFoundError when Gitlab::Email::UserNotFoundError
"We couldn't figure out what user corresponds to the email. Please create your comment through the web interface." s_("EmailError|We couldn't figure out what user corresponds to the email. Please create your comment through the web interface.")
when Gitlab::Email::UserBlockedError when Gitlab::Email::UserBlockedError
"Your account has been blocked. If you believe this is in error, contact a staff member." s_("EmailError|Your account has been blocked. If you believe this is in error, contact a staff member.")
when Gitlab::Email::UserNotAuthorizedError when Gitlab::Email::UserNotAuthorizedError
"You are not allowed to perform this action. If you believe this is in error, contact a staff member." s_("EmailError|You are not allowed to perform this action. If you believe this is in error, contact a staff member.")
when Gitlab::Email::NoteableNotFoundError when Gitlab::Email::NoteableNotFoundError
"The thread you are replying to no longer exists, perhaps it was deleted? If you believe this is in error, contact a staff member." s_("EmailError|The thread you are replying to no longer exists, perhaps it was deleted? If you believe this is in error, contact a staff member.")
when Gitlab::Email::InvalidAttachment when Gitlab::Email::InvalidAttachment
error.message error.message
when Gitlab::Email::InvalidRecordError when Gitlab::Email::InvalidRecordError
......
...@@ -20,7 +20,7 @@ module ObjectStorage ...@@ -20,7 +20,7 @@ module ObjectStorage
end end
def to_s def to_s
success? ? "Migration successful." : "Error while migrating #{upload.id}: #{error.message}" success? ? _("Migration successful.") : _("Error while migrating %{upload_id}: %{error_message}") % { upload_id: upload.id, error_message: error.message }
end end
end end
...@@ -47,7 +47,7 @@ module ObjectStorage ...@@ -47,7 +47,7 @@ module ObjectStorage
end end
def header(success, failures) def header(success, failures)
"Migrated #{success.count}/#{success.count + failures.count} files." _("Migrated %{success_count}/%{total_count} files.") % { success_count: success.count, total_count: success.count + failures.count }
end end
def failures(failures) def failures(failures)
...@@ -75,9 +75,9 @@ module ObjectStorage ...@@ -75,9 +75,9 @@ module ObjectStorage
model_types = uploads.map(&:model_type).uniq model_types = uploads.map(&:model_type).uniq
model_has_mount = mounted_as.nil? || model_class.uploaders[mounted_as] == uploader_class model_has_mount = mounted_as.nil? || model_class.uploaders[mounted_as] == uploader_class
raise(SanityCheckError, "Multiple uploaders found: #{uploader_types}") unless uploader_types.count == 1 raise(SanityCheckError, _("Multiple uploaders found: %{uploader_types}") % { uploader_types: uploader_types }) unless uploader_types.count == 1
raise(SanityCheckError, "Multiple model types found: #{model_types}") unless model_types.count == 1 raise(SanityCheckError, _("Multiple model types found: %{model_types}") % { model_types: model_types }) unless model_types.count == 1
raise(SanityCheckError, "Mount point #{mounted_as} not found in #{model_class}.") unless model_has_mount raise(SanityCheckError, _("Mount point %{mounted_as} not found in %{model_class}.") % { mounted_as: mounted_as, model_class: model_class }) unless model_has_mount
end end
# rubocop: disable CodeReuse/ActiveRecord # rubocop: disable CodeReuse/ActiveRecord
...@@ -110,9 +110,9 @@ module ObjectStorage ...@@ -110,9 +110,9 @@ module ObjectStorage
return if args.count == 4 return if args.count == 4
case args.count case args.count
when 3 then raise SanityCheckError, "Job is missing the `model_type` argument." when 3 then raise SanityCheckError, _("Job is missing the `model_type` argument.")
else else
raise SanityCheckError, "Job has wrong arguments format." raise SanityCheckError, _("Job has wrong arguments format.")
end end
end end
......
---
title: Update GitLab Workhorse to v8.5.1
merge_request: 27217
author:
type: fixed
...@@ -7,7 +7,8 @@ ...@@ -7,7 +7,8 @@
# * are being moved to ApplicationSetting model! # # * are being moved to ApplicationSetting model! #
# If a setting requires an application restart say so in that screen. # # If a setting requires an application restart say so in that screen. #
# If you change this file in a Merge Request, please also create # # If you change this file in a Merge Request, please also create #
# a MR on https://gitlab.com/gitlab-org/omnibus-gitlab/merge_requests # # a MR on https://gitlab.com/gitlab-org/omnibus-gitlab/merge_requests. #
# For more details see https://gitlab.com/gitlab-org/omnibus-gitlab/blob/0928cfb09f43993fd9454b0b14dbd1924b1407bc/doc/settings/gitlab.yml.md #
######################################################################## ########################################################################
# #
# #
......
...@@ -141,7 +141,7 @@ Now that your certificate has been issued, let's add it to your Pages site: ...@@ -141,7 +141,7 @@ Now that your certificate has been issued, let's add it to your Pages site:
``` ```
1. Click **Save changes** to apply them to your website. 1. Click **Save changes** to apply them to your website.
1. Wait a few minutes for DNS propagation. 1. Wait a few minutes for the configuration changes to take effect.
1. Visit your website at `https://example.com`. 1. Visit your website at `https://example.com`.
To force `https` connections on your site, navigate to your To force `https` connections on your site, navigate to your
......
...@@ -3184,6 +3184,30 @@ msgstr "" ...@@ -3184,6 +3184,30 @@ msgstr ""
msgid "Email patch" msgid "Email patch"
msgstr "" msgstr ""
msgid "EmailError|It appears that the email is blank. Make sure your reply is at the top of the email, we can't process inline replies."
msgstr ""
msgid "EmailError|The thread you are replying to no longer exists, perhaps it was deleted? If you believe this is in error, contact a staff member."
msgstr ""
msgid "EmailError|We couldn't figure out what the email is for. Please create your issue or comment through the web interface."
msgstr ""
msgid "EmailError|We couldn't figure out what the email is in reply to. Please create your comment through the web interface."
msgstr ""
msgid "EmailError|We couldn't figure out what user corresponds to the email. Please create your comment through the web interface."
msgstr ""
msgid "EmailError|We couldn't find the project. Please check if there's any typo."
msgstr ""
msgid "EmailError|You are not allowed to perform this action. If you believe this is in error, contact a staff member."
msgstr ""
msgid "EmailError|Your account has been blocked. If you believe this is in error, contact a staff member."
msgstr ""
msgid "Emails" msgid "Emails"
msgstr "" msgstr ""
...@@ -3508,6 +3532,9 @@ msgstr "" ...@@ -3508,6 +3532,9 @@ msgstr ""
msgid "Error while loading the merge request. Please try again." msgid "Error while loading the merge request. Please try again."
msgstr "" msgstr ""
msgid "Error while migrating %{upload_id}: %{error_message}"
msgstr ""
msgid "Error with Akismet. Please check the logs for more info." msgid "Error with Akismet. Please check the logs for more info."
msgstr "" msgstr ""
...@@ -4679,6 +4706,12 @@ msgstr "" ...@@ -4679,6 +4706,12 @@ msgstr ""
msgid "Job has been successfully erased!" msgid "Job has been successfully erased!"
msgstr "" msgstr ""
msgid "Job has wrong arguments format."
msgstr ""
msgid "Job is missing the `model_type` argument."
msgstr ""
msgid "Job is stuck. Check runners." msgid "Job is stuck. Check runners."
msgstr "" msgstr ""
...@@ -5262,6 +5295,12 @@ msgstr "" ...@@ -5262,6 +5295,12 @@ msgstr ""
msgid "Metrics|Unexpected metrics data response from prometheus endpoint" msgid "Metrics|Unexpected metrics data response from prometheus endpoint"
msgstr "" msgstr ""
msgid "Migrated %{success_count}/%{total_count} files."
msgstr ""
msgid "Migration successful."
msgstr ""
msgid "Milestone" msgid "Milestone"
msgstr "" msgstr ""
...@@ -5355,12 +5394,21 @@ msgstr "" ...@@ -5355,12 +5394,21 @@ msgstr ""
msgid "Most stars" msgid "Most stars"
msgstr "" msgstr ""
msgid "Mount point %{mounted_as} not found in %{model_class}."
msgstr ""
msgid "Move" msgid "Move"
msgstr "" msgstr ""
msgid "Move issue" msgid "Move issue"
msgstr "" msgstr ""
msgid "Multiple model types found: %{model_types}"
msgstr ""
msgid "Multiple uploaders found: %{uploader_types}"
msgstr ""
msgid "Name" msgid "Name"
msgstr "" msgstr ""
...@@ -8307,6 +8355,9 @@ msgstr "" ...@@ -8307,6 +8355,9 @@ msgstr ""
msgid "The review stage shows the time from creating the merge request to merging it. The data will automatically be added after you merge your first merge request." msgid "The review stage shows the time from creating the merge request to merging it. The data will automatically be added after you merge your first merge request."
msgstr "" msgstr ""
msgid "The schedule time must be in the future!"
msgstr ""
msgid "The snippet can be accessed without any authentication." msgid "The snippet can be accessed without any authentication."
msgstr "" msgstr ""
......
...@@ -39,7 +39,9 @@ following call would login to a local [GDK] instance and run all specs in ...@@ -39,7 +39,9 @@ following call would login to a local [GDK] instance and run all specs in
`qa/specs/features`: `qa/specs/features`:
``` ```
bin/qa Test::Instance::All http://localhost:3000 # Make sure to install the dependencies first with `bundle install`
bundle exec bin/qa Test::Instance::All http://localhost:3000
``` ```
Note: If you want to run tests requiring SSH against GDK, you Note: If you want to run tests requiring SSH against GDK, you
...@@ -56,14 +58,14 @@ You can also supply specific tests to run as another parameter. For example, to ...@@ -56,14 +58,14 @@ You can also supply specific tests to run as another parameter. For example, to
run the repository-related specs, you can execute: run the repository-related specs, you can execute:
``` ```
bin/qa Test::Instance::All http://localhost -- qa/specs/features/browser_ui/3_create/repository bundle exec bin/qa Test::Instance::All http://localhost -- qa/specs/features/browser_ui/3_create/repository
``` ```
Since the arguments would be passed to `rspec`, you could use all `rspec` Since the arguments would be passed to `rspec`, you could use all `rspec`
options there. For example, passing `--backtrace` and also line number: options there. For example, passing `--backtrace` and also line number:
``` ```
bin/qa Test::Instance::All http://localhost -- qa/specs/features/browser_ui/3_create/merge_request/create_merge_request_spec.rb:6 --backtrace bundle exec bin/qa Test::Instance::All http://localhost -- qa/specs/features/browser_ui/3_create/merge_request/create_merge_request_spec.rb:6 --backtrace
``` ```
Note that the separator `--` is required; all subsequent options will be Note that the separator `--` is required; all subsequent options will be
...@@ -78,7 +80,7 @@ If you need to authenticate as a different user, you can provide the ...@@ -78,7 +80,7 @@ If you need to authenticate as a different user, you can provide the
`GITLAB_USERNAME` and `GITLAB_PASSWORD` environment variables: `GITLAB_USERNAME` and `GITLAB_PASSWORD` environment variables:
``` ```
GITLAB_USERNAME=jsmith GITLAB_PASSWORD=password bin/qa Test::Instance::All https://gitlab.example.com GITLAB_USERNAME=jsmith GITLAB_PASSWORD=password bundle exec bin/qa Test::Instance::All https://gitlab.example.com
``` ```
If your user doesn't have permission to default sandbox group If your user doesn't have permission to default sandbox group
...@@ -86,7 +88,7 @@ If your user doesn't have permission to default sandbox group ...@@ -86,7 +88,7 @@ If your user doesn't have permission to default sandbox group
`GITLAB_SANDBOX_NAME`: `GITLAB_SANDBOX_NAME`:
``` ```
GITLAB_USERNAME=jsmith GITLAB_PASSWORD=password GITLAB_SANDBOX_NAME=jsmith-qa-sandbox bin/qa Test::Instance::All https://gitlab.example.com GITLAB_USERNAME=jsmith GITLAB_PASSWORD=password GITLAB_SANDBOX_NAME=jsmith-qa-sandbox bundle exec bin/qa Test::Instance::All https://gitlab.example.com
``` ```
All [supported environment variables are here](https://gitlab.com/gitlab-org/gitlab-qa/blob/master/docs/what_tests_can_be_run.md#supported-environment-variables). All [supported environment variables are here](https://gitlab.com/gitlab-org/gitlab-qa/blob/master/docs/what_tests_can_be_run.md#supported-environment-variables).
...@@ -121,7 +123,7 @@ tests that are expected to fail while a fix is in progress (similar to how ...@@ -121,7 +123,7 @@ tests that are expected to fail while a fix is in progress (similar to how
can be used). can be used).
``` ```
bin/qa Test::Instance::All http://localhost -- --tag quarantine bundle exec bin/qa Test::Instance::All http://localhost -- --tag quarantine
``` ```
If `quarantine` is used with other tags, tests will only be run if they have at If `quarantine` is used with other tags, tests will only be run if they have at
...@@ -140,7 +142,7 @@ option `--enable-feature FEATURE_FLAG`. For example, to enable the feature flag ...@@ -140,7 +142,7 @@ option `--enable-feature FEATURE_FLAG`. For example, to enable the feature flag
that enforces Gitaly request limits, you would use the command: that enforces Gitaly request limits, you would use the command:
``` ```
bin/qa Test::Instance::All http://localhost --enable-feature gitaly_enforce_requests_limits bundle exec bin/qa Test::Instance::All http://localhost --enable-feature gitaly_enforce_requests_limits
``` ```
This will instruct the QA framework to enable the `gitaly_enforce_requests_limits` This will instruct the QA framework to enable the `gitaly_enforce_requests_limits`
...@@ -153,4 +155,4 @@ flag during a single test, [as you can in unit tests](https://docs.gitlab.com/ee ...@@ -153,4 +155,4 @@ flag during a single test, [as you can in unit tests](https://docs.gitlab.com/ee
but [that capability is planned](https://gitlab.com/gitlab-org/quality/team-tasks/issues/77). but [that capability is planned](https://gitlab.com/gitlab-org/quality/team-tasks/issues/77).
Note also that the `--` separator isn't used because `--enable-feature` is a QA Note also that the `--` separator isn't used because `--enable-feature` is a QA
framework option, not an `rspec` option. framework option, not an `rspec` option.
\ No newline at end of file
# frozen_string_literal: true # frozen_string_literal: true
module QA module QA
context 'Create' do # Failure issue: https://gitlab.com/gitlab-org/quality/nightly/issues/94
context 'Create', :quarantine do
describe 'Merge request creation from fork' do describe 'Merge request creation from fork' do
it 'user forks a project, submits a merge request and maintainer merges it' do it 'user forks a project, submits a merge request and maintainer merges it' do
Runtime::Browser.visit(:gitlab, Page::Main::Login) Runtime::Browser.visit(:gitlab, Page::Main::Login)
......
# frozen_string_literal: true # frozen_string_literal: true
module QA module QA
# Failure issue: https://gitlab.com/gitlab-org/quality/staging/issues/31 # Failure issue: https://gitlab.com/gitlab-org/quality/nightly/issues/93
context 'Create' do context 'Create', :quarantine do
describe 'Merge request squashing' do describe 'Merge request squashing' do
it 'user squashes commits while merging' do it 'user squashes commits while merging' do
Runtime::Browser.visit(:gitlab, Page::Main::Login) Runtime::Browser.visit(:gitlab, Page::Main::Login)
......
...@@ -139,7 +139,7 @@ describe 'User creates branch and merge request on issue page', :js do ...@@ -139,7 +139,7 @@ describe 'User creates branch and merge request on issue page', :js do
visit project_issue_path(project, issue) visit project_issue_path(project, issue)
end end
it 'disables the create branch button' do it 'disables the create branch button', :quarantine do
expect(page).to have_css('.create-mr-dropdown-wrap .unavailable:not(.hidden)') expect(page).to have_css('.create-mr-dropdown-wrap .unavailable:not(.hidden)')
expect(page).to have_css('.create-mr-dropdown-wrap .available.hidden', visible: false) expect(page).to have_css('.create-mr-dropdown-wrap .available.hidden', visible: false)
expect(page).to have_content /Related merge requests/ expect(page).to have_content /Related merge requests/
......
...@@ -9,6 +9,9 @@ ...@@ -9,6 +9,9 @@
"project_id": { "type": "integer" }, "project_id": { "type": "integer" },
"relative_position": { "type": ["integer", "null"] }, "relative_position": { "type": ["integer", "null"] },
"time_estimate": { "type": "integer" }, "time_estimate": { "type": "integer" },
"total_time_spent": { "type": "integer" },
"human_time_estimate": { "type": ["string", "null"] },
"human_total_time_spent": { "type": ["string", "null"] },
"weight": { "type": ["integer", "null"] }, "weight": { "type": ["integer", "null"] },
"project": { "project": {
"type": "object", "type": "object",
......
...@@ -15,4 +15,5 @@ globals: ...@@ -15,4 +15,5 @@ globals:
rules: rules:
jest/no-identical-title: error jest/no-identical-title: error
jest/no-focused-tests: error jest/no-focused-tests: error
jest/valid-describe: error
jest/no-jasmine-globals: error jest/no-jasmine-globals: error
...@@ -9,7 +9,7 @@ describe('IDE file templates mutations', () => { ...@@ -9,7 +9,7 @@ describe('IDE file templates mutations', () => {
state = createState(); state = createState();
}); });
describe(types.REQUEST_TEMPLATE_TYPES, () => { describe(`${types.REQUEST_TEMPLATE_TYPES}`, () => {
it('sets isLoading', () => { it('sets isLoading', () => {
mutations[types.REQUEST_TEMPLATE_TYPES](state); mutations[types.REQUEST_TEMPLATE_TYPES](state);
...@@ -17,7 +17,7 @@ describe('IDE file templates mutations', () => { ...@@ -17,7 +17,7 @@ describe('IDE file templates mutations', () => {
}); });
}); });
describe(types.RECEIVE_TEMPLATE_TYPES_ERROR, () => { describe(`${types.RECEIVE_TEMPLATE_TYPES_ERROR}`, () => {
it('sets isLoading', () => { it('sets isLoading', () => {
state.isLoading = true; state.isLoading = true;
...@@ -27,7 +27,7 @@ describe('IDE file templates mutations', () => { ...@@ -27,7 +27,7 @@ describe('IDE file templates mutations', () => {
}); });
}); });
describe(types.RECEIVE_TEMPLATE_TYPES_SUCCESS, () => { describe(`${types.RECEIVE_TEMPLATE_TYPES_SUCCESS}`, () => {
it('sets isLoading to false', () => { it('sets isLoading to false', () => {
state.isLoading = true; state.isLoading = true;
...@@ -43,7 +43,7 @@ describe('IDE file templates mutations', () => { ...@@ -43,7 +43,7 @@ describe('IDE file templates mutations', () => {
}); });
}); });
describe(types.SET_SELECTED_TEMPLATE_TYPE, () => { describe(`${types.SET_SELECTED_TEMPLATE_TYPE}`, () => {
it('sets selectedTemplateType', () => { it('sets selectedTemplateType', () => {
mutations[types.SET_SELECTED_TEMPLATE_TYPE](state, 'type'); mutations[types.SET_SELECTED_TEMPLATE_TYPE](state, 'type');
...@@ -59,7 +59,7 @@ describe('IDE file templates mutations', () => { ...@@ -59,7 +59,7 @@ describe('IDE file templates mutations', () => {
}); });
}); });
describe(types.SET_UPDATE_SUCCESS, () => { describe(`${types.SET_UPDATE_SUCCESS}`, () => {
it('sets updateSuccess', () => { it('sets updateSuccess', () => {
mutations[types.SET_UPDATE_SUCCESS](state, true); mutations[types.SET_UPDATE_SUCCESS](state, true);
......
...@@ -2,7 +2,7 @@ import * as types from '~/import_projects/store/mutation_types'; ...@@ -2,7 +2,7 @@ import * as types from '~/import_projects/store/mutation_types';
import mutations from '~/import_projects/store/mutations'; import mutations from '~/import_projects/store/mutations';
describe('import_projects store mutations', () => { describe('import_projects store mutations', () => {
describe(types.RECEIVE_IMPORT_SUCCESS, () => { describe(`${types.RECEIVE_IMPORT_SUCCESS}`, () => {
it('removes repoId from reposBeingImported and providerRepos, adds to importedProjects', () => { it('removes repoId from reposBeingImported and providerRepos, adds to importedProjects', () => {
const repoId = 1; const repoId = 1;
const state = { const state = {
...@@ -20,7 +20,7 @@ describe('import_projects store mutations', () => { ...@@ -20,7 +20,7 @@ describe('import_projects store mutations', () => {
}); });
}); });
describe(types.RECEIVE_JOBS_SUCCESS, () => { describe(`${types.RECEIVE_JOBS_SUCCESS}`, () => {
it('updates importStatus of existing importedProjects', () => { it('updates importStatus of existing importedProjects', () => {
const repoId = 1; const repoId = 1;
const state = { importedProjects: [{ id: repoId, importStatus: 'started' }] }; const state = { importedProjects: [{ id: repoId, importStatus: 'started' }] };
......
...@@ -23,7 +23,7 @@ const newLine = { ...@@ -23,7 +23,7 @@ const newLine = {
type: 'new', type: 'new',
}; };
describe(SuggestionDiffRow.name, () => { describe('SuggestionDiffRow', () => {
let wrapper; let wrapper;
const factory = (options = {}) => { const factory = (options = {}) => {
......
import { shallowMount, createLocalVue } from '@vue/test-utils'; import { shallowMount, createLocalVue } from '@vue/test-utils';
import TimelineEntryItem from '~/vue_shared/components/notes/timeline_entry_item.vue'; import TimelineEntryItem from '~/vue_shared/components/notes/timeline_entry_item.vue';
describe(TimelineEntryItem.name, () => { describe(`TimelineEntryItem`, () => {
let wrapper; let wrapper;
const factory = (options = {}) => { const factory = (options = {}) => {
......
...@@ -2,7 +2,7 @@ import mutations from '~/vuex_shared/modules/modal/mutations'; ...@@ -2,7 +2,7 @@ import mutations from '~/vuex_shared/modules/modal/mutations';
import * as types from '~/vuex_shared/modules/modal/mutation_types'; import * as types from '~/vuex_shared/modules/modal/mutation_types';
describe('Vuex ModalModule mutations', () => { describe('Vuex ModalModule mutations', () => {
describe(types.SHOW, () => { describe(`${types.SHOW}`, () => {
it('sets isVisible to true', () => { it('sets isVisible to true', () => {
const state = { const state = {
isVisible: false, isVisible: false,
...@@ -16,7 +16,7 @@ describe('Vuex ModalModule mutations', () => { ...@@ -16,7 +16,7 @@ describe('Vuex ModalModule mutations', () => {
}); });
}); });
describe(types.HIDE, () => { describe(`${types.HIDE}`, () => {
it('sets isVisible to false', () => { it('sets isVisible to false', () => {
const state = { const state = {
isVisible: true, isVisible: true,
...@@ -30,7 +30,7 @@ describe('Vuex ModalModule mutations', () => { ...@@ -30,7 +30,7 @@ describe('Vuex ModalModule mutations', () => {
}); });
}); });
describe(types.OPEN, () => { describe(`${types.OPEN}`, () => {
it('sets data and sets isVisible to true', () => { it('sets data and sets isVisible to true', () => {
const data = { id: 7 }; const data = { id: 7 };
const state = { const state = {
......
...@@ -157,7 +157,8 @@ describe PipelineSerializer do ...@@ -157,7 +157,8 @@ describe PipelineSerializer do
it 'verifies number of queries', :request_store do it 'verifies number of queries', :request_store do
recorded = ActiveRecord::QueryRecorder.new { subject } recorded = ActiveRecord::QueryRecorder.new { subject }
expect(recorded.count).to be_within(2).of(31) expected_queries = Gitlab.ee? ? 38 : 31
expect(recorded.count).to be_within(2).of(expected_queries)
expect(recorded.cached_count).to eq(0) expect(recorded.cached_count).to eq(0)
end end
end end
...@@ -176,7 +177,8 @@ describe PipelineSerializer do ...@@ -176,7 +177,8 @@ describe PipelineSerializer do
# pipeline. With the same ref this check is cached but if refs are # pipeline. With the same ref this check is cached but if refs are
# different then there is an extra query per ref # different then there is an extra query per ref
# https://gitlab.com/gitlab-org/gitlab-ce/issues/46368 # https://gitlab.com/gitlab-org/gitlab-ce/issues/46368
expect(recorded.count).to be_within(2).of(38) expected_queries = Gitlab.ee? ? 44 : 38
expect(recorded.count).to be_within(2).of(expected_queries)
expect(recorded.cached_count).to eq(0) expect(recorded.cached_count).to eq(0)
end end
end end
......
...@@ -35,7 +35,7 @@ describe Ci::RetryBuildService do ...@@ -35,7 +35,7 @@ describe Ci::RetryBuildService do
commit_id deployment erased_by_id project_id commit_id deployment erased_by_id project_id
runner_id tag_taggings taggings tags trigger_request_id runner_id tag_taggings taggings tags trigger_request_id
user_id auto_canceled_by_id retried failure_reason user_id auto_canceled_by_id retried failure_reason
artifacts_file_store artifacts_metadata_store sourced_pipelines artifacts_file_store artifacts_metadata_store
metadata runner_session trace_chunks].freeze metadata runner_session trace_chunks].freeze
shared_examples 'build duplication' do shared_examples 'build duplication' do
...@@ -95,7 +95,8 @@ describe Ci::RetryBuildService do ...@@ -95,7 +95,8 @@ describe Ci::RetryBuildService do
end end
it 'has correct number of known attributes' do it 'has correct number of known attributes' do
known_accessors = CLONE_ACCESSORS + REJECT_ACCESSORS + IGNORE_ACCESSORS processed_accessors = CLONE_ACCESSORS + REJECT_ACCESSORS
known_accessors = processed_accessors + IGNORE_ACCESSORS
# :tag_list is a special case, this accessor does not exist # :tag_list is a special case, this accessor does not exist
# in reflected associations, comes from `act_as_taggable` and # in reflected associations, comes from `act_as_taggable` and
...@@ -108,7 +109,8 @@ describe Ci::RetryBuildService do ...@@ -108,7 +109,8 @@ describe Ci::RetryBuildService do
current_accessors.uniq! current_accessors.uniq!
expect(known_accessors).to contain_exactly(*current_accessors) expect(current_accessors).to include(*processed_accessors)
expect(known_accessors).to include(*current_accessors)
end end
end end
......
...@@ -100,8 +100,8 @@ RSpec.configure do |config| ...@@ -100,8 +100,8 @@ RSpec.configure do |config|
config.include PolicyHelpers, type: :policy config.include PolicyHelpers, type: :policy
if ENV['CI'] if ENV['CI']
# This includes the first try, i.e. tests will be run 2 times before failing. # This includes the first try, i.e. tests will be run 4 times before failing.
config.default_retry_count = 2 config.default_retry_count = 4
config.reporter.register_listener( config.reporter.register_listener(
RspecFlaky::Listener.new, RspecFlaky::Listener.new,
:example_passed, :example_passed,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment