diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2020-03-11 21:09:19 +0000 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2020-03-11 21:09:19 +0000 |
commit | fca89bb73ff5b1d14c98c72481f9268fee107ea0 (patch) | |
tree | e1c8a2c4fe5df7f054fd09e49f53bcfb51e51c84 | |
parent | 76e9fc7b29c1ce716c26932e9fbec0f3c99f53f4 (diff) | |
download | gitlab-ce-fca89bb73ff5b1d14c98c72481f9268fee107ea0.tar.gz |
Add latest changes from gitlab-org/gitlab@master
191 files changed, 745 insertions, 290 deletions
diff --git a/app/assets/javascripts/boards/index.js b/app/assets/javascripts/boards/index.js index f72fc8d54b3..781cb0c1cc9 100644 --- a/app/assets/javascripts/boards/index.js +++ b/app/assets/javascripts/boards/index.js @@ -84,7 +84,6 @@ export default () => { rootPath: $boardApp.dataset.rootPath, bulkUpdatePath: $boardApp.dataset.bulkUpdatePath, detailIssue: boardsStore.detail, - defaultAvatar: $boardApp.dataset.defaultAvatar, }, computed: { detailIssueVisible() { @@ -130,13 +129,10 @@ export default () => { position = -1; } - boardsStore.addList( - { - ...listObj, - position, - }, - this.defaultAvatar, - ); + boardsStore.addList({ + ...listObj, + position, + }); }); boardsStore.addBlankState(); diff --git a/app/assets/javascripts/boards/models/assignee.js b/app/assets/javascripts/boards/models/assignee.js index 4a29b0d0581..5f5758583bb 100644 --- a/app/assets/javascripts/boards/models/assignee.js +++ b/app/assets/javascripts/boards/models/assignee.js @@ -1,9 +1,9 @@ export default class ListAssignee { - constructor(obj, defaultAvatar) { + constructor(obj) { this.id = obj.id; this.name = obj.name; this.username = obj.username; - this.avatar = obj.avatar_url || obj.avatar || defaultAvatar; + this.avatar = obj.avatar_url || obj.avatar || gon.default_avatar_url; this.path = obj.path; this.state = obj.state; this.webUrl = obj.web_url || obj.webUrl; diff --git a/app/assets/javascripts/boards/models/issue.js b/app/assets/javascripts/boards/models/issue.js index 4f5d583e61f..d099c4b930c 100644 --- a/app/assets/javascripts/boards/models/issue.js +++ b/app/assets/javascripts/boards/models/issue.js @@ -10,7 +10,7 @@ import IssueProject from './project'; import boardsStore from '../stores/boards_store'; class ListIssue { - constructor(obj, defaultAvatar) { + constructor(obj) { this.subscribed = obj.subscribed; this.labels = []; this.assignees = []; @@ -22,11 +22,11 @@ class ListIssue { this.closed = obj.closed; this.isLoading = {}; - this.refreshData(obj, defaultAvatar); + this.refreshData(obj); } - refreshData(obj, defaultAvatar) { - boardsStore.refreshIssueData(this, obj, defaultAvatar); + refreshData(obj) { + boardsStore.refreshIssueData(this, obj); } addLabel(label) { diff --git a/app/assets/javascripts/boards/models/list.js b/app/assets/javascripts/boards/models/list.js index ff50b8ed7d1..990b648190a 100644 --- a/app/assets/javascripts/boards/models/list.js +++ b/app/assets/javascripts/boards/models/list.js @@ -36,7 +36,7 @@ const TYPES = { }; class List { - constructor(obj, defaultAvatar) { + constructor(obj) { this.id = obj.id; this._uid = this.guid(); this.position = obj.position; @@ -55,7 +55,6 @@ class List { this.maxIssueCount = Object.hasOwnProperty.call(obj, 'max_issue_count') ? obj.max_issue_count : 0; - this.defaultAvatar = defaultAvatar; if (obj.label) { this.label = new ListLabel(obj.label); @@ -156,7 +155,7 @@ class List { createIssues(data) { data.forEach(issueObj => { - this.addIssue(new ListIssue(issueObj, this.defaultAvatar)); + this.addIssue(new ListIssue(issueObj)); }); } diff --git a/app/assets/javascripts/boards/stores/boards_store.js b/app/assets/javascripts/boards/stores/boards_store.js index 2a2cff3d07d..528dc4ed68e 100644 --- a/app/assets/javascripts/boards/stores/boards_store.js +++ b/app/assets/javascripts/boards/stores/boards_store.js @@ -74,8 +74,8 @@ const boardsStore = { showPage(page) { this.state.currentPage = page; }, - addList(listObj, defaultAvatar) { - const list = new List(listObj, defaultAvatar); + addList(listObj) { + const list = new List(listObj); this.state.lists = _.sortBy([...this.state.lists, list], 'position'); return list; @@ -602,7 +602,7 @@ const boardsStore = { clearMultiSelect() { this.multiSelect.list = []; }, - refreshIssueData(issue, obj, defaultAvatar) { + refreshIssueData(issue, obj) { issue.id = obj.id; issue.iid = obj.iid; issue.title = obj.title; @@ -631,7 +631,7 @@ const boardsStore = { } if (obj.assignees) { - issue.assignees = obj.assignees.map(a => new ListAssignee(a, defaultAvatar)); + issue.assignees = obj.assignees.map(a => new ListAssignee(a)); } }, }; diff --git a/app/assets/javascripts/ide/components/new_dropdown/upload.vue b/app/assets/javascripts/ide/components/new_dropdown/upload.vue index 0efb0012246..7261e0590c8 100644 --- a/app/assets/javascripts/ide/components/new_dropdown/upload.vue +++ b/app/assets/javascripts/ide/components/new_dropdown/upload.vue @@ -1,5 +1,6 @@ <script> import ItemButton from './button.vue'; +import { isTextFile } from '~/ide/utils'; export default { components: { @@ -23,29 +24,11 @@ export default { }, }, methods: { - isText(content, fileType) { - const knownBinaryFileTypes = ['image/']; - const knownTextFileTypes = ['text/']; - const isKnownBinaryFileType = knownBinaryFileTypes.find(type => fileType.includes(type)); - const isKnownTextFileType = knownTextFileTypes.find(type => fileType.includes(type)); - const asciiRegex = /^[ -~\t\n\r]+$/; // tests whether a string contains ascii characters only (ranges from space to tilde, tabs and new lines) - - if (isKnownBinaryFileType) { - return false; - } - - if (isKnownTextFileType) { - return true; - } - - // if it's not a known file type, determine the type by evaluating the file contents - return asciiRegex.test(content); - }, createFile(target, file) { const { name } = file; const encodedContent = target.result.split('base64,')[1]; const rawContent = encodedContent ? atob(encodedContent) : ''; - const isText = this.isText(rawContent, file.type); + const isText = isTextFile(rawContent, file.type, name); const emitCreateEvent = content => this.$emit('create', { diff --git a/app/assets/javascripts/ide/utils.js b/app/assets/javascripts/ide/utils.js index ae579fef25f..64ac539a4ff 100644 --- a/app/assets/javascripts/ide/utils.js +++ b/app/assets/javascripts/ide/utils.js @@ -1,4 +1,57 @@ import { commitItemIconMap } from './constants'; +import { languages } from 'monaco-editor'; +import { flatten } from 'lodash'; + +const toLowerCase = x => x.toLowerCase(); + +const monacoLanguages = languages.getLanguages(); +const monacoExtensions = new Set( + flatten(monacoLanguages.map(lang => lang.extensions?.map(toLowerCase) || [])), +); +const monacoMimetypes = new Set( + flatten(monacoLanguages.map(lang => lang.mimetypes?.map(toLowerCase) || [])), +); +const monacoFilenames = new Set( + flatten(monacoLanguages.map(lang => lang.filenames?.map(toLowerCase) || [])), +); + +const KNOWN_TYPES = [ + { + isText: false, + isMatch(mimeType) { + return mimeType.toLowerCase().includes('image/'); + }, + }, + { + isText: true, + isMatch(mimeType) { + return mimeType.toLowerCase().includes('text/'); + }, + }, + { + isText: true, + isMatch(mimeType, fileName) { + const fileExtension = fileName.includes('.') ? `.${fileName.split('.').pop()}` : ''; + + return ( + monacoExtensions.has(fileExtension.toLowerCase()) || + monacoMimetypes.has(mimeType.toLowerCase()) || + monacoFilenames.has(fileName.toLowerCase()) + ); + }, + }, +]; + +export function isTextFile(content, mimeType, fileName) { + const knownType = KNOWN_TYPES.find(type => type.isMatch(mimeType, fileName)); + + if (knownType) return knownType.isText; + + // does the string contain ascii characters only (ranges from space to tilde, tabs and new lines) + const asciiRegex = /^[ -~\t\n\r]+$/; + // for unknown types, determine the type by evaluating the file contents + return asciiRegex.test(content); +} export const getCommitIconMap = file => { if (file.deleted) { diff --git a/app/assets/javascripts/monitoring/components/panel_type.vue b/app/assets/javascripts/monitoring/components/panel_type.vue index f2f0fff694e..4573ec58ab8 100644 --- a/app/assets/javascripts/monitoring/components/panel_type.vue +++ b/app/assets/javascripts/monitoring/components/panel_type.vue @@ -11,7 +11,7 @@ import { GlTooltip, GlTooltipDirective, } from '@gitlab/ui'; -import { __ } from '~/locale'; +import { __, n__ } from '~/locale'; import Icon from '~/vue_shared/components/icon.vue'; import MonitorTimeSeriesChart from './charts/time_series.vue'; import MonitorAnomalyChart from './charts/anomaly.vue'; @@ -120,6 +120,12 @@ export default { !this.isPanelType('stacked-column') ); }, + editCustomMetricLink() { + return this.graphData?.metrics[0].edit_path; + }, + editCustomMetricLinkText() { + return n__('Metrics|Edit metric', 'Metrics|Edit metrics', this.graphData.metrics.length); + }, }, mounted() { this.refreshTitleTooltip(); @@ -195,7 +201,13 @@ export default { <template slot="button-content"> <icon name="ellipsis_v" class="text-secondary" /> </template> - + <gl-dropdown-item + v-if="editCustomMetricLink" + ref="editMetricLink" + :href="editCustomMetricLink" + > + {{ editCustomMetricLinkText }} + </gl-dropdown-item> <gl-dropdown-item v-if="logsPathWithTimeRange" ref="viewLogsLink" diff --git a/app/helpers/boards_helper.rb b/app/helpers/boards_helper.rb index 8bb079e6447..c14bc454bb9 100644 --- a/app/helpers/boards_helper.rb +++ b/app/helpers/boards_helper.rb @@ -15,7 +15,6 @@ module BoardsHelper root_path: root_path, full_path: full_path, bulk_update_path: @bulk_issues_path, - default_avatar: image_path(default_avatar), time_tracking_limit_to_hours: Gitlab::CurrentSettings.time_tracking_limit_to_hours.to_s, recent_boards_endpoint: recent_boards_path } diff --git a/app/policies/group_policy.rb b/app/policies/group_policy.rb index 404734ef30a..abd63753908 100644 --- a/app/policies/group_policy.rb +++ b/app/policies/group_policy.rb @@ -95,6 +95,7 @@ class GroupPolicy < BasePolicy enable :admin_cluster enable :destroy_deploy_token enable :read_deploy_token + enable :create_deploy_token end rule { owner }.policy do diff --git a/app/services/projects/lfs_pointers/lfs_download_link_list_service.rb b/app/services/projects/lfs_pointers/lfs_download_link_list_service.rb index 5ef7e03ea02..48a21bf94ba 100644 --- a/app/services/projects/lfs_pointers/lfs_download_link_list_service.rb +++ b/app/services/projects/lfs_pointers/lfs_download_link_list_service.rb @@ -7,8 +7,13 @@ module Projects class LfsDownloadLinkListService < BaseService DOWNLOAD_ACTION = 'download' + # This could be different per server, but it seems like a reasonable value to start with. + # https://github.com/git-lfs/git-lfs/issues/419 + REQUEST_BATCH_SIZE = 100 + DownloadLinksError = Class.new(StandardError) DownloadLinkNotFound = Class.new(StandardError) + DownloadLinksRequestEntityTooLargeError = Class.new(StandardError) attr_reader :remote_uri @@ -25,16 +30,39 @@ module Projects def execute(oids) return [] unless project&.lfs_enabled? && remote_uri && oids.present? - get_download_links(oids) + get_download_links_in_batches(oids) end private + def get_download_links_in_batches(oids, batch_size = REQUEST_BATCH_SIZE) + download_links = [] + + oids.each_slice(batch_size) do |batch| + download_links += get_download_links(batch) + end + + download_links + + rescue DownloadLinksRequestEntityTooLargeError => e + # Log this exceptions to see how open it happens + Gitlab::ErrorTracking + .track_exception(e, project_id: project&.id, batch_size: batch_size, oids_count: oids.count) + + # Try again with a smaller batch + batch_size /= 2 + + retry if batch_size > REQUEST_BATCH_SIZE / 3 + + raise DownloadLinksError, 'Unable to download due to RequestEntityTooLarge errors' + end + def get_download_links(oids) response = Gitlab::HTTP.post(remote_uri, body: request_body(oids), headers: headers) + raise DownloadLinksRequestEntityTooLargeError if response.request_entity_too_large? raise DownloadLinksError, response.message unless response.success? # Since the LFS Batch API may return a Content-Ttpe of diff --git a/changelogs/unreleased/210007-optimize-services_usage-counters.yml b/changelogs/unreleased/210007-optimize-services_usage-counters.yml new file mode 100644 index 00000000000..8b2dc2764ac --- /dev/null +++ b/changelogs/unreleased/210007-optimize-services_usage-counters.yml @@ -0,0 +1,5 @@ +--- +title: Optimize services usage counters using batch counters +merge_request: 26973 +author: +type: performance diff --git a/changelogs/unreleased/210008-the-same-chart-appears-twice-for-different-embeds.yml b/changelogs/unreleased/210008-the-same-chart-appears-twice-for-different-embeds.yml new file mode 100644 index 00000000000..20b74415c22 --- /dev/null +++ b/changelogs/unreleased/210008-the-same-chart-appears-twice-for-different-embeds.yml @@ -0,0 +1,5 @@ +--- +title: Fix embeds so that a chart appears only once +merge_request: 26997 +author: +type: fixed diff --git a/changelogs/unreleased/21811-group-create-deploy-tokens.yml b/changelogs/unreleased/21811-group-create-deploy-tokens.yml new file mode 100644 index 00000000000..74400d73166 --- /dev/null +++ b/changelogs/unreleased/21811-group-create-deploy-tokens.yml @@ -0,0 +1,5 @@ +--- +title: Add api endpoint for creating group deploy tokens +merge_request: 25629 +author: +type: added diff --git a/changelogs/unreleased/26113-file-type-issue.yml b/changelogs/unreleased/26113-file-type-issue.yml new file mode 100644 index 00000000000..a63d34aca99 --- /dev/null +++ b/changelogs/unreleased/26113-file-type-issue.yml @@ -0,0 +1,6 @@ +--- +title: Fix issues with non-ASCII plain text files being incorrectly uploaded as binary + in the Web IDE +merge_request: 26360 +author: +type: fixed diff --git a/changelogs/unreleased/28725-paginate-lfs-object-import.yml b/changelogs/unreleased/28725-paginate-lfs-object-import.yml new file mode 100644 index 00000000000..25f59566316 --- /dev/null +++ b/changelogs/unreleased/28725-paginate-lfs-object-import.yml @@ -0,0 +1,5 @@ +--- +title: Batch processing LFS objects downloads +merge_request: 26434 +author: +type: changed diff --git a/changelogs/unreleased/jivanvl-add-edit-custom-metric-link.yml b/changelogs/unreleased/jivanvl-add-edit-custom-metric-link.yml new file mode 100644 index 00000000000..ca4dd7a0b50 --- /dev/null +++ b/changelogs/unreleased/jivanvl-add-edit-custom-metric-link.yml @@ -0,0 +1,5 @@ +--- +title: Add edit custom metric link to metrics dashboard +merge_request: 26511 +author: +type: changed diff --git a/changelogs/unreleased/support-airgap-in-dependency-scanning-template.yml b/changelogs/unreleased/support-airgap-in-dependency-scanning-template.yml new file mode 100644 index 00000000000..0d70bb836c1 --- /dev/null +++ b/changelogs/unreleased/support-airgap-in-dependency-scanning-template.yml @@ -0,0 +1,5 @@ +--- +title: Add airgap support to Dependency Scanning template +merge_request: 26145 +author: +type: changed diff --git a/config/routes/project.rb b/config/routes/project.rb index 83575580321..23a13202cd7 100644 --- a/config/routes/project.rb +++ b/config/routes/project.rb @@ -68,7 +68,7 @@ constraints(::Constraints::ProjectUrlConstrainer.new) do end namespace :settings do - get :members, to: redirect("%{namespace_id}/%{project_id}/project_members") + get :members, to: redirect("%{namespace_id}/%{project_id}/-/project_members") resource :ci_cd, only: [:show, :update], controller: 'ci_cd' do post :reset_cache diff --git a/doc/api/deploy_tokens.md b/doc/api/deploy_tokens.md index c5c88619aa6..49bfed3e431 100644 --- a/doc/api/deploy_tokens.md +++ b/doc/api/deploy_tokens.md @@ -156,6 +156,45 @@ Example response: ] ``` +### Create a group deploy token + +> [Introduced](https://gitlab.com/gitlab-org/gitlab/issues/21811) in GitLab 12.9. + +Creates a new deploy token for a group. + +``` +POST /groups/:id/deploy_tokens +``` + +| Attribute | Type | Required | Description | +| --------- | ---- | -------- | ----------- | +| `id` | integer/string | yes | The ID or [URL-encoded path of the group](README.md#namespaced-path-encoding) owned by the authenticated user | +| `name` | string | yes | New deploy token's name | +| `expires_at` | datetime | no | Expiration date for the deploy token. Does not expire if no value is provided. | +| `username` | string | no | Username for deploy token. Default is `gitlab+deploy-token-{n}` | +| `scopes` | array of strings | yes | Indicates the deploy token scopes. Must be at least one of `read_repository` or `read_registry`. | + +Example request: + +```shell +curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" --header "Content-Type: application/json" --data '{"name": "My deploy token", "expires_at": "2021-01-01", "username": "custom-user", "scopes": ["read_repository"]}' "https://gitlab.example.com/api/v4/groups/5/deploy_tokens/" +``` + +Example response: + +```json +{ + "id": 1, + "name": "My deploy token", + "username": "custom-user", + "expires_at": "2021-01-01T00:00:00.000Z", + "token": "jMRvtPNxrn3crTAGukpZ", + "scopes": [ + "read_registry" + ] +} +``` + ### Delete a group deploy token > [Introduced](https://gitlab.com/gitlab-org/gitlab/issues/21811) in GitLab 12.9. diff --git a/doc/development/testing_guide/testing_migrations_guide.md b/doc/development/testing_guide/testing_migrations_guide.md index 0012c1bfc07..05773f07b0f 100644 --- a/doc/development/testing_guide/testing_migrations_guide.md +++ b/doc/development/testing_guide/testing_migrations_guide.md @@ -18,7 +18,7 @@ a database schema. Adding a `:migration` tag to a test signature enables some custom RSpec `before` and `after` hooks in our -[`spec_helper.rb`](https://gitlab.com/gitlab-org/gitlab/blob/3b29908a64ff729c0cf6d93452fe00ab23079c75/spec%2Fspec_helper.rb#L259) +[`spec/support/migration.rb`](https://gitlab.com/gitlab-org/gitlab/-/blob/f81fa6ab1dd788b70ef44b85aaba1f31ffafae7d/spec/support/migration.rb) to run. A `before` hook will revert all migrations to the point that a migration @@ -112,7 +112,7 @@ migration. You can find the complete spec in require 'spec_helper' require Rails.root.join('db', 'post_migrate', '20170526185842_migrate_pipeline_stages.rb') -describe MigratePipelineStages, :migration do +describe MigratePipelineStages do # Create test data - pipeline and CI/CD jobs. let(:jobs) { table(:ci_builds) } let(:stages) { table(:ci_stages) } @@ -163,7 +163,7 @@ schema tag to a context that you want to switch the database schema within. Example: ```ruby -describe SomeClass, :migration, schema: 20170608152748 do +describe SomeClass, schema: 20170608152748 do # ... end ``` @@ -178,7 +178,7 @@ background migration. You can find the complete spec on ```ruby require 'spec_helper' -describe Gitlab::BackgroundMigration::ArchiveLegacyTraces, :migration, schema: 20180529152628 do +describe Gitlab::BackgroundMigration::ArchiveLegacyTraces, schema: 20180529152628 do include TraceHelpers let(:namespaces) { table(:namespaces) } diff --git a/doc/user/group/saml_sso/index.md b/doc/user/group/saml_sso/index.md index 0d9c6024601..fa9b820838e 100644 --- a/doc/user/group/saml_sso/index.md +++ b/doc/user/group/saml_sso/index.md @@ -183,7 +183,7 @@ NOTE: **Note:** GitLab is unable to provide support for IdPs that are not listed | JumpCloud | [Single Sign On (SSO) with GitLab](https://support.jumpcloud.com/support/s/article/single-sign-on-sso-with-gitlab-2019-08-21-10-36-47) | | Okta | [Setting up a SAML application in Okta](https://developer.okta.com/docs/guides/saml-application-setup/overview/) | | OneLogin | [Use the OneLogin SAML Test Connector](https://onelogin.service-now.com/support?id=kb_article&sys_id=93f95543db109700d5505eea4b96198f) | -| Ping Identity | [Add and configure a new SAML application](https://support.pingidentity.com/s/document-item?bundleId=pingone&topicId=xsh1564020480660-1.html) | +| Ping One for Enterprise | [Add and configure a new SAML application](https://support.pingidentity.com/s/document-item?bundleId=pingone&topicId=xsh1564020480660-1.html) | When [configuring your identify provider](#configuring-your-identity-provider), please consider the notes below for specific providers to help avoid common issues and as a guide for terminology used. diff --git a/lib/api/deploy_tokens.rb b/lib/api/deploy_tokens.rb index bc58cf0dd32..cb1ee7df496 100644 --- a/lib/api/deploy_tokens.rb +++ b/lib/api/deploy_tokens.rb @@ -31,7 +31,7 @@ module API end params do - requires :id, type: Integer, desc: 'The ID of a project' + requires :id, type: String, desc: 'The ID of a project' end resource :projects, requirements: API::NAMESPACE_OR_PROJECT_REQUIREMENTS do before do @@ -74,7 +74,7 @@ module API end params do - requires :id, type: Integer, desc: 'The ID of a group' + requires :id, type: String, desc: 'The ID of a group' end resource :groups, requirements: API::NAMESPACE_OR_PROJECT_REQUIREMENTS do before do @@ -94,6 +94,27 @@ module API present paginate(user_group.deploy_tokens), with: Entities::DeployToken end + params do + requires :name, type: String, desc: 'The name of the deploy token' + requires :expires_at, type: DateTime, desc: 'Expiration date for the deploy token. Does not expire if no value is provided.' + requires :username, type: String, desc: 'Username for deploy token. Default is `gitlab+deploy-token-{n}`' + requires :scopes, type: Array[String], values: ::DeployToken::AVAILABLE_SCOPES.map(&:to_s), + desc: 'Indicates the deploy token scopes. Must be at least one of "read_repository" or "read_registry".' + end + desc 'Create a group deploy token' do + detail 'This feature was introduced in GitLab 12.9' + success Entities::DeployTokenWithToken + end + post ':id/deploy_tokens' do + authorize!(:create_deploy_token, user_group) + + deploy_token = ::Groups::DeployTokens::CreateService.new( + user_group, current_user, scope_params.merge(declared(params, include_missing: false, include_parent_namespaces: false)) + ).execute + + present deploy_token, with: Entities::DeployTokenWithToken + end + desc 'Delete a group deploy token' do detail 'This feature was introduced in GitLab 12.9' end diff --git a/lib/banzai/filter/inline_embeds_filter.rb b/lib/banzai/filter/inline_embeds_filter.rb index 79ac8555636..d7d78cf1866 100644 --- a/lib/banzai/filter/inline_embeds_filter.rb +++ b/lib/banzai/filter/inline_embeds_filter.rb @@ -6,7 +6,6 @@ module Banzai # a given link format. To transform references to DB # resources in place, prefer to inherit from AbstractReferenceFilter. class InlineEmbedsFilter < HTML::Pipeline::Filter - include Gitlab::Utils::StrongMemoize # Find every relevant link, create a new node based on # the link, and insert this node after any html content # surrounding the link. @@ -74,9 +73,7 @@ module Banzai # Ex) 'https://<root>/<project>/<environment>/metrics?title=Title&group=Group' # --> { title: 'Title', group: 'Group' } def query_params(url) - strong_memoize(:query_params) do - Gitlab::Metrics::Dashboard::Url.parse_query(url) - end + Gitlab::Metrics::Dashboard::Url.parse_query(url) end # Implement in child class. diff --git a/lib/gitlab/ci/templates/Security/Dependency-Scanning.gitlab-ci.yml b/lib/gitlab/ci/templates/Security/Dependency-Scanning.gitlab-ci.yml index 4a9fa3091be..3200220a332 100644 --- a/lib/gitlab/ci/templates/Security/Dependency-Scanning.gitlab-ci.yml +++ b/lib/gitlab/ci/templates/Security/Dependency-Scanning.gitlab-ci.yml @@ -5,7 +5,8 @@ # How to set: https://docs.gitlab.com/ee/ci/yaml/#variables variables: - DS_ANALYZER_IMAGE_PREFIX: "registry.gitlab.com/gitlab-org/security-products/analyzers" + SECURITY_SCANNER_IMAGE_PREFIX: "registry.gitlab.com/gitlab-org/security-products" + DS_ANALYZER_IMAGE_PREFIX: "$SECURITY_SCANNER_IMAGE_PREFIX/analyzers" DS_DEFAULT_ANALYZERS: "bundler-audit, retire.js, gemnasium, gemnasium-maven, gemnasium-python" DS_MAJOR_VERSION: 2 DS_DISABLE_DIND: "false" @@ -64,7 +65,7 @@ dependency_scanning: ) \ --volume "$PWD:/code" \ --volume /var/run/docker.sock:/var/run/docker.sock \ - "registry.gitlab.com/gitlab-org/security-products/dependency-scanning:$DS_VERSION" /code + "$SECURITY_SCANNER_IMAGE_PREFIX/dependency-scanning:$DS_VERSION" /code artifacts: reports: dependency_scanning: gl-dependency-scanning-report.json diff --git a/lib/gitlab/usage_data.rb b/lib/gitlab/usage_data.rb index 09ea1c49c22..35c69099b01 100644 --- a/lib/gitlab/usage_data.rb +++ b/lib/gitlab/usage_data.rb @@ -183,10 +183,8 @@ module Gitlab # rubocop: disable CodeReuse/ActiveRecord def services_usage - service_counts = count(Service.active.where(template: false).where.not(type: 'JiraService').group(:type), fallback: Hash.new(-1), batch: false) - - results = Service.available_services_names.each_with_object({}) do |service_name, response| - response["projects_#{service_name}_active".to_sym] = service_counts["#{service_name}_service".camelize] || 0 + results = Service.available_services_names.without('jira').each_with_object({}) do |service_name, response| + response["projects_#{service_name}_active".to_sym] = count(Service.active.where(template: false, type: "#{service_name}_service".camelize)) end # Keep old Slack keys for backward compatibility, https://gitlab.com/gitlab-data/analytics/issues/3241 diff --git a/locale/gitlab.pot b/locale/gitlab.pot index 06eb51252f3..739f705e398 100644 --- a/locale/gitlab.pot +++ b/locale/gitlab.pot @@ -12507,7 +12507,9 @@ msgid "Metrics|Duplicating..." msgstr "" msgid "Metrics|Edit metric" -msgstr "" +msgid_plural "Metrics|Edit metrics" +msgstr[0] "" +msgstr[1] "" msgid "Metrics|Environment" msgstr "" diff --git a/spec/features/markdown/metrics_spec.rb b/spec/features/markdown/metrics_spec.rb index 81c6b6195c6..6ef4f6ddecc 100644 --- a/spec/features/markdown/metrics_spec.rb +++ b/spec/features/markdown/metrics_spec.rb @@ -62,6 +62,29 @@ describe 'Metrics rendering', :js, :use_clean_rails_memory_store_caching, :sidek expect(page).to have_text(chart_params[:title]) expect(page).to have_text(chart_params[:y_label]) end + + context 'when two dashboard urls are included' do + let(:chart_params_2) do + { + group: 'System metrics (Kubernetes)', + title: 'Core Usage (Total)', + y_label: 'Total Cores' + } + end + let(:metrics_url_2) { urls.metrics_project_environment_url(project, environment, **chart_params_2) } + let(:description) { "See [metrics dashboard](#{metrics_url}) for info. \n See [metrics dashboard](#{metrics_url_2}) for info." } + let(:issue) { create(:issue, project: project, description: description) } + + it 'shows embedded metrics for both urls' do + visit project_issue_path(project, issue) + + expect(page).to have_css('div.prometheus-graph') + expect(page).to have_text(chart_params[:title]) + expect(page).to have_text(chart_params[:y_label]) + expect(page).to have_text(chart_params_2[:title]) + expect(page).to have_text(chart_params_2[:y_label]) + end + end end end diff --git a/spec/frontend/boards/issue_card_spec.js b/spec/frontend/boards/issue_card_spec.js index f78e4dad2c0..09b5c664bee 100644 --- a/spec/frontend/boards/issue_card_spec.js +++ b/spec/frontend/boards/issue_card_spec.js @@ -155,18 +155,17 @@ describe('Issue card component', () => { describe('assignee default avatar', () => { beforeEach(done => { + global.gon.default_avatar_url = 'default_avatar'; + wrapper.setProps({ issue: { ...wrapper.props('issue'), assignees: [ - new ListAssignee( - { - id: 1, - name: 'testing 123', - username: 'test', - }, - 'default_avatar', - ), + new ListAssignee({ + id: 1, + name: 'testing 123', + username: 'test', + }), ], }, }); @@ -174,6 +173,10 @@ describe('Issue card component', () => { wrapper.vm.$nextTick(done); }); + afterEach(() => { + global.gon.default_avatar_url = null; + }); + it('displays defaults avatar if users avatar is null', () => { expect(wrapper.find('.board-card-assignee img').exists()).toBe(true); expect(wrapper.find('.board-card-assignee img').attributes('src')).toBe( diff --git a/spec/frontend/ide/utils_spec.js b/spec/frontend/ide/utils_spec.js index 9d7926a4d06..44eae7eacbe 100644 --- a/spec/frontend/ide/utils_spec.js +++ b/spec/frontend/ide/utils_spec.js @@ -1,8 +1,66 @@ import { commitItemIconMap } from '~/ide/constants'; -import { getCommitIconMap } from '~/ide/utils'; +import { getCommitIconMap, isTextFile } from '~/ide/utils'; import { decorateData } from '~/ide/stores/utils'; describe('WebIDE utils', () => { + describe('isTextFile', () => { + it('returns false for known binary types', () => { + expect(isTextFile('file content', 'image/png', 'my.png')).toBeFalsy(); + // mime types are case insensitive + expect(isTextFile('file content', 'IMAGE/PNG', 'my.png')).toBeFalsy(); + }); + + it('returns true for known text types', () => { + expect(isTextFile('file content', 'text/plain', 'my.txt')).toBeTruthy(); + // mime types are case insensitive + expect(isTextFile('file content', 'TEXT/PLAIN', 'my.txt')).toBeTruthy(); + }); + + it('returns true for file extensions that Monaco supports syntax highlighting for', () => { + // test based on both MIME and extension + expect(isTextFile('{"éêė":"value"}', 'application/json', 'my.json')).toBeTruthy(); + expect(isTextFile('{"éêė":"value"}', 'application/json', '.tsconfig')).toBeTruthy(); + expect(isTextFile('SELECT "éêė" from tablename', 'application/sql', 'my.sql')).toBeTruthy(); + }); + + it('returns true even irrespective of whether the mimes, extensions or file names are lowercase or upper case', () => { + expect(isTextFile('{"éêė":"value"}', 'application/json', 'MY.JSON')).toBeTruthy(); + expect(isTextFile('SELECT "éêė" from tablename', 'application/sql', 'MY.SQL')).toBeTruthy(); + expect( + isTextFile('var code = "something"', 'application/javascript', 'Gruntfile'), + ).toBeTruthy(); + expect( + isTextFile( + 'MAINTAINER Александр "alexander11354322283@me.com"', + 'application/octet-stream', + 'dockerfile', + ), + ).toBeTruthy(); + }); + + it('returns false if filename is same as the expected extension', () => { + expect(isTextFile('SELECT "éêė" from tablename', 'application/sql', 'sql')).toBeFalsy(); + }); + + it('returns true for ASCII only content for unknown types', () => { + expect(isTextFile('plain text', 'application/x-new-type', 'hello.mytype')).toBeTruthy(); + }); + + it('returns true for relevant filenames', () => { + expect( + isTextFile( + 'MAINTAINER Александр "alexander11354322283@me.com"', + 'application/octet-stream', + 'Dockerfile', + ), + ).toBeTruthy(); + }); + + it('returns false for non-ASCII content for unknown types', () => { + expect(isTextFile('{"éêė":"value"}', 'application/octet-stream', 'my.random')).toBeFalsy(); + }); + }); + const createFile = (name = 'name', id = name, type = '', parent = null) => decorateData({ id, diff --git a/spec/frontend/monitoring/components/panel_type_spec.js b/spec/frontend/monitoring/components/panel_type_spec.js index dbbe3f55298..058c201d325 100644 --- a/spec/frontend/monitoring/components/panel_type_spec.js +++ b/spec/frontend/monitoring/components/panel_type_spec.js @@ -148,6 +148,82 @@ describe('Panel Type component', () => { }); }); + describe('Edit custom metric dropdown item', () => { + const findEditCustomMetricLink = () => wrapper.find({ ref: 'editMetricLink' }); + + beforeEach(() => { + createWrapper({ + graphData: { + ...graphDataPrometheusQueryRange, + }, + }); + + return wrapper.vm.$nextTick(); + }); + + it('is not present if the panel is not a custom metric', () => { + expect(findEditCustomMetricLink().exists()).toBe(false); + }); + + it('is present when the panel contains an edit_path property', () => { + wrapper.setProps({ + graphData: { + ...graphDataPrometheusQueryRange, + metrics: [ + { + ...graphDataPrometheusQueryRange.metrics[0], + edit_path: '/root/kubernetes-gke-project/prometheus/metrics/23/edit', + }, + ], + }, + }); + + return wrapper.vm.$nextTick(() => { + expect(findEditCustomMetricLink().exists()).toBe(true); + }); + }); + + it('shows an "Edit metric" link for a panel with a single metric', () => { + wrapper.setProps({ + graphData: { + ...graphDataPrometheusQueryRange, + metrics: [ + { + ...graphDataPrometheusQueryRange.metrics[0], + edit_path: '/root/kubernetes-gke-project/prometheus/metrics/23/edit', + }, + ], + }, + }); + + return wrapper.vm.$nextTick(() => { + expect(findEditCustomMetricLink().text()).toBe('Edit metric'); + }); + }); + + it('shows an "Edit metrics" link for a panel with multiple metrics', () => { + wrapper.setProps({ + graphData: { + ...graphDataPrometheusQueryRange, + metrics: [ + { + ...graphDataPrometheusQueryRange.metrics[0], + edit_path: '/root/kubernetes-gke-project/prometheus/metrics/23/edit', + }, + { + ...graphDataPrometheusQueryRange.metrics[0], + edit_path: '/root/kubernetes-gke-project/prometheus/metrics/23/edit', + }, + ], + }, + }); + + return wrapper.vm.$nextTick(() => { + expect(findEditCustomMetricLink().text()).toBe('Edit metrics'); + }); + }); + }); + describe('View Logs dropdown item', () => { const mockLogsPath = '/path/to/logs'; const mockTimeRange = { duration: { seconds: 120 } }; diff --git a/spec/javascripts/collapsed_sidebar_todo_spec.js b/spec/javascripts/collapsed_sidebar_todo_spec.js index f75d63c8f57..f2eb08fa198 100644 --- a/spec/javascripts/collapsed_sidebar_todo_spec.js +++ b/spec/javascripts/collapsed_sidebar_todo_spec.js @@ -1,5 +1,5 @@ /* eslint-disable no-new */ -import _ from 'underscore'; +import { clone } from 'lodash'; import MockAdapter from 'axios-mock-adapter'; import axios from '~/lib/utils/axios_utils'; import Sidebar from '~/right_sidebar'; @@ -24,13 +24,13 @@ describe('Issuable right sidebar collapsed todo toggle', () => { mock = new MockAdapter(axios); mock.onPost(`${gl.TEST_HOST}/frontend-fixtures/issues-project/todos`).reply(() => { - const response = _.clone(todoData); + const response = clone(todoData); return [200, response]; }); mock.onDelete(/(.*)\/dashboard\/todos\/\d+$/).reply(() => { - const response = _.clone(todoData); + const response = clone(todoData); delete response.delete_path; return [200, response]; diff --git a/spec/javascripts/dirty_submit/dirty_submit_form_spec.js b/spec/javascripts/dirty_submit/dirty_submit_form_spec.js index b1017e0c4f0..2907d038390 100644 --- a/spec/javascripts/dirty_submit/dirty_submit_form_spec.js +++ b/spec/javascripts/dirty_submit/dirty_submit_form_spec.js @@ -1,4 +1,4 @@ -import _ from 'underscore'; +import { range as rge } from 'lodash'; import DirtySubmitForm from '~/dirty_submit/dirty_submit_form'; import { getInputValue, setInputValue, createForm } from './helper'; @@ -82,7 +82,7 @@ describe('DirtySubmitForm', () => { const { form, input } = createForm(); const updateDirtyInputSpy = spyOn(new DirtySubmitForm(form), 'updateDirtyInput'); - _.range(10).forEach(i => { + rge(10).forEach(i => { setInputValue(input, `change ${i}`, false); }); @@ -93,7 +93,7 @@ describe('DirtySubmitForm', () => { it('does not throttle updates when rapid changes are made to different form elements', () => { const form = document.createElement('form'); - const range = _.range(10); + const range = rge(10); range.forEach(i => { form.innerHTML += `<input type="text" name="input-${i}" class="js-input-${i}"/>`; }); diff --git a/spec/javascripts/labels_issue_sidebar_spec.js b/spec/javascripts/labels_issue_sidebar_spec.js index 9d05bdeee20..94e833ec83b 100644 --- a/spec/javascripts/labels_issue_sidebar_spec.js +++ b/spec/javascripts/labels_issue_sidebar_spec.js @@ -2,7 +2,7 @@ import $ from 'jquery'; import MockAdapter from 'axios-mock-adapter'; -import _ from 'underscore'; +import { shuffle } from 'lodash'; import axios from '~/lib/utils/axios_utils'; import IssuableContext from '~/issuable_context'; import LabelsSelect from '~/labels_select'; @@ -27,7 +27,7 @@ function testLabelClicks(labelOrder, done) { expect(labelsInDropdown.length).toBe(10); const arrayOfLabels = labelsInDropdown.get(); - const randomArrayOfLabels = _.shuffle(arrayOfLabels); + const randomArrayOfLabels = shuffle(arrayOfLabels); randomArrayOfLabels.forEach((label, i) => { if (i < saveLabelCount) { $(label).click(); diff --git a/spec/javascripts/releases/components/app_index_spec.js b/spec/javascripts/releases/components/app_index_spec.js index 8809391f135..83b0652d59b 100644 --- a/spec/javascripts/releases/components/app_index_spec.js +++ b/spec/javascripts/releases/components/app_index_spec.js @@ -1,4 +1,4 @@ -import _ from 'underscore'; +import { range as rge } from 'lodash'; import Vue from 'vue'; import { mountComponentWithStore } from 'spec/helpers/vue_mount_component_helper'; import app from '~/releases/components/app_index.vue'; @@ -28,7 +28,7 @@ describe('Releases App ', () => { beforeEach(() => { store = createStore({ modules: { list: listModule } }); - releasesPagination = _.range(21).map(index => ({ + releasesPagination = rge(21).map(index => ({ ...convertObjectPropsToCamelCase(release, { deep: true }), tagName: `${index}.00`, })); diff --git a/spec/javascripts/smart_interval_spec.js b/spec/javascripts/smart_interval_spec.js index 0f579bb32cc..0dc9ee9d79a 100644 --- a/spec/javascripts/smart_interval_spec.js +++ b/spec/javascripts/smart_interval_spec.js @@ -1,5 +1,5 @@ import $ from 'jquery'; -import _ from 'underscore'; +import { assignIn } from 'lodash'; import waitForPromises from 'spec/helpers/wait_for_promises'; import SmartInterval from '~/smart_interval'; @@ -21,7 +21,7 @@ describe('SmartInterval', function() { }; if (config) { - _.extend(defaultParams, config); + assignIn(defaultParams, config); } return new SmartInterval(defaultParams); diff --git a/spec/lib/gitlab/background_migration/add_merge_request_diff_commits_count_spec.rb b/spec/lib/gitlab/background_migration/add_merge_request_diff_commits_count_spec.rb index e299e2a366f..b77c67b120f 100644 --- a/spec/lib/gitlab/background_migration/add_merge_request_diff_commits_count_spec.rb +++ b/spec/lib/gitlab/background_migration/add_merge_request_diff_commits_count_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe Gitlab::BackgroundMigration::AddMergeRequestDiffCommitsCount, :migration, schema: 20180105212544 do +describe Gitlab::BackgroundMigration::AddMergeRequestDiffCommitsCount, schema: 20180105212544 do let(:projects_table) { table(:projects) } let(:merge_requests_table) { table(:merge_requests) } let(:merge_request_diffs_table) { table(:merge_request_diffs) } diff --git a/spec/lib/gitlab/background_migration/archive_legacy_traces_spec.rb b/spec/lib/gitlab/background_migration/archive_legacy_traces_spec.rb index 2a7cffb2f3e..5c8dcb38511 100644 --- a/spec/lib/gitlab/background_migration/archive_legacy_traces_spec.rb +++ b/spec/lib/gitlab/background_migration/archive_legacy_traces_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe Gitlab::BackgroundMigration::ArchiveLegacyTraces, :migration, schema: 20180529152628 do +describe Gitlab::BackgroundMigration::ArchiveLegacyTraces, schema: 20180529152628 do include TraceHelpers let(:namespaces) { table(:namespaces) } diff --git a/spec/lib/gitlab/background_migration/backfill_hashed_project_repositories_spec.rb b/spec/lib/gitlab/background_migration/backfill_hashed_project_repositories_spec.rb index e802613490b..f64c3ccc058 100644 --- a/spec/lib/gitlab/background_migration/backfill_hashed_project_repositories_spec.rb +++ b/spec/lib/gitlab/background_migration/backfill_hashed_project_repositories_spec.rb @@ -2,6 +2,6 @@ require 'spec_helper' -describe Gitlab::BackgroundMigration::BackfillHashedProjectRepositories, :migration, schema: 20181130102132 do +describe Gitlab::BackgroundMigration::BackfillHashedProjectRepositories, schema: 20181130102132 do it_behaves_like 'backfill migration for project repositories', :hashed end diff --git a/spec/lib/gitlab/background_migration/backfill_legacy_project_repositories_spec.rb b/spec/lib/gitlab/background_migration/backfill_legacy_project_repositories_spec.rb index 947c99b860f..806d044ab40 100644 --- a/spec/lib/gitlab/background_migration/backfill_legacy_project_repositories_spec.rb +++ b/spec/lib/gitlab/background_migration/backfill_legacy_project_repositories_spec.rb @@ -2,6 +2,6 @@ require 'spec_helper' -describe Gitlab::BackgroundMigration::BackfillLegacyProjectRepositories, :migration, schema: 20181212171634 do +describe Gitlab::BackgroundMigration::BackfillLegacyProjectRepositories, schema: 20181212171634 do it_behaves_like 'backfill migration for project repositories', :legacy end diff --git a/spec/lib/gitlab/background_migration/backfill_project_fullpath_in_repo_config_spec.rb b/spec/lib/gitlab/background_migration/backfill_project_fullpath_in_repo_config_spec.rb index 4714712f733..91ede05f395 100644 --- a/spec/lib/gitlab/background_migration/backfill_project_fullpath_in_repo_config_spec.rb +++ b/spec/lib/gitlab/background_migration/backfill_project_fullpath_in_repo_config_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe Gitlab::BackgroundMigration::BackfillProjectFullpathInRepoConfig, :migration, schema: 20181010133639 do +describe Gitlab::BackgroundMigration::BackfillProjectFullpathInRepoConfig, schema: 20181010133639 do let(:namespaces) { table(:namespaces) } let(:projects) { table(:projects) } let(:group) { namespaces.create!(name: 'foo', path: 'foo') } diff --git a/spec/lib/gitlab/background_migration/backfill_project_repositories_spec.rb b/spec/lib/gitlab/background_migration/backfill_project_repositories_spec.rb index 510a0074554..d601b0f064d 100644 --- a/spec/lib/gitlab/background_migration/backfill_project_repositories_spec.rb +++ b/spec/lib/gitlab/background_migration/backfill_project_repositories_spec.rb @@ -3,7 +3,7 @@ require 'spec_helper' # rubocop:disable RSpec/FactoriesInMigrationSpecs -describe Gitlab::BackgroundMigration::BackfillProjectRepositories do +describe Gitlab::BackgroundMigration::BackfillProjectRepositories, schema: :latest do let(:group) { create(:group, name: 'foo', path: 'foo') } describe described_class::ShardFinder do diff --git a/spec/lib/gitlab/background_migration/backfill_project_settings_spec.rb b/spec/lib/gitlab/background_migration/backfill_project_settings_spec.rb index 718109bb720..a2b4e003d82 100644 --- a/spec/lib/gitlab/background_migration/backfill_project_settings_spec.rb +++ b/spec/lib/gitlab/background_migration/backfill_project_settings_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe Gitlab::BackgroundMigration::BackfillProjectSettings, :migration, schema: 20200114113341 do +describe Gitlab::BackgroundMigration::BackfillProjectSettings, schema: 20200114113341 do let(:projects) { table(:projects) } let(:project_settings) { table(:project_settings) } let(:namespace) { table(:namespaces).create(name: 'user', path: 'user') } diff --git a/spec/lib/gitlab/background_migration/digest_column_spec.rb b/spec/lib/gitlab/background_migration/digest_column_spec.rb index a25dcb06005..0c76ebe9c66 100644 --- a/spec/lib/gitlab/background_migration/digest_column_spec.rb +++ b/spec/lib/gitlab/background_migration/digest_column_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe Gitlab::BackgroundMigration::DigestColumn, :migration, schema: 20180913142237 do +describe Gitlab::BackgroundMigration::DigestColumn, schema: 20180913142237 do let(:personal_access_tokens) { table(:personal_access_tokens) } let(:users) { table(:users) } diff --git a/spec/lib/gitlab/background_migration/encrypt_columns_spec.rb b/spec/lib/gitlab/background_migration/encrypt_columns_spec.rb index 3c2ed6d3a6d..6d3ccde7df2 100644 --- a/spec/lib/gitlab/background_migration/encrypt_columns_spec.rb +++ b/spec/lib/gitlab/background_migration/encrypt_columns_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe Gitlab::BackgroundMigration::EncryptColumns, :migration, schema: 20180910115836 do +describe Gitlab::BackgroundMigration::EncryptColumns, schema: 20180910115836 do let(:model) { Gitlab::BackgroundMigration::Models::EncryptColumns::WebHook } let(:web_hooks) { table(:web_hooks) } diff --git a/spec/lib/gitlab/background_migration/encrypt_runners_tokens_spec.rb b/spec/lib/gitlab/background_migration/encrypt_runners_tokens_spec.rb index 54af9807e7b..89262788d9b 100644 --- a/spec/lib/gitlab/background_migration/encrypt_runners_tokens_spec.rb +++ b/spec/lib/gitlab/background_migration/encrypt_runners_tokens_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe Gitlab::BackgroundMigration::EncryptRunnersTokens, :migration, schema: 20181121111200 do +describe Gitlab::BackgroundMigration::EncryptRunnersTokens, schema: 20181121111200 do let(:settings) { table(:application_settings) } let(:namespaces) { table(:namespaces) } let(:projects) { table(:projects) } diff --git a/spec/lib/gitlab/background_migration/fix_cross_project_label_links_spec.rb b/spec/lib/gitlab/background_migration/fix_cross_project_label_links_spec.rb index f3127cbf5df..cc4ce023f04 100644 --- a/spec/lib/gitlab/background_migration/fix_cross_project_label_links_spec.rb +++ b/spec/lib/gitlab/background_migration/fix_cross_project_label_links_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe Gitlab::BackgroundMigration::FixCrossProjectLabelLinks, :migration, schema: 20180702120647 do +describe Gitlab::BackgroundMigration::FixCrossProjectLabelLinks, schema: 20180702120647 do let(:namespaces_table) { table(:namespaces) } let(:projects_table) { table(:projects) } let(:issues_table) { table(:issues) } diff --git a/spec/lib/gitlab/background_migration/fix_projects_without_project_feature_spec.rb b/spec/lib/gitlab/background_migration/fix_projects_without_project_feature_spec.rb index 0dca542cb9f..056ddd7adf9 100644 --- a/spec/lib/gitlab/background_migration/fix_projects_without_project_feature_spec.rb +++ b/spec/lib/gitlab/background_migration/fix_projects_without_project_feature_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe Gitlab::BackgroundMigration::FixProjectsWithoutProjectFeature, :migration, schema: 2020_01_27_111840 do +describe Gitlab::BackgroundMigration::FixProjectsWithoutProjectFeature, schema: 2020_01_27_111840 do let(:namespaces) { table(:namespaces) } let(:projects) { table(:projects) } let(:project_features) { table(:project_features) } diff --git a/spec/lib/gitlab/background_migration/fix_promoted_epics_discussion_ids_spec.rb b/spec/lib/gitlab/background_migration/fix_promoted_epics_discussion_ids_spec.rb index 73c855ac184..141a0af6c29 100644 --- a/spec/lib/gitlab/background_migration/fix_promoted_epics_discussion_ids_spec.rb +++ b/spec/lib/gitlab/background_migration/fix_promoted_epics_discussion_ids_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe Gitlab::BackgroundMigration::FixPromotedEpicsDiscussionIds, :migration, schema: 20190715193142 do +describe Gitlab::BackgroundMigration::FixPromotedEpicsDiscussionIds, schema: 20190715193142 do let(:namespaces) { table(:namespaces) } let(:users) { table(:users) } let(:epics) { table(:epics) } diff --git a/spec/lib/gitlab/background_migration/fix_user_namespace_names_spec.rb b/spec/lib/gitlab/background_migration/fix_user_namespace_names_spec.rb index 5938ecca459..52760cdd115 100644 --- a/spec/lib/gitlab/background_migration/fix_user_namespace_names_spec.rb +++ b/spec/lib/gitlab/background_migration/fix_user_namespace_names_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe Gitlab::BackgroundMigration::FixUserNamespaceNames, :migration, schema: 20190620112608 do +describe Gitlab::BackgroundMigration::FixUserNamespaceNames, schema: 20190620112608 do let(:namespaces) { table(:namespaces) } let(:users) { table(:users) } let(:user) { users.create(name: "The user's full name", projects_limit: 10, username: 'not-null', email: '1') } diff --git a/spec/lib/gitlab/background_migration/fix_user_project_route_names_spec.rb b/spec/lib/gitlab/background_migration/fix_user_project_route_names_spec.rb index d1d6d8411d1..0fb7eea2bd7 100644 --- a/spec/lib/gitlab/background_migration/fix_user_project_route_names_spec.rb +++ b/spec/lib/gitlab/background_migration/fix_user_project_route_names_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe Gitlab::BackgroundMigration::FixUserProjectRouteNames, :migration, schema: 20190620112608 do +describe Gitlab::BackgroundMigration::FixUserProjectRouteNames, schema: 20190620112608 do let(:namespaces) { table(:namespaces) } let(:users) { table(:users) } let(:routes) { table(:routes) } diff --git a/spec/lib/gitlab/background_migration/legacy_upload_mover_spec.rb b/spec/lib/gitlab/background_migration/legacy_upload_mover_spec.rb index f2de73d5aea..558209cc05c 100644 --- a/spec/lib/gitlab/background_migration/legacy_upload_mover_spec.rb +++ b/spec/lib/gitlab/background_migration/legacy_upload_mover_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' # rubocop: disable RSpec/FactoriesInMigrationSpecs -describe Gitlab::BackgroundMigration::LegacyUploadMover do +describe Gitlab::BackgroundMigration::LegacyUploadMover, schema: :latest do let(:test_dir) { FileUploader.options['storage_path'] } let(:filename) { 'image.png' } diff --git a/spec/lib/gitlab/background_migration/legacy_uploads_migrator_spec.rb b/spec/lib/gitlab/background_migration/legacy_uploads_migrator_spec.rb index 85187d039c1..0c0ce3acf0e 100644 --- a/spec/lib/gitlab/background_migration/legacy_uploads_migrator_spec.rb +++ b/spec/lib/gitlab/background_migration/legacy_uploads_migrator_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' # rubocop: disable RSpec/FactoriesInMigrationSpecs -describe Gitlab::BackgroundMigration::LegacyUploadsMigrator do +describe Gitlab::BackgroundMigration::LegacyUploadsMigrator, schema: :latest do let(:test_dir) { FileUploader.options['storage_path'] } let!(:hashed_project) { create(:project) } diff --git a/spec/lib/gitlab/background_migration/merge_request_assignees_migration_progress_check_spec.rb b/spec/lib/gitlab/background_migration/merge_request_assignees_migration_progress_check_spec.rb index eecd290e3ca..0d8fc3e7c53 100644 --- a/spec/lib/gitlab/background_migration/merge_request_assignees_migration_progress_check_spec.rb +++ b/spec/lib/gitlab/background_migration/merge_request_assignees_migration_progress_check_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe Gitlab::BackgroundMigration::MergeRequestAssigneesMigrationProgressCheck do +describe Gitlab::BackgroundMigration::MergeRequestAssigneesMigrationProgressCheck, schema: :latest do context 'rescheduling' do context 'when there are ongoing and no dead jobs' do it 'reschedules check' do diff --git a/spec/lib/gitlab/background_migration/migrate_build_stage_spec.rb b/spec/lib/gitlab/background_migration/migrate_build_stage_spec.rb index a496f8416bf..adf358f5320 100644 --- a/spec/lib/gitlab/background_migration/migrate_build_stage_spec.rb +++ b/spec/lib/gitlab/background_migration/migrate_build_stage_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe Gitlab::BackgroundMigration::MigrateBuildStage, :migration, schema: 20180212101928 do +describe Gitlab::BackgroundMigration::MigrateBuildStage, schema: 20180212101928 do let(:projects) { table(:projects) } let(:pipelines) { table(:ci_pipelines) } let(:stages) { table(:ci_stages) } diff --git a/spec/lib/gitlab/background_migration/migrate_fingerprint_sha256_within_keys_spec.rb b/spec/lib/gitlab/background_migration/migrate_fingerprint_sha256_within_keys_spec.rb index 3ccb2379936..79a8cd926a7 100644 --- a/spec/lib/gitlab/background_migration/migrate_fingerprint_sha256_within_keys_spec.rb +++ b/spec/lib/gitlab/background_migration/migrate_fingerprint_sha256_within_keys_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe Gitlab::BackgroundMigration::MigrateFingerprintSha256WithinKeys, :migration, schema: 20200106071113 do +describe Gitlab::BackgroundMigration::MigrateFingerprintSha256WithinKeys, schema: 20200106071113 do subject(:fingerprint_migrator) { described_class.new } let(:key_table) { table(:keys) } diff --git a/spec/lib/gitlab/background_migration/migrate_issue_trackers_sensitive_data_spec.rb b/spec/lib/gitlab/background_migration/migrate_issue_trackers_sensitive_data_spec.rb index 4c70877befe..7dae28f72a5 100644 --- a/spec/lib/gitlab/background_migration/migrate_issue_trackers_sensitive_data_spec.rb +++ b/spec/lib/gitlab/background_migration/migrate_issue_trackers_sensitive_data_spec.rb @@ -1,7 +1,7 @@ # frozen_string_literal: true require 'spec_helper' -describe Gitlab::BackgroundMigration::MigrateIssueTrackersSensitiveData, :migration, schema: 20200130145430 do +describe Gitlab::BackgroundMigration::MigrateIssueTrackersSensitiveData, schema: 20200130145430 do let(:services) { table(:services) } # we need to define the classes due to encryption diff --git a/spec/lib/gitlab/background_migration/migrate_legacy_artifacts_spec.rb b/spec/lib/gitlab/background_migration/migrate_legacy_artifacts_spec.rb index 268626d58fd..5f2a27acd9b 100644 --- a/spec/lib/gitlab/background_migration/migrate_legacy_artifacts_spec.rb +++ b/spec/lib/gitlab/background_migration/migrate_legacy_artifacts_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe Gitlab::BackgroundMigration::MigrateLegacyArtifacts, :migration, schema: 20180816161409 do +describe Gitlab::BackgroundMigration::MigrateLegacyArtifacts, schema: 20180816161409 do let(:namespaces) { table(:namespaces) } let(:projects) { table(:projects) } let(:pipelines) { table(:ci_pipelines) } diff --git a/spec/lib/gitlab/background_migration/migrate_null_private_profile_to_false_spec.rb b/spec/lib/gitlab/background_migration/migrate_null_private_profile_to_false_spec.rb index c45c64f6a23..ff88d2a5d00 100644 --- a/spec/lib/gitlab/background_migration/migrate_null_private_profile_to_false_spec.rb +++ b/spec/lib/gitlab/background_migration/migrate_null_private_profile_to_false_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe Gitlab::BackgroundMigration::MigrateNullPrivateProfileToFalse, :migration, schema: 20190620105427 do +describe Gitlab::BackgroundMigration::MigrateNullPrivateProfileToFalse, schema: 20190620105427 do let(:users) { table(:users) } it 'correctly migrates nil private_profile to false' do diff --git a/spec/lib/gitlab/background_migration/migrate_pages_metadata_spec.rb b/spec/lib/gitlab/background_migration/migrate_pages_metadata_spec.rb index d94a312f605..10a1d4ee1b9 100644 --- a/spec/lib/gitlab/background_migration/migrate_pages_metadata_spec.rb +++ b/spec/lib/gitlab/background_migration/migrate_pages_metadata_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe Gitlab::BackgroundMigration::MigratePagesMetadata, :migration, schema: 20190919040324 do +describe Gitlab::BackgroundMigration::MigratePagesMetadata, schema: 20190919040324 do let(:projects) { table(:projects) } subject(:migrate_pages_metadata) { described_class.new } diff --git a/spec/lib/gitlab/background_migration/migrate_stage_index_spec.rb b/spec/lib/gitlab/background_migration/migrate_stage_index_spec.rb index 1a8b0355fd9..437be125cf0 100644 --- a/spec/lib/gitlab/background_migration/migrate_stage_index_spec.rb +++ b/spec/lib/gitlab/background_migration/migrate_stage_index_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe Gitlab::BackgroundMigration::MigrateStageIndex, :migration, schema: 20180420080616 do +describe Gitlab::BackgroundMigration::MigrateStageIndex, schema: 20180420080616 do let(:namespaces) { table(:namespaces) } let(:projects) { table(:projects) } let(:pipelines) { table(:ci_pipelines) } diff --git a/spec/lib/gitlab/background_migration/populate_cluster_kubernetes_namespace_table_spec.rb b/spec/lib/gitlab/background_migration/populate_cluster_kubernetes_namespace_table_spec.rb index 128e118ac17..d445858b8e8 100644 --- a/spec/lib/gitlab/background_migration/populate_cluster_kubernetes_namespace_table_spec.rb +++ b/spec/lib/gitlab/background_migration/populate_cluster_kubernetes_namespace_table_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe Gitlab::BackgroundMigration::PopulateClusterKubernetesNamespaceTable, :migration, schema: 20181022173835 do +describe Gitlab::BackgroundMigration::PopulateClusterKubernetesNamespaceTable, schema: 20181022173835 do include MigrationHelpers::ClusterHelpers let(:migration) { described_class.new } diff --git a/spec/lib/gitlab/background_migration/populate_merge_request_assignees_table_spec.rb b/spec/lib/gitlab/background_migration/populate_merge_request_assignees_table_spec.rb index c1f6871a568..e65b3549de0 100644 --- a/spec/lib/gitlab/background_migration/populate_merge_request_assignees_table_spec.rb +++ b/spec/lib/gitlab/background_migration/populate_merge_request_assignees_table_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe Gitlab::BackgroundMigration::PopulateMergeRequestAssigneesTable, :migration, schema: 20190315191339 do +describe Gitlab::BackgroundMigration::PopulateMergeRequestAssigneesTable, schema: 20190315191339 do let(:namespaces) { table(:namespaces) } let(:projects) { table(:projects) } let(:users) { table(:users) } diff --git a/spec/lib/gitlab/background_migration/populate_untracked_uploads_dependencies/untracked_file_spec.rb b/spec/lib/gitlab/background_migration/populate_untracked_uploads_dependencies/untracked_file_spec.rb index ea1eaa6417d..0250ebd7759 100644 --- a/spec/lib/gitlab/background_migration/populate_untracked_uploads_dependencies/untracked_file_spec.rb +++ b/spec/lib/gitlab/background_migration/populate_untracked_uploads_dependencies/untracked_file_spec.rb @@ -3,7 +3,7 @@ require 'spec_helper' # Rollback DB to 10.5 (later than this was originally written for) because it still needs to work. -describe Gitlab::BackgroundMigration::PopulateUntrackedUploadsDependencies::UntrackedFile, :migration, schema: 20180208183958 do +describe Gitlab::BackgroundMigration::PopulateUntrackedUploadsDependencies::UntrackedFile, schema: 20180208183958 do include MigrationsHelpers::TrackUntrackedUploadsHelpers let!(:appearances) { table(:appearances) } diff --git a/spec/lib/gitlab/background_migration/populate_untracked_uploads_spec.rb b/spec/lib/gitlab/background_migration/populate_untracked_uploads_spec.rb index f25804c3ca2..44cec112bfd 100644 --- a/spec/lib/gitlab/background_migration/populate_untracked_uploads_spec.rb +++ b/spec/lib/gitlab/background_migration/populate_untracked_uploads_spec.rb @@ -3,7 +3,7 @@ require 'spec_helper' # Rollback DB to 10.5 (later than this was originally written for) because it still needs to work. -describe Gitlab::BackgroundMigration::PopulateUntrackedUploads, :migration, schema: 20180208183958 do +describe Gitlab::BackgroundMigration::PopulateUntrackedUploads, schema: 20180208183958 do include MigrationsHelpers::TrackUntrackedUploadsHelpers subject { described_class.new } diff --git a/spec/lib/gitlab/background_migration/prepare_untracked_uploads_spec.rb b/spec/lib/gitlab/background_migration/prepare_untracked_uploads_spec.rb index 9072431e8f6..2957d0bed15 100644 --- a/spec/lib/gitlab/background_migration/prepare_untracked_uploads_spec.rb +++ b/spec/lib/gitlab/background_migration/prepare_untracked_uploads_spec.rb @@ -3,7 +3,7 @@ require 'spec_helper' # Rollback DB to 10.5 (later than this was originally written for) because it still needs to work. -describe Gitlab::BackgroundMigration::PrepareUntrackedUploads, :migration, schema: 20180208183958 do +describe Gitlab::BackgroundMigration::PrepareUntrackedUploads, schema: 20180208183958 do include MigrationsHelpers::TrackUntrackedUploadsHelpers let!(:untracked_files_for_uploads) { table(:untracked_files_for_uploads) } diff --git a/spec/lib/gitlab/background_migration/recalculate_project_authorizations_spec.rb b/spec/lib/gitlab/background_migration/recalculate_project_authorizations_spec.rb index 1ef2c451aa2..4699cc42b38 100644 --- a/spec/lib/gitlab/background_migration/recalculate_project_authorizations_spec.rb +++ b/spec/lib/gitlab/background_migration/recalculate_project_authorizations_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe Gitlab::BackgroundMigration::RecalculateProjectAuthorizations, :migration, schema: 20200204113223 do +describe Gitlab::BackgroundMigration::RecalculateProjectAuthorizations, schema: 20200204113223 do let(:users_table) { table(:users) } let(:namespaces_table) { table(:namespaces) } let(:projects_table) { table(:projects) } diff --git a/spec/lib/gitlab/background_migration/recalculate_project_authorizations_with_min_max_user_id_spec.rb b/spec/lib/gitlab/background_migration/recalculate_project_authorizations_with_min_max_user_id_spec.rb index 14ba57eecbf..edb46efad7c 100644 --- a/spec/lib/gitlab/background_migration/recalculate_project_authorizations_with_min_max_user_id_spec.rb +++ b/spec/lib/gitlab/background_migration/recalculate_project_authorizations_with_min_max_user_id_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe Gitlab::BackgroundMigration::RecalculateProjectAuthorizationsWithMinMaxUserId, :migration, schema: 20200204113224 do +describe Gitlab::BackgroundMigration::RecalculateProjectAuthorizationsWithMinMaxUserId, schema: 20200204113224 do let(:users_table) { table(:users) } let(:min) { 1 } let(:max) { 5 } diff --git a/spec/lib/gitlab/background_migration/remove_restricted_todos_spec.rb b/spec/lib/gitlab/background_migration/remove_restricted_todos_spec.rb index dae754112dc..3de24f577ab 100644 --- a/spec/lib/gitlab/background_migration/remove_restricted_todos_spec.rb +++ b/spec/lib/gitlab/background_migration/remove_restricted_todos_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe Gitlab::BackgroundMigration::RemoveRestrictedTodos, :migration, schema: 20180704204006 do +describe Gitlab::BackgroundMigration::RemoveRestrictedTodos, schema: 20180704204006 do let(:projects) { table(:projects) } let(:users) { table(:users) } let(:todos) { table(:todos) } diff --git a/spec/lib/gitlab/background_migration/reset_merge_status_spec.rb b/spec/lib/gitlab/background_migration/reset_merge_status_spec.rb index fd35ddc49a2..40340f89448 100644 --- a/spec/lib/gitlab/background_migration/reset_merge_status_spec.rb +++ b/spec/lib/gitlab/background_migration/reset_merge_status_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe Gitlab::BackgroundMigration::ResetMergeStatus, :migration, schema: 20190528180441 do +describe Gitlab::BackgroundMigration::ResetMergeStatus, schema: 20190528180441 do let(:namespaces) { table(:namespaces) } let(:projects) { table(:projects) } let(:namespace) { namespaces.create(name: 'gitlab', path: 'gitlab-org') } diff --git a/spec/lib/gitlab/background_migration/schedule_calculate_wiki_sizes_spec.rb b/spec/lib/gitlab/background_migration/schedule_calculate_wiki_sizes_spec.rb index cee9a3e8822..387e3343ede 100644 --- a/spec/lib/gitlab/background_migration/schedule_calculate_wiki_sizes_spec.rb +++ b/spec/lib/gitlab/background_migration/schedule_calculate_wiki_sizes_spec.rb @@ -3,7 +3,7 @@ require 'spec_helper' require Rails.root.join('db', 'post_migrate', '20190527194900_schedule_calculate_wiki_sizes.rb') -describe ScheduleCalculateWikiSizes, :migration do +describe ScheduleCalculateWikiSizes do let(:migration_class) { Gitlab::BackgroundMigration::CalculateWikiSizes } let(:migration_name) { migration_class.to_s.demodulize } diff --git a/spec/lib/gitlab/background_migration/set_confidential_note_events_on_services_spec.rb b/spec/lib/gitlab/background_migration/set_confidential_note_events_on_services_spec.rb index 3600755ada7..5ce4a322e51 100644 --- a/spec/lib/gitlab/background_migration/set_confidential_note_events_on_services_spec.rb +++ b/spec/lib/gitlab/background_migration/set_confidential_note_events_on_services_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe Gitlab::BackgroundMigration::SetConfidentialNoteEventsOnServices, :migration, schema: 20180122154930 do +describe Gitlab::BackgroundMigration::SetConfidentialNoteEventsOnServices, schema: 20180122154930 do let(:services) { table(:services) } describe '#perform' do diff --git a/spec/lib/gitlab/background_migration/set_confidential_note_events_on_webhooks_spec.rb b/spec/lib/gitlab/background_migration/set_confidential_note_events_on_webhooks_spec.rb index 5cd9c02fd3f..08f1f543f5d 100644 --- a/spec/lib/gitlab/background_migration/set_confidential_note_events_on_webhooks_spec.rb +++ b/spec/lib/gitlab/background_migration/set_confidential_note_events_on_webhooks_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe Gitlab::BackgroundMigration::SetConfidentialNoteEventsOnWebhooks, :migration, schema: 20180104131052 do +describe Gitlab::BackgroundMigration::SetConfidentialNoteEventsOnWebhooks, schema: 20180104131052 do let(:web_hooks) { table(:web_hooks) } describe '#perform' do diff --git a/spec/lib/gitlab/background_migration/update_existing_subgroup_to_match_visibility_level_of_parent_spec.rb b/spec/lib/gitlab/background_migration/update_existing_subgroup_to_match_visibility_level_of_parent_spec.rb index 37280110b91..70397ae1e30 100644 --- a/spec/lib/gitlab/background_migration/update_existing_subgroup_to_match_visibility_level_of_parent_spec.rb +++ b/spec/lib/gitlab/background_migration/update_existing_subgroup_to_match_visibility_level_of_parent_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe Gitlab::BackgroundMigration::UpdateExistingSubgroupToMatchVisibilityLevelOfParent, :migration, schema: 2020_01_10_121314 do +describe Gitlab::BackgroundMigration::UpdateExistingSubgroupToMatchVisibilityLevelOfParent, schema: 2020_01_10_121314 do include MigrationHelpers::NamespacesHelpers context 'private visibility level' do diff --git a/spec/lib/gitlab/background_migration_spec.rb b/spec/lib/gitlab/background_migration_spec.rb index 71959f54b38..cff6a42d242 100644 --- a/spec/lib/gitlab/background_migration_spec.rb +++ b/spec/lib/gitlab/background_migration_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -describe Gitlab::BackgroundMigration do +describe Gitlab::BackgroundMigration, schema: :latest do describe '.queue' do it 'returns background migration worker queue' do expect(described_class.queue) diff --git a/spec/migrations/20190924152703_migrate_issue_trackers_data_spec.rb b/spec/migrations/20190924152703_migrate_issue_trackers_data_spec.rb index a84cac0623b..dfa4cc21d63 100644 --- a/spec/migrations/20190924152703_migrate_issue_trackers_data_spec.rb +++ b/spec/migrations/20190924152703_migrate_issue_trackers_data_spec.rb @@ -3,7 +3,7 @@ require 'spec_helper' require Rails.root.join('db', 'post_migrate', '20190924152703_migrate_issue_trackers_data.rb') -describe MigrateIssueTrackersData, :migration do +describe MigrateIssueTrackersData do let(:services) { table(:services) } let(:migration_class) { Gitlab::BackgroundMigration::MigrateIssueTrackersSensitiveData } let(:migration_name) { migration_class.to_s.demodulize } diff --git a/spec/migrations/20191015154408_drop_merge_requests_require_code_owner_approval_from_projects_spec.rb b/spec/migrations/20191015154408_drop_merge_requests_require_code_owner_approval_from_projects_spec.rb index e90d56cfeef..ac9ff5632eb 100644 --- a/spec/migrations/20191015154408_drop_merge_requests_require_code_owner_approval_from_projects_spec.rb +++ b/spec/migrations/20191015154408_drop_merge_requests_require_code_owner_approval_from_projects_spec.rb @@ -3,7 +3,7 @@ require 'spec_helper' require Rails.root.join('db', 'post_migrate', '20191015154408_drop_merge_requests_require_code_owner_approval_from_projects.rb') -describe DropMergeRequestsRequireCodeOwnerApprovalFromProjects, :migration do +describe DropMergeRequestsRequireCodeOwnerApprovalFromProjects do let(:projects_table) { table(:projects) } subject(:migration) { described_class.new } diff --git a/spec/migrations/20191125114345_add_admin_mode_protected_path_spec.rb b/spec/migrations/20191125114345_add_admin_mode_protected_path_spec.rb index 110da221393..669e31618a3 100644 --- a/spec/migrations/20191125114345_add_admin_mode_protected_path_spec.rb +++ b/spec/migrations/20191125114345_add_admin_mode_protected_path_spec.rb @@ -3,7 +3,7 @@ require 'spec_helper' require Rails.root.join('db', 'migrate', '20191125114345_add_admin_mode_protected_path.rb') -describe AddAdminModeProtectedPath, :migration do +describe AddAdminModeProtectedPath do ADMIN_MODE_ENDPOINT = '/admin/session' subject(:migration) { described_class.new } diff --git a/spec/migrations/20191204114127_delete_legacy_triggers_spec.rb b/spec/migrations/20191204114127_delete_legacy_triggers_spec.rb index c2660d699ca..58061d80f21 100644 --- a/spec/migrations/20191204114127_delete_legacy_triggers_spec.rb +++ b/spec/migrations/20191204114127_delete_legacy_triggers_spec.rb @@ -3,7 +3,7 @@ require 'spec_helper' require Rails.root.join('db', 'post_migrate', '20191204114127_delete_legacy_triggers.rb') -describe DeleteLegacyTriggers, :migration, schema: 2019_11_25_140458 do +describe DeleteLegacyTriggers, schema: 2019_11_25_140458 do let(:ci_trigger_table) { table(:ci_triggers) } let(:user) { table(:users).create!(name: 'test', email: 'test@example.com', projects_limit: 1) } diff --git a/spec/migrations/20200107172020_add_timestamp_softwarelicensespolicy_spec.rb b/spec/migrations/20200107172020_add_timestamp_softwarelicensespolicy_spec.rb index b0d2aea7015..7a6b21d485b 100644 --- a/spec/migrations/20200107172020_add_timestamp_softwarelicensespolicy_spec.rb +++ b/spec/migrations/20200107172020_add_timestamp_softwarelicensespolicy_spec.rb @@ -3,7 +3,7 @@ require 'spec_helper' require Rails.root.join('db', 'migrate', '20200107172020_add_timestamp_softwarelicensespolicy.rb') -describe AddTimestampSoftwarelicensespolicy, :migration do +describe AddTimestampSoftwarelicensespolicy do let(:software_licenses_policy) { table(:software_license_policies) } let(:projects) { table(:projects) } let(:licenses) { table(:software_licenses) } diff --git a/spec/migrations/20200122123016_backfill_project_settings_spec.rb b/spec/migrations/20200122123016_backfill_project_settings_spec.rb index fec18d6d52b..ce86e94b6d5 100644 --- a/spec/migrations/20200122123016_backfill_project_settings_spec.rb +++ b/spec/migrations/20200122123016_backfill_project_settings_spec.rb @@ -3,7 +3,7 @@ require 'spec_helper' require Rails.root.join('db', 'post_migrate', '20200122123016_backfill_project_settings.rb') -describe BackfillProjectSettings, :migration, :sidekiq, schema: 20200114113341 do +describe BackfillProjectSettings, :sidekiq, schema: 20200114113341 do let(:projects) { table(:projects) } let(:namespace) { table(:namespaces).create(name: 'user', path: 'user') } let(:project) { projects.create(namespace_id: namespace.id) } diff --git a/spec/migrations/20200123155929_remove_invalid_jira_data_spec.rb b/spec/migrations/20200123155929_remove_invalid_jira_data_spec.rb index 0e640623ea9..253e39c1647 100644 --- a/spec/migrations/20200123155929_remove_invalid_jira_data_spec.rb +++ b/spec/migrations/20200123155929_remove_invalid_jira_data_spec.rb @@ -3,7 +3,7 @@ require 'spec_helper' require Rails.root.join('db', 'post_migrate', '20200123155929_remove_invalid_jira_data.rb') -describe RemoveInvalidJiraData, :migration do +describe RemoveInvalidJiraData do let(:jira_tracker_data) { table(:jira_tracker_data) } let(:services) { table(:services) } diff --git a/spec/migrations/20200127090233_remove_invalid_issue_tracker_data_spec.rb b/spec/migrations/20200127090233_remove_invalid_issue_tracker_data_spec.rb index d1b1dfb1904..ca7cde08071 100644 --- a/spec/migrations/20200127090233_remove_invalid_issue_tracker_data_spec.rb +++ b/spec/migrations/20200127090233_remove_invalid_issue_tracker_data_spec.rb @@ -3,7 +3,7 @@ require 'spec_helper' require Rails.root.join('db', 'post_migrate', '20200127090233_remove_invalid_issue_tracker_data.rb') -describe RemoveInvalidIssueTrackerData, :migration do +describe RemoveInvalidIssueTrackerData do let(:issue_tracker_data) { table(:issue_tracker_data) } let(:services) { table(:services) } diff --git a/spec/migrations/20200130145430_reschedule_migrate_issue_trackers_data_spec.rb b/spec/migrations/20200130145430_reschedule_migrate_issue_trackers_data_spec.rb index b51708dd5cd..8e3e55f3e19 100644 --- a/spec/migrations/20200130145430_reschedule_migrate_issue_trackers_data_spec.rb +++ b/spec/migrations/20200130145430_reschedule_migrate_issue_trackers_data_spec.rb @@ -3,7 +3,7 @@ require 'spec_helper' require Rails.root.join('db', 'post_migrate', '20200130145430_reschedule_migrate_issue_trackers_data.rb') -describe RescheduleMigrateIssueTrackersData, :migration do +describe RescheduleMigrateIssueTrackersData do let(:services) { table(:services) } let(:migration_class) { Gitlab::BackgroundMigration::MigrateIssueTrackersSensitiveData } let(:migration_name) { migration_class.to_s.demodulize } diff --git a/spec/migrations/active_record/schedule_set_confidential_note_events_on_services_spec.rb b/spec/migrations/active_record/schedule_set_confidential_note_events_on_services_spec.rb index 4de43e21ed3..e973454ecc8 100644 --- a/spec/migrations/active_record/schedule_set_confidential_note_events_on_services_spec.rb +++ b/spec/migrations/active_record/schedule_set_confidential_note_events_on_services_spec.rb @@ -3,7 +3,7 @@ require 'spec_helper' require Rails.root.join('db', 'post_migrate', '20180122154930_schedule_set_confidential_note_events_on_services.rb') -describe ScheduleSetConfidentialNoteEventsOnServices, :migration do +describe ScheduleSetConfidentialNoteEventsOnServices do let(:services_table) { table(:services) } let(:migration_class) { Gitlab::BackgroundMigration::SetConfidentialNoteEventsOnServices } let(:migration_name) { migration_class.to_s.demodulize } diff --git a/spec/migrations/active_record/schema_spec.rb b/spec/migrations/active_record/schema_spec.rb index 617e31f359b..086d6317c32 100644 --- a/spec/migrations/active_record/schema_spec.rb +++ b/spec/migrations/active_record/schema_spec.rb @@ -5,7 +5,7 @@ require 'spec_helper' # Check consistency of db/schema.rb version, migrations' timestamps, and the latest migration timestamp # stored in the database's schema_migrations table. -describe ActiveRecord::Schema do +describe ActiveRecord::Schema, schema: :latest do let(:latest_migration_timestamp) do migrations_paths = %w[db/migrate db/post_migrate] .map { |path| Rails.root.join(*path, '*') } diff --git a/spec/migrations/add_default_and_free_plans_spec.rb b/spec/migrations/add_default_and_free_plans_spec.rb index ae40b5b10c2..dffdeb8e71a 100644 --- a/spec/migrations/add_default_and_free_plans_spec.rb +++ b/spec/migrations/add_default_and_free_plans_spec.rb @@ -3,7 +3,7 @@ require 'spec_helper' require Rails.root.join('db', 'migrate', '20191023152913_add_default_and_free_plans.rb') -describe AddDefaultAndFreePlans, :migration do +describe AddDefaultAndFreePlans do describe 'migrate' do let(:plans) { table(:plans) } diff --git a/spec/migrations/add_deploy_token_type_to_deploy_tokens_spec.rb b/spec/migrations/add_deploy_token_type_to_deploy_tokens_spec.rb index fb8213a6bd6..3bc3d3f8ee2 100644 --- a/spec/migrations/add_deploy_token_type_to_deploy_tokens_spec.rb +++ b/spec/migrations/add_deploy_token_type_to_deploy_tokens_spec.rb @@ -3,7 +3,7 @@ require 'spec_helper' require Rails.root.join('db', 'migrate', '20200122161638_add_deploy_token_type_to_deploy_tokens.rb') -describe AddDeployTokenTypeToDeployTokens, :migration do +describe AddDeployTokenTypeToDeployTokens do let(:deploy_tokens) { table(:deploy_tokens) } let(:deploy_token) do deploy_tokens.create(name: 'token_test', diff --git a/spec/migrations/add_foreign_key_from_notification_settings_to_users_spec.rb b/spec/migrations/add_foreign_key_from_notification_settings_to_users_spec.rb index 656d4f75e3b..ceca38b148e 100644 --- a/spec/migrations/add_foreign_key_from_notification_settings_to_users_spec.rb +++ b/spec/migrations/add_foreign_key_from_notification_settings_to_users_spec.rb @@ -3,7 +3,7 @@ require 'spec_helper' require Rails.root.join('db', 'migrate', '20180710162338_add_foreign_key_from_notification_settings_to_users.rb') -describe AddForeignKeyFromNotificationSettingsToUsers, :migration do +describe AddForeignKeyFromNotificationSettingsToUsers do let(:notification_settings) { table(:notification_settings) } let(:users) { table(:users) } let(:projects) { table(:projects) } diff --git a/spec/migrations/add_foreign_keys_to_todos_spec.rb b/spec/migrations/add_foreign_keys_to_todos_spec.rb index 9932113a003..49fb3c1a911 100644 --- a/spec/migrations/add_foreign_keys_to_todos_spec.rb +++ b/spec/migrations/add_foreign_keys_to_todos_spec.rb @@ -3,7 +3,7 @@ require 'spec_helper' require Rails.root.join('db', 'migrate', '20180201110056_add_foreign_keys_to_todos.rb') -describe AddForeignKeysToTodos, :migration do +describe AddForeignKeysToTodos do let(:todos) { table(:todos) } let(:users) { table(:users) } let(:projects) { table(:projects) } diff --git a/spec/migrations/add_not_null_constraint_to_project_mirror_data_foreign_key_spec.rb b/spec/migrations/add_not_null_constraint_to_project_mirror_data_foreign_key_spec.rb index 24ae939afa7..03f65aba7c0 100644 --- a/spec/migrations/add_not_null_constraint_to_project_mirror_data_foreign_key_spec.rb +++ b/spec/migrations/add_not_null_constraint_to_project_mirror_data_foreign_key_spec.rb @@ -3,7 +3,7 @@ require 'spec_helper' require Rails.root.join('db', 'migrate', '20180508100222_add_not_null_constraint_to_project_mirror_data_foreign_key.rb') -describe AddNotNullConstraintToProjectMirrorDataForeignKey, :migration do +describe AddNotNullConstraintToProjectMirrorDataForeignKey do let(:namespaces) { table(:namespaces) } let(:projects) { table(:projects) } let(:import_state) { table(:project_mirror_data) } diff --git a/spec/migrations/add_pages_access_level_to_project_feature_spec.rb b/spec/migrations/add_pages_access_level_to_project_feature_spec.rb index a5e2bf2de71..69f1e3ba3d0 100644 --- a/spec/migrations/add_pages_access_level_to_project_feature_spec.rb +++ b/spec/migrations/add_pages_access_level_to_project_feature_spec.rb @@ -3,7 +3,7 @@ require 'spec_helper' require Rails.root.join('db', 'migrate', '20180423204600_add_pages_access_level_to_project_feature.rb') -describe AddPagesAccessLevelToProjectFeature, :migration do +describe AddPagesAccessLevelToProjectFeature do let(:namespaces) { table(:namespaces) } let(:projects) { table(:projects) } let(:features) { table(:project_features) } diff --git a/spec/migrations/add_pipeline_build_foreign_key_spec.rb b/spec/migrations/add_pipeline_build_foreign_key_spec.rb index bb40ead9b93..dd0189b6bfc 100644 --- a/spec/migrations/add_pipeline_build_foreign_key_spec.rb +++ b/spec/migrations/add_pipeline_build_foreign_key_spec.rb @@ -3,7 +3,7 @@ require 'spec_helper' require Rails.root.join('db', 'migrate', '20180420010016_add_pipeline_build_foreign_key.rb') -describe AddPipelineBuildForeignKey, :migration do +describe AddPipelineBuildForeignKey do let(:namespaces) { table(:namespaces) } let(:projects) { table(:projects) } let(:pipelines) { table(:ci_pipelines) } diff --git a/spec/migrations/add_temporary_partial_index_on_project_id_to_services_spec.rb b/spec/migrations/add_temporary_partial_index_on_project_id_to_services_spec.rb index 2d12fec5cb3..ce790b0266c 100644 --- a/spec/migrations/add_temporary_partial_index_on_project_id_to_services_spec.rb +++ b/spec/migrations/add_temporary_partial_index_on_project_id_to_services_spec.rb @@ -3,7 +3,7 @@ require 'spec_helper' require Rails.root.join('db', 'post_migrate', '20200114112932_add_temporary_partial_index_on_project_id_to_services.rb') -describe AddTemporaryPartialIndexOnProjectIdToServices, :migration do +describe AddTemporaryPartialIndexOnProjectIdToServices do let(:migration) { described_class.new } describe '#up' do diff --git a/spec/migrations/add_unique_constraint_to_approvals_user_id_and_merge_request_id_spec.rb b/spec/migrations/add_unique_constraint_to_approvals_user_id_and_merge_request_id_spec.rb index cad10ba30ef..74830ab4ce2 100644 --- a/spec/migrations/add_unique_constraint_to_approvals_user_id_and_merge_request_id_spec.rb +++ b/spec/migrations/add_unique_constraint_to_approvals_user_id_and_merge_request_id_spec.rb @@ -3,7 +3,7 @@ require 'spec_helper' require Rails.root.join('db', 'post_migrate', '20190404143330_add_unique_constraint_to_approvals_user_id_and_merge_request_id.rb') -describe AddUniqueConstraintToApprovalsUserIdAndMergeRequestId, :migration do +describe AddUniqueConstraintToApprovalsUserIdAndMergeRequestId do let(:migration) { described_class.new } let(:namespaces) { table(:namespaces) } let(:projects) { table(:projects) } diff --git a/spec/migrations/add_unique_constraint_to_project_features_project_id_spec.rb b/spec/migrations/add_unique_constraint_to_project_features_project_id_spec.rb index 8b128ff5ab8..91abf0f7d1c 100644 --- a/spec/migrations/add_unique_constraint_to_project_features_project_id_spec.rb +++ b/spec/migrations/add_unique_constraint_to_project_features_project_id_spec.rb @@ -3,7 +3,7 @@ require 'spec_helper' require Rails.root.join('db', 'post_migrate', '20180511174224_add_unique_constraint_to_project_features_project_id.rb') -describe AddUniqueConstraintToProjectFeaturesProjectId, :migration do +describe AddUniqueConstraintToProjectFeaturesProjectId do let(:namespaces) { table(:namespaces) } let(:projects) { table(:projects) } let(:features) { table(:project_features) } diff --git a/spec/migrations/assure_commits_count_for_merge_request_diff_spec.rb b/spec/migrations/assure_commits_count_for_merge_request_diff_spec.rb index 17342dcaab3..e9ef6bf3e2d 100644 --- a/spec/migrations/assure_commits_count_for_merge_request_diff_spec.rb +++ b/spec/migrations/assure_commits_count_for_merge_request_diff_spec.rb @@ -3,7 +3,7 @@ require 'spec_helper' require Rails.root.join('db', 'migrate', '20180425131009_assure_commits_count_for_merge_request_diff.rb') -describe AssureCommitsCountForMergeRequestDiff, :migration, :redis do +describe AssureCommitsCountForMergeRequestDiff, :redis do let(:migration) { spy('migration') } before do diff --git a/spec/migrations/backfill_and_add_not_null_constraint_to_released_at_column_on_releases_table_spec.rb b/spec/migrations/backfill_and_add_not_null_constraint_to_released_at_column_on_releases_table_spec.rb index 9cae1daacea..8fceba276ce 100644 --- a/spec/migrations/backfill_and_add_not_null_constraint_to_released_at_column_on_releases_table_spec.rb +++ b/spec/migrations/backfill_and_add_not_null_constraint_to_released_at_column_on_releases_table_spec.rb @@ -3,7 +3,7 @@ require 'spec_helper' require Rails.root.join('db', 'migrate', '20190628185004_backfill_and_add_not_null_constraint_to_released_at_column_on_releases_table.rb') -describe BackfillAndAddNotNullConstraintToReleasedAtColumnOnReleasesTable, :migration do +describe BackfillAndAddNotNullConstraintToReleasedAtColumnOnReleasesTable do let(:releases) { table(:releases) } let(:namespaces) { table(:namespaces) } let(:projects) { table(:projects) } diff --git a/spec/migrations/backfill_operations_feature_flags_active_spec.rb b/spec/migrations/backfill_operations_feature_flags_active_spec.rb index ad69b776052..c51ed9fea8c 100644 --- a/spec/migrations/backfill_operations_feature_flags_active_spec.rb +++ b/spec/migrations/backfill_operations_feature_flags_active_spec.rb @@ -3,7 +3,7 @@ require 'spec_helper' require Rails.root.join('db', 'migrate', '20191213184609_backfill_operations_feature_flags_active.rb') -describe BackfillOperationsFeatureFlagsActive, :migration do +describe BackfillOperationsFeatureFlagsActive do let(:namespaces) { table(:namespaces) } let(:projects) { table(:projects) } let(:flags) { table(:operations_feature_flags) } diff --git a/spec/migrations/backfill_operations_feature_flags_iid_spec.rb b/spec/migrations/backfill_operations_feature_flags_iid_spec.rb index f7a223e794a..4628780787c 100644 --- a/spec/migrations/backfill_operations_feature_flags_iid_spec.rb +++ b/spec/migrations/backfill_operations_feature_flags_iid_spec.rb @@ -3,7 +3,7 @@ require 'spec_helper' require Rails.root.join('db', 'post_migrate', '20200117194850_backfill_operations_feature_flags_iid.rb') -describe BackfillOperationsFeatureFlagsIid, :migration do +describe BackfillOperationsFeatureFlagsIid do let(:namespaces) { table(:namespaces) } let(:projects) { table(:projects) } let(:flags) { table(:operations_feature_flags) } diff --git a/spec/migrations/backfill_releases_name_with_tag_name_spec.rb b/spec/migrations/backfill_releases_name_with_tag_name_spec.rb index 6f436de84b7..b38b8dff3fa 100644 --- a/spec/migrations/backfill_releases_name_with_tag_name_spec.rb +++ b/spec/migrations/backfill_releases_name_with_tag_name_spec.rb @@ -3,7 +3,7 @@ require 'spec_helper' require Rails.root.join('db', 'migrate', '20181212104941_backfill_releases_name_with_tag_name.rb') -describe BackfillReleasesNameWithTagName, :migration do +describe BackfillReleasesNameWithTagName do let(:releases) { table(:releases) } let(:namespaces) { table(:namespaces) } let(:projects) { table(:projects) } diff --git a/spec/migrations/backfill_releases_table_updated_at_and_add_not_null_constraints_to_timestamps_spec.rb b/spec/migrations/backfill_releases_table_updated_at_and_add_not_null_constraints_to_timestamps_spec.rb index 3ca7af8ea37..bf9a8154e1e 100644 --- a/spec/migrations/backfill_releases_table_updated_at_and_add_not_null_constraints_to_timestamps_spec.rb +++ b/spec/migrations/backfill_releases_table_updated_at_and_add_not_null_constraints_to_timestamps_spec.rb @@ -3,7 +3,7 @@ require 'spec_helper' require Rails.root.join('db', 'migrate', '20190920194925_backfill_releases_table_updated_at_and_add_not_null_constraints_to_timestamps.rb') -describe BackfillReleasesTableUpdatedAtAndAddNotNullConstraintsToTimestamps, :migration do +describe BackfillReleasesTableUpdatedAtAndAddNotNullConstraintsToTimestamps do let(:releases) { table(:releases) } let(:namespaces) { table(:namespaces) } let(:projects) { table(:projects) } diff --git a/spec/migrations/backfill_store_project_full_path_in_repo_spec.rb b/spec/migrations/backfill_store_project_full_path_in_repo_spec.rb index 913b4d3f114..a2adde37f11 100644 --- a/spec/migrations/backfill_store_project_full_path_in_repo_spec.rb +++ b/spec/migrations/backfill_store_project_full_path_in_repo_spec.rb @@ -4,7 +4,7 @@ require 'spec_helper' require Rails.root.join('db', 'post_migrate', '20181010133639_backfill_store_project_full_path_in_repo.rb') -describe BackfillStoreProjectFullPathInRepo, :migration do +describe BackfillStoreProjectFullPathInRepo do let(:namespaces) { table(:namespaces) } let(:projects) { table(:projects) } let(:group) { namespaces.create!(name: 'foo', path: 'foo') } diff --git a/spec/migrations/backport_enterprise_schema_spec.rb b/spec/migrations/backport_enterprise_schema_spec.rb index 8d2d9d4953a..c167301e1e3 100644 --- a/spec/migrations/backport_enterprise_schema_spec.rb +++ b/spec/migrations/backport_enterprise_schema_spec.rb @@ -4,7 +4,7 @@ require 'spec_helper' require Rails.root.join('db', 'migrate', '20190402150158_backport_enterprise_schema.rb') -describe BackportEnterpriseSchema, :migration, schema: 20190329085614 do +describe BackportEnterpriseSchema, schema: 20190329085614 do include MigrationsHelpers def drop_if_exists(table) diff --git a/spec/migrations/change_default_value_for_dsa_key_restriction_spec.rb b/spec/migrations/change_default_value_for_dsa_key_restriction_spec.rb index 699708ad1d4..448f1e2106e 100644 --- a/spec/migrations/change_default_value_for_dsa_key_restriction_spec.rb +++ b/spec/migrations/change_default_value_for_dsa_key_restriction_spec.rb @@ -3,7 +3,7 @@ require 'spec_helper' require Rails.root.join('db', 'migrate', '20180531220618_change_default_value_for_dsa_key_restriction.rb') -describe ChangeDefaultValueForDsaKeyRestriction, :migration do +describe ChangeDefaultValueForDsaKeyRestriction do let(:application_settings) { table(:application_settings) } before do diff --git a/spec/migrations/change_outbound_local_requests_whitelist_default_spec.rb b/spec/migrations/change_outbound_local_requests_whitelist_default_spec.rb index 232f6f090c3..dd45cac4a70 100644 --- a/spec/migrations/change_outbound_local_requests_whitelist_default_spec.rb +++ b/spec/migrations/change_outbound_local_requests_whitelist_default_spec.rb @@ -3,7 +3,7 @@ require 'spec_helper' require Rails.root.join('db', 'migrate', '20190725012225_change_outbound_local_requests_whitelist_default.rb') -describe ChangeOutboundLocalRequestsWhitelistDefault, :migration do +describe ChangeOutboundLocalRequestsWhitelistDefault do let(:application_settings) { table(:application_settings) } it 'defaults to empty array' do diff --git a/spec/migrations/change_packages_size_defaults_in_project_statistics_spec.rb b/spec/migrations/change_packages_size_defaults_in_project_statistics_spec.rb index 93e7e9304b1..c36506643de 100644 --- a/spec/migrations/change_packages_size_defaults_in_project_statistics_spec.rb +++ b/spec/migrations/change_packages_size_defaults_in_project_statistics_spec.rb @@ -3,7 +3,7 @@ require 'spec_helper' require Rails.root.join('db', 'migrate', '20190516155724_change_packages_size_defaults_in_project_statistics.rb') -describe ChangePackagesSizeDefaultsInProjectStatistics, :migration do +describe ChangePackagesSizeDefaultsInProjectStatistics do let(:project_statistics) { table(:project_statistics) } let(:projects) { table(:projects) } diff --git a/spec/migrations/clean_grafana_url_spec.rb b/spec/migrations/clean_grafana_url_spec.rb index 9f060fbaf7d..f6ea88a6f8d 100644 --- a/spec/migrations/clean_grafana_url_spec.rb +++ b/spec/migrations/clean_grafana_url_spec.rb @@ -3,7 +3,7 @@ require 'spec_helper' require Rails.root.join('db', 'migrate', '20200214085940_clean_grafana_url.rb') -describe CleanGrafanaUrl, :migration do +describe CleanGrafanaUrl do let(:application_settings_table) { table(:application_settings) } [ diff --git a/spec/migrations/clean_up_noteable_id_for_notes_on_commits_spec.rb b/spec/migrations/clean_up_noteable_id_for_notes_on_commits_spec.rb index 572b7dfd0c8..602e1c1fe93 100644 --- a/spec/migrations/clean_up_noteable_id_for_notes_on_commits_spec.rb +++ b/spec/migrations/clean_up_noteable_id_for_notes_on_commits_spec.rb @@ -3,7 +3,7 @@ require 'spec_helper' require Rails.root.join('db', 'post_migrate', '20190313092516_clean_up_noteable_id_for_notes_on_commits.rb') -describe CleanUpNoteableIdForNotesOnCommits, :migration do +describe CleanUpNoteableIdForNotesOnCommits do let(:notes) { table(:notes) } before do diff --git a/spec/migrations/cleanup_build_stage_migration_spec.rb b/spec/migrations/cleanup_build_stage_migration_spec.rb index 2142b7b5275..961e719e2fc 100644 --- a/spec/migrations/cleanup_build_stage_migration_spec.rb +++ b/spec/migrations/cleanup_build_stage_migration_spec.rb @@ -3,7 +3,7 @@ require 'spec_helper' require Rails.root.join('db', 'migrate', '20180420010616_cleanup_build_stage_migration.rb') -describe CleanupBuildStageMigration, :migration, :redis do +describe CleanupBuildStageMigration, :redis do let(:migration) { spy('migration') } before do diff --git a/spec/migrations/cleanup_environments_external_url_spec.rb b/spec/migrations/cleanup_environments_external_url_spec.rb index bc20f936593..54fcb8c62cd 100644 --- a/spec/migrations/cleanup_environments_external_url_spec.rb +++ b/spec/migrations/cleanup_environments_external_url_spec.rb @@ -3,7 +3,7 @@ require 'spec_helper' require Rails.root.join('db', 'migrate', '20181108091549_cleanup_environments_external_url.rb') -describe CleanupEnvironmentsExternalUrl, :migration do +describe CleanupEnvironmentsExternalUrl do let(:environments) { table(:environments) } let(:invalid_entries) { environments.where(environments.arel_table[:external_url].matches('javascript://%')) } let(:namespaces) { table(:namespaces) } diff --git a/spec/migrations/cleanup_legacy_artifact_migration_spec.rb b/spec/migrations/cleanup_legacy_artifact_migration_spec.rb index 0ab7d7ec05f..29a5c34373c 100644 --- a/spec/migrations/cleanup_legacy_artifact_migration_spec.rb +++ b/spec/migrations/cleanup_legacy_artifact_migration_spec.rb @@ -3,7 +3,7 @@ require 'spec_helper' require Rails.root.join('db', 'migrate', '20190104182041_cleanup_legacy_artifact_migration.rb') -describe CleanupLegacyArtifactMigration, :migration, :redis do +describe CleanupLegacyArtifactMigration, :redis do let(:migration) { spy('migration') } context 'when still legacy artifacts exist' do diff --git a/spec/migrations/cleanup_optimistic_locking_nulls_spec.rb b/spec/migrations/cleanup_optimistic_locking_nulls_spec.rb index bec8435b2f0..d32a374b914 100644 --- a/spec/migrations/cleanup_optimistic_locking_nulls_spec.rb +++ b/spec/migrations/cleanup_optimistic_locking_nulls_spec.rb @@ -3,7 +3,7 @@ require 'spec_helper' require Rails.root.join('db', 'post_migrate', '20200128210353_cleanup_optimistic_locking_nulls') -describe CleanupOptimisticLockingNulls, :migration do +describe CleanupOptimisticLockingNulls do TABLES = %w(epics merge_requests issues).freeze TABLES.each do |table| let(table.to_sym) { table(table.to_sym) } diff --git a/spec/migrations/cleanup_stages_position_migration_spec.rb b/spec/migrations/cleanup_stages_position_migration_spec.rb index c2077629919..62b9c4e84e3 100644 --- a/spec/migrations/cleanup_stages_position_migration_spec.rb +++ b/spec/migrations/cleanup_stages_position_migration_spec.rb @@ -3,7 +3,7 @@ require 'spec_helper' require Rails.root.join('db', 'post_migrate', '20180604123514_cleanup_stages_position_migration.rb') -describe CleanupStagesPositionMigration, :migration, :redis do +describe CleanupStagesPositionMigration, :redis do let(:migration) { spy('migration') } before do diff --git a/spec/migrations/create_environment_for_self_monitoring_project_spec.rb b/spec/migrations/create_environment_for_self_monitoring_project_spec.rb index ba1081c5006..aee0651dee0 100644 --- a/spec/migrations/create_environment_for_self_monitoring_project_spec.rb +++ b/spec/migrations/create_environment_for_self_monitoring_project_spec.rb @@ -3,7 +3,7 @@ require 'spec_helper' require Rails.root.join('db', 'post_migrate', '20200214214934_create_environment_for_self_monitoring_project') -describe CreateEnvironmentForSelfMonitoringProject, :migration do +describe CreateEnvironmentForSelfMonitoringProject do let(:application_settings_table) { table(:application_settings) } let(:environments) { table(:environments) } diff --git a/spec/migrations/create_missing_namespace_for_internal_users_spec.rb b/spec/migrations/create_missing_namespace_for_internal_users_spec.rb index 5df08a74e56..0872f23c02e 100644 --- a/spec/migrations/create_missing_namespace_for_internal_users_spec.rb +++ b/spec/migrations/create_missing_namespace_for_internal_users_spec.rb @@ -3,7 +3,7 @@ require 'spec_helper' require Rails.root.join('db', 'migrate', '20180413022611_create_missing_namespace_for_internal_users.rb') -describe CreateMissingNamespaceForInternalUsers, :migration do +describe CreateMissingNamespaceForInternalUsers do let(:users) { table(:users) } let(:namespaces) { table(:namespaces) } let(:routes) { table(:routes) } diff --git a/spec/migrations/delete_internal_ids_where_feature_flags_usage_spec.rb b/spec/migrations/delete_internal_ids_where_feature_flags_usage_spec.rb index b9c6b489aca..6eecd0870ed 100644 --- a/spec/migrations/delete_internal_ids_where_feature_flags_usage_spec.rb +++ b/spec/migrations/delete_internal_ids_where_feature_flags_usage_spec.rb @@ -3,7 +3,7 @@ require 'spec_helper' require Rails.root.join('db', 'post_migrate', '20200117194900_delete_internal_ids_where_feature_flags_usage') -describe DeleteInternalIdsWhereFeatureFlagsUsage, :migration do +describe DeleteInternalIdsWhereFeatureFlagsUsage do let(:namespaces) { table(:namespaces) } let(:projects) { table(:projects) } let(:internal_ids) { table(:internal_ids) } diff --git a/spec/migrations/delete_template_services_duplicated_by_type_spec.rb b/spec/migrations/delete_template_services_duplicated_by_type_spec.rb index 80645b1f162..64da0664e2c 100644 --- a/spec/migrations/delete_template_services_duplicated_by_type_spec.rb +++ b/spec/migrations/delete_template_services_duplicated_by_type_spec.rb @@ -3,7 +3,7 @@ require 'spec_helper' require Rails.root.join('db', 'migrate', '20200304160801_delete_template_services_duplicated_by_type.rb') -describe DeleteTemplateServicesDuplicatedByType, :migration do +describe DeleteTemplateServicesDuplicatedByType do let(:services) { table(:services) } before do diff --git a/spec/migrations/drop_activate_prometheus_services_background_jobs_spec.rb b/spec/migrations/drop_activate_prometheus_services_background_jobs_spec.rb index 0e9a3418e29..a02a0819a7b 100644 --- a/spec/migrations/drop_activate_prometheus_services_background_jobs_spec.rb +++ b/spec/migrations/drop_activate_prometheus_services_background_jobs_spec.rb @@ -3,7 +3,7 @@ require 'spec_helper' require Rails.root.join('db', 'migrate', '20200221144534_drop_activate_prometheus_services_background_jobs.rb') -describe DropActivatePrometheusServicesBackgroundJobs, :sidekiq, :redis, :migration, schema: 2020_02_21_144534 do +describe DropActivatePrometheusServicesBackgroundJobs, :sidekiq, :redis, schema: 2020_02_21_144534 do subject(:migration) { described_class.new } describe '#up' do diff --git a/spec/migrations/drop_background_migration_jobs_spec.rb b/spec/migrations/drop_background_migration_jobs_spec.rb index ac76e897f6c..d9e0561f326 100644 --- a/spec/migrations/drop_background_migration_jobs_spec.rb +++ b/spec/migrations/drop_background_migration_jobs_spec.rb @@ -3,7 +3,7 @@ require 'spec_helper' require Rails.root.join('db', 'migrate', '20200116051619_drop_background_migration_jobs.rb') -describe DropBackgroundMigrationJobs, :sidekiq, :redis, :migration, schema: 2020_01_16_051619 do +describe DropBackgroundMigrationJobs, :sidekiq, :redis, schema: 2020_01_16_051619 do subject(:migration) { described_class.new } describe '#up' do diff --git a/spec/migrations/drop_duplicate_protected_tags_spec.rb b/spec/migrations/drop_duplicate_protected_tags_spec.rb index 7f0c7efbf66..7135a15484c 100644 --- a/spec/migrations/drop_duplicate_protected_tags_spec.rb +++ b/spec/migrations/drop_duplicate_protected_tags_spec.rb @@ -3,7 +3,7 @@ require 'spec_helper' require Rails.root.join('db', 'migrate', '20180711103851_drop_duplicate_protected_tags.rb') -describe DropDuplicateProtectedTags, :migration do +describe DropDuplicateProtectedTags do let(:namespaces) { table(:namespaces) } let(:projects) { table(:projects) } let(:protected_tags) { table(:protected_tags) } diff --git a/spec/migrations/drop_project_ci_cd_settings_merge_trains_enabled_spec.rb b/spec/migrations/drop_project_ci_cd_settings_merge_trains_enabled_spec.rb index 1b0e6e140ca..9166f626922 100644 --- a/spec/migrations/drop_project_ci_cd_settings_merge_trains_enabled_spec.rb +++ b/spec/migrations/drop_project_ci_cd_settings_merge_trains_enabled_spec.rb @@ -3,7 +3,7 @@ require 'spec_helper' require Rails.root.join('db', 'post_migrate', '20191128162854_drop_project_ci_cd_settings_merge_trains_enabled.rb') -describe DropProjectCiCdSettingsMergeTrainsEnabled, :migration do +describe DropProjectCiCdSettingsMergeTrainsEnabled do let!(:project_ci_cd_setting) { table(:project_ci_cd_settings) } it 'correctly migrates up and down' do diff --git a/spec/migrations/encrypt_deploy_tokens_tokens_spec.rb b/spec/migrations/encrypt_deploy_tokens_tokens_spec.rb index a398e079731..4d0a0b31571 100644 --- a/spec/migrations/encrypt_deploy_tokens_tokens_spec.rb +++ b/spec/migrations/encrypt_deploy_tokens_tokens_spec.rb @@ -4,7 +4,7 @@ require 'spec_helper' require Rails.root.join('db', 'post_migrate', '20190711201818_encrypt_deploy_tokens_tokens.rb') -describe EncryptDeployTokensTokens, :migration do +describe EncryptDeployTokensTokens do let(:migration) { described_class.new } let(:deployment_tokens) { table(:deploy_tokens) } let(:plaintext) { "secret-token" } diff --git a/spec/migrations/encrypt_feature_flags_clients_tokens_spec.rb b/spec/migrations/encrypt_feature_flags_clients_tokens_spec.rb index 95b02d20594..9b139c4b57b 100644 --- a/spec/migrations/encrypt_feature_flags_clients_tokens_spec.rb +++ b/spec/migrations/encrypt_feature_flags_clients_tokens_spec.rb @@ -3,7 +3,7 @@ require 'spec_helper' require Rails.root.join('db', 'post_migrate', '20190606175050_encrypt_feature_flags_clients_tokens.rb') -describe EncryptFeatureFlagsClientsTokens, :migration do +describe EncryptFeatureFlagsClientsTokens do let(:migration) { described_class.new } let(:feature_flags_clients) { table(:operations_feature_flags_clients) } let(:projects) { table(:projects) } diff --git a/spec/migrations/encrypt_plaintext_attributes_on_application_settings_spec.rb b/spec/migrations/encrypt_plaintext_attributes_on_application_settings_spec.rb index 122da7b3d72..87a72ed0cf5 100644 --- a/spec/migrations/encrypt_plaintext_attributes_on_application_settings_spec.rb +++ b/spec/migrations/encrypt_plaintext_attributes_on_application_settings_spec.rb @@ -3,7 +3,7 @@ require 'spec_helper' require Rails.root.join('db', 'migrate', '20191120115530_encrypt_plaintext_attributes_on_application_settings.rb') -describe EncryptPlaintextAttributesOnApplicationSettings, :migration do +describe EncryptPlaintextAttributesOnApplicationSettings do let(:migration) { described_class.new } let(:application_settings) { table(:application_settings) } let(:plaintext) { 'secret-token' } diff --git a/spec/migrations/enqueue_reset_merge_status_second_run_spec.rb b/spec/migrations/enqueue_reset_merge_status_second_run_spec.rb index bdc248f2cf2..d4cf3d15758 100644 --- a/spec/migrations/enqueue_reset_merge_status_second_run_spec.rb +++ b/spec/migrations/enqueue_reset_merge_status_second_run_spec.rb @@ -3,7 +3,7 @@ require 'spec_helper' require Rails.root.join('db', 'post_migrate', '20190620112608_enqueue_reset_merge_status_second_run.rb') -describe EnqueueResetMergeStatusSecondRun, :migration do +describe EnqueueResetMergeStatusSecondRun do let(:namespaces) { table(:namespaces) } let(:projects) { table(:projects) } let(:namespace) { namespaces.create(name: 'gitlab', path: 'gitlab-org') } diff --git a/spec/migrations/enqueue_reset_merge_status_spec.rb b/spec/migrations/enqueue_reset_merge_status_spec.rb index 4b312a3bc62..9728ada14ba 100644 --- a/spec/migrations/enqueue_reset_merge_status_spec.rb +++ b/spec/migrations/enqueue_reset_merge_status_spec.rb @@ -3,7 +3,7 @@ require 'spec_helper' require Rails.root.join('db', 'post_migrate', '20190528180441_enqueue_reset_merge_status.rb') -describe EnqueueResetMergeStatus, :migration do +describe EnqueueResetMergeStatus do let(:namespaces) { table(:namespaces) } let(:projects) { table(:projects) } let(:namespace) { namespaces.create(name: 'gitlab', path: 'gitlab-org') } diff --git a/spec/migrations/enqueue_verify_pages_domain_workers_spec.rb b/spec/migrations/enqueue_verify_pages_domain_workers_spec.rb index 8efaab871a1..ffb1c04a6c5 100644 --- a/spec/migrations/enqueue_verify_pages_domain_workers_spec.rb +++ b/spec/migrations/enqueue_verify_pages_domain_workers_spec.rb @@ -3,7 +3,7 @@ require 'spec_helper' require Rails.root.join('db', 'post_migrate', '20180216121030_enqueue_verify_pages_domain_workers') -describe EnqueueVerifyPagesDomainWorkers, :migration do +describe EnqueueVerifyPagesDomainWorkers do around do |example| Sidekiq::Testing.fake! do example.run diff --git a/spec/migrations/fill_empty_finished_at_in_deployments_spec.rb b/spec/migrations/fill_empty_finished_at_in_deployments_spec.rb index 50ecf083f27..546a805dec8 100644 --- a/spec/migrations/fill_empty_finished_at_in_deployments_spec.rb +++ b/spec/migrations/fill_empty_finished_at_in_deployments_spec.rb @@ -3,7 +3,7 @@ require 'spec_helper' require Rails.root.join('db', 'post_migrate', '20181030135124_fill_empty_finished_at_in_deployments') -describe FillEmptyFinishedAtInDeployments, :migration do +describe FillEmptyFinishedAtInDeployments do let(:namespaces) { table(:namespaces) } let(:projects) { table(:projects) } let(:environments) { table(:environments) } diff --git a/spec/migrations/fill_file_store_spec.rb b/spec/migrations/fill_file_store_spec.rb index 806c9283634..732fdc2a0bb 100644 --- a/spec/migrations/fill_file_store_spec.rb +++ b/spec/migrations/fill_file_store_spec.rb @@ -3,7 +3,7 @@ require 'spec_helper' require Rails.root.join('db', 'post_migrate', '20180424151928_fill_file_store') -describe FillFileStore, :migration do +describe FillFileStore do let(:namespaces) { table(:namespaces) } let(:projects) { table(:projects) } let(:builds) { table(:ci_builds) } diff --git a/spec/migrations/fill_productivity_analytics_start_date_spec.rb b/spec/migrations/fill_productivity_analytics_start_date_spec.rb index 7cbba9ef20e..4ae7b0eed24 100644 --- a/spec/migrations/fill_productivity_analytics_start_date_spec.rb +++ b/spec/migrations/fill_productivity_analytics_start_date_spec.rb @@ -3,7 +3,7 @@ require 'spec_helper' require Rails.root.join('db', 'migrate', '20191004081520_fill_productivity_analytics_start_date.rb') -describe FillProductivityAnalyticsStartDate, :migration do +describe FillProductivityAnalyticsStartDate do let(:settings_table) { table('application_settings') } let(:metrics_table) { table('merge_request_metrics') } diff --git a/spec/migrations/fix_max_pages_size_spec.rb b/spec/migrations/fix_max_pages_size_spec.rb index 36b5445603e..9882cda7fba 100644 --- a/spec/migrations/fix_max_pages_size_spec.rb +++ b/spec/migrations/fix_max_pages_size_spec.rb @@ -3,7 +3,7 @@ require 'spec_helper' require Rails.root.join('db', 'migrate', '20191213120427_fix_max_pages_size.rb') -describe FixMaxPagesSize, :migration do +describe FixMaxPagesSize do let(:application_settings) { table(:application_settings) } let!(:default_setting) { application_settings.create! } let!(:max_possible_setting) { application_settings.create!(max_pages_size: described_class::MAX_SIZE) } diff --git a/spec/migrations/fix_null_type_labels_spec.rb b/spec/migrations/fix_null_type_labels_spec.rb index 462ae9b913f..b098141c5e9 100644 --- a/spec/migrations/fix_null_type_labels_spec.rb +++ b/spec/migrations/fix_null_type_labels_spec.rb @@ -3,7 +3,7 @@ require 'spec_helper' require Rails.root.join('db', 'post_migrate', '20190131122559_fix_null_type_labels') -describe FixNullTypeLabels, :migration do +describe FixNullTypeLabels do let(:migration) { described_class.new } let(:projects) { table(:projects) } let(:namespaces) { table(:namespaces) } diff --git a/spec/migrations/fix_pool_repository_source_project_id_spec.rb b/spec/migrations/fix_pool_repository_source_project_id_spec.rb index 8ddee9bb575..5a878dba6e7 100644 --- a/spec/migrations/fix_pool_repository_source_project_id_spec.rb +++ b/spec/migrations/fix_pool_repository_source_project_id_spec.rb @@ -3,7 +3,7 @@ require 'spec_helper' require Rails.root.join('db', 'migrate', '20190604184643_fix_pool_repository_source_project_id.rb') -describe FixPoolRepositorySourceProjectId, :migration do +describe FixPoolRepositorySourceProjectId do let(:projects) { table(:projects) } let(:pool_repositories) { table(:pool_repositories) } let(:shards) { table(:shards) } diff --git a/spec/migrations/fix_projects_without_project_feature_spec.rb b/spec/migrations/fix_projects_without_project_feature_spec.rb index 6e0345da078..01413261008 100644 --- a/spec/migrations/fix_projects_without_project_feature_spec.rb +++ b/spec/migrations/fix_projects_without_project_feature_spec.rb @@ -3,7 +3,7 @@ require 'spec_helper' require Rails.root.join('db', 'post_migrate', '20200127111840_fix_projects_without_project_feature.rb') -describe FixProjectsWithoutProjectFeature, :migration do +describe FixProjectsWithoutProjectFeature do let(:namespace) { table(:namespaces).create(name: 'gitlab', path: 'gitlab-org') } let!(:projects) do diff --git a/spec/migrations/fix_wrong_pages_access_level_spec.rb b/spec/migrations/fix_wrong_pages_access_level_spec.rb index 73d8218b95c..e0d09add740 100644 --- a/spec/migrations/fix_wrong_pages_access_level_spec.rb +++ b/spec/migrations/fix_wrong_pages_access_level_spec.rb @@ -3,7 +3,7 @@ require 'spec_helper' require Rails.root.join('db', 'post_migrate', '20190703185326_fix_wrong_pages_access_level.rb') -describe FixWrongPagesAccessLevel, :migration, :sidekiq_might_not_need_inline, schema: 20190628185004 do +describe FixWrongPagesAccessLevel, :sidekiq_might_not_need_inline, schema: 20190628185004 do using RSpec::Parameterized::TableSyntax let(:migration_class) { described_class::MIGRATION } diff --git a/spec/migrations/generate_lets_encrypt_private_key_spec.rb b/spec/migrations/generate_lets_encrypt_private_key_spec.rb index 7746ba46446..c0cb39fd519 100644 --- a/spec/migrations/generate_lets_encrypt_private_key_spec.rb +++ b/spec/migrations/generate_lets_encrypt_private_key_spec.rb @@ -3,7 +3,7 @@ require 'spec_helper' require Rails.root.join('db', 'migrate', '20190524062810_generate_lets_encrypt_private_key.rb') -describe GenerateLetsEncryptPrivateKey, :migration do +describe GenerateLetsEncryptPrivateKey do describe '#up' do it 'does not fail' do expect do diff --git a/spec/migrations/generate_missing_routes_spec.rb b/spec/migrations/generate_missing_routes_spec.rb index a4a25951ff0..3ff220aa8d3 100644 --- a/spec/migrations/generate_missing_routes_spec.rb +++ b/spec/migrations/generate_missing_routes_spec.rb @@ -3,7 +3,7 @@ require 'spec_helper' require Rails.root.join('db', 'migrate', '20180702134423_generate_missing_routes.rb') -describe GenerateMissingRoutes, :migration do +describe GenerateMissingRoutes do describe '#up' do let(:namespaces) { table(:namespaces) } let(:projects) { table(:projects) } diff --git a/spec/migrations/import_common_metrics_spec.rb b/spec/migrations/import_common_metrics_spec.rb index 1001629007c..8c28b46cb38 100644 --- a/spec/migrations/import_common_metrics_spec.rb +++ b/spec/migrations/import_common_metrics_spec.rb @@ -3,7 +3,7 @@ require 'spec_helper' require Rails.root.join('db', 'migrate', '20180831164910_import_common_metrics.rb') -describe ImportCommonMetrics, :migration do +describe ImportCommonMetrics do describe '#up' do it "imports all prometheus metrics" do expect(PrometheusMetric.common).to be_empty diff --git a/spec/migrations/insert_project_hooks_plan_limits_spec.rb b/spec/migrations/insert_project_hooks_plan_limits_spec.rb index abc2ccd0507..e4bdda4cf5e 100644 --- a/spec/migrations/insert_project_hooks_plan_limits_spec.rb +++ b/spec/migrations/insert_project_hooks_plan_limits_spec.rb @@ -3,7 +3,7 @@ require 'spec_helper' require Rails.root.join('db', 'migrate', '20191216183532_insert_project_hooks_plan_limits.rb') -describe InsertProjectHooksPlanLimits, :migration do +describe InsertProjectHooksPlanLimits do let(:migration) { described_class.new } let(:plans) { table(:plans) } let(:plan_limits) { table(:plan_limits) } diff --git a/spec/migrations/migrate_auto_dev_ops_domain_to_cluster_domain_spec.rb b/spec/migrations/migrate_auto_dev_ops_domain_to_cluster_domain_spec.rb index 349cffea70e..9188c19f76a 100644 --- a/spec/migrations/migrate_auto_dev_ops_domain_to_cluster_domain_spec.rb +++ b/spec/migrations/migrate_auto_dev_ops_domain_to_cluster_domain_spec.rb @@ -3,7 +3,7 @@ require 'spec_helper' require Rails.root.join('db', 'post_migrate', '20190204115450_migrate_auto_dev_ops_domain_to_cluster_domain.rb') -describe MigrateAutoDevOpsDomainToClusterDomain, :migration do +describe MigrateAutoDevOpsDomainToClusterDomain do include MigrationHelpers::ClusterHelpers let(:migration) { described_class.new } diff --git a/spec/migrations/migrate_code_owner_approval_status_to_protected_branches_in_batches_spec.rb b/spec/migrations/migrate_code_owner_approval_status_to_protected_branches_in_batches_spec.rb index 67ac40d4d39..cda965135b0 100644 --- a/spec/migrations/migrate_code_owner_approval_status_to_protected_branches_in_batches_spec.rb +++ b/spec/migrations/migrate_code_owner_approval_status_to_protected_branches_in_batches_spec.rb @@ -3,7 +3,7 @@ require 'spec_helper' require Rails.root.join('db', 'post_migrate', '20190827102026_migrate_code_owner_approval_status_to_protected_branches_in_batches.rb') -describe MigrateCodeOwnerApprovalStatusToProtectedBranchesInBatches, :migration do +describe MigrateCodeOwnerApprovalStatusToProtectedBranchesInBatches do let(:namespaces) { table(:namespaces) } let(:projects) { table(:projects) } let(:protected_branches) { table(:protected_branches) } diff --git a/spec/migrations/migrate_discussion_id_on_promoted_epics_spec.rb b/spec/migrations/migrate_discussion_id_on_promoted_epics_spec.rb index deeea74bd3b..0a8975402da 100644 --- a/spec/migrations/migrate_discussion_id_on_promoted_epics_spec.rb +++ b/spec/migrations/migrate_discussion_id_on_promoted_epics_spec.rb @@ -3,7 +3,7 @@ require 'spec_helper' require Rails.root.join('db', 'post_migrate', '20190715193142_migrate_discussion_id_on_promoted_epics.rb') -describe MigrateDiscussionIdOnPromotedEpics, :migration do +describe MigrateDiscussionIdOnPromotedEpics do let(:migration_class) { described_class::MIGRATION } let(:migration_name) { migration_class.to_s.demodulize } diff --git a/spec/migrations/migrate_forbidden_redirect_uris_spec.rb b/spec/migrations/migrate_forbidden_redirect_uris_spec.rb index 0bc13a3974a..7c3cc9f07c8 100644 --- a/spec/migrations/migrate_forbidden_redirect_uris_spec.rb +++ b/spec/migrations/migrate_forbidden_redirect_uris_spec.rb @@ -3,7 +3,7 @@ require 'spec_helper' require Rails.root.join('db', 'post_migrate', '20181026091631_migrate_forbidden_redirect_uris.rb') -describe MigrateForbiddenRedirectUris, :migration do +describe MigrateForbiddenRedirectUris do let(:oauth_application) { table(:oauth_applications) } let(:oauth_access_grant) { table(:oauth_access_grants) } diff --git a/spec/migrations/migrate_k8s_service_integration_spec.rb b/spec/migrations/migrate_k8s_service_integration_spec.rb index 4dd0c09632a..660e958eb42 100644 --- a/spec/migrations/migrate_k8s_service_integration_spec.rb +++ b/spec/migrations/migrate_k8s_service_integration_spec.rb @@ -3,7 +3,7 @@ require 'spec_helper' require Rails.root.join('db', 'post_migrate', '20190517153211_migrate_k8s_service_integration.rb') -describe MigrateK8sServiceIntegration, :migration do +describe MigrateK8sServiceIntegration do context 'template service' do context 'with namespace' do let!(:service) do diff --git a/spec/migrations/migrate_legacy_artifacts_to_job_artifacts_spec.rb b/spec/migrations/migrate_legacy_artifacts_to_job_artifacts_spec.rb index d6259023c01..5133afdf5b0 100644 --- a/spec/migrations/migrate_legacy_artifacts_to_job_artifacts_spec.rb +++ b/spec/migrations/migrate_legacy_artifacts_to_job_artifacts_spec.rb @@ -3,7 +3,7 @@ require 'spec_helper' require Rails.root.join('db', 'post_migrate', '20180816161409_migrate_legacy_artifacts_to_job_artifacts.rb') -describe MigrateLegacyArtifactsToJobArtifacts, :migration do +describe MigrateLegacyArtifactsToJobArtifacts do let(:migration_class) { Gitlab::BackgroundMigration::MigrateLegacyArtifacts } let(:migration_name) { migration_class.to_s.demodulize } diff --git a/spec/migrations/migrate_legacy_managed_clusters_to_unmanaged_spec.rb b/spec/migrations/migrate_legacy_managed_clusters_to_unmanaged_spec.rb index 93426f1f273..e3462e1d6bd 100644 --- a/spec/migrations/migrate_legacy_managed_clusters_to_unmanaged_spec.rb +++ b/spec/migrations/migrate_legacy_managed_clusters_to_unmanaged_spec.rb @@ -3,7 +3,7 @@ require 'spec_helper' require Rails.root.join('db', 'post_migrate', '20190606163724_migrate_legacy_managed_clusters_to_unmanaged.rb') -describe MigrateLegacyManagedClustersToUnmanaged, :migration do +describe MigrateLegacyManagedClustersToUnmanaged do let(:cluster_type) { 'project_type' } let(:created_at) { 1.hour.ago } 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 index b73bd16cb60..2931fba3eb2 100644 --- 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 @@ -3,7 +3,7 @@ require 'spec_helper' require Rails.root.join('db', 'post_migrate', '20190613231640_migrate_managed_clusters_with_no_token_to_unmanaged.rb') -describe MigrateManagedClustersWithNoTokenToUnmanaged, :migration do +describe MigrateManagedClustersWithNoTokenToUnmanaged do let(:cluster_type) { 'project_type' } let(:created_at) { Date.new(2018, 11, 1).midnight } diff --git a/spec/migrations/migrate_null_wiki_access_levels_spec.rb b/spec/migrations/migrate_null_wiki_access_levels_spec.rb index f99273072a2..f4753f67e17 100644 --- a/spec/migrations/migrate_null_wiki_access_levels_spec.rb +++ b/spec/migrations/migrate_null_wiki_access_levels_spec.rb @@ -3,7 +3,7 @@ require 'spec_helper' require Rails.root.join('db', 'post_migrate', '20180809195358_migrate_null_wiki_access_levels.rb') -describe MigrateNullWikiAccessLevels, :migration do +describe MigrateNullWikiAccessLevels do let(:namespaces) { table('namespaces') } let(:projects) { table(:projects) } let(:project_features) { table(:project_features) } diff --git a/spec/migrations/migrate_ops_feature_flags_scopes_target_user_ids_spec.rb b/spec/migrations/migrate_ops_feature_flags_scopes_target_user_ids_spec.rb index 5f865579c96..fc5d814a2de 100644 --- a/spec/migrations/migrate_ops_feature_flags_scopes_target_user_ids_spec.rb +++ b/spec/migrations/migrate_ops_feature_flags_scopes_target_user_ids_spec.rb @@ -3,7 +3,7 @@ require 'spec_helper' require Rails.root.join('db', 'post_migrate', '20191118211629_migrate_ops_feature_flags_scopes_target_user_ids.rb') -describe MigrateOpsFeatureFlagsScopesTargetUserIds, :migration do +describe MigrateOpsFeatureFlagsScopesTargetUserIds do let(:namespaces) { table(:namespaces) } let(:projects) { table(:projects) } let(:flags) { table(:operations_feature_flags) } diff --git a/spec/migrations/move_limits_from_plans_spec.rb b/spec/migrations/move_limits_from_plans_spec.rb index 693d6ecb2c1..aeb36100205 100644 --- a/spec/migrations/move_limits_from_plans_spec.rb +++ b/spec/migrations/move_limits_from_plans_spec.rb @@ -3,7 +3,7 @@ require 'spec_helper' require Rails.root.join('db', 'migrate', '20191030152934_move_limits_from_plans.rb') -describe MoveLimitsFromPlans, :migration do +describe MoveLimitsFromPlans do let(:plans) { table(:plans) } let(:plan_limits) { table(:plan_limits) } diff --git a/spec/migrations/nullify_users_role_spec.rb b/spec/migrations/nullify_users_role_spec.rb index ad25e4885ef..487d84e2a35 100644 --- a/spec/migrations/nullify_users_role_spec.rb +++ b/spec/migrations/nullify_users_role_spec.rb @@ -3,7 +3,7 @@ require 'spec_helper' require Rails.root.join('db', 'post_migrate', '20191104142124_nullify_users_role.rb') -describe NullifyUsersRole, :migration do +describe NullifyUsersRole do let(:users) { table(:users) } before do diff --git a/spec/migrations/populate_project_statistics_packages_size_spec.rb b/spec/migrations/populate_project_statistics_packages_size_spec.rb index 4ad91342f25..c316a4bc8b7 100644 --- a/spec/migrations/populate_project_statistics_packages_size_spec.rb +++ b/spec/migrations/populate_project_statistics_packages_size_spec.rb @@ -3,7 +3,7 @@ require 'spec_helper' require Rails.root.join('db', 'post_migrate', '20190418132125_populate_project_statistics_packages_size.rb') -describe PopulateProjectStatisticsPackagesSize, :migration do +describe PopulateProjectStatisticsPackagesSize do let(:project_statistics) { table(:project_statistics) } let(:namespaces) { table(:namespaces) } let(:projects) { table(:projects) } diff --git a/spec/migrations/populate_rule_type_on_approval_merge_request_rules_spec.rb b/spec/migrations/populate_rule_type_on_approval_merge_request_rules_spec.rb index 99dfb165173..d6362528068 100644 --- a/spec/migrations/populate_rule_type_on_approval_merge_request_rules_spec.rb +++ b/spec/migrations/populate_rule_type_on_approval_merge_request_rules_spec.rb @@ -3,7 +3,7 @@ require 'spec_helper' require Rails.root.join('db', 'post_migrate', '20190520201748_populate_rule_type_on_approval_merge_request_rules.rb') -describe PopulateRuleTypeOnApprovalMergeRequestRules, :migration do +describe PopulateRuleTypeOnApprovalMergeRequestRules do let(:migration) { described_class.new } describe '#up' do diff --git a/spec/migrations/remove_empty_extern_uid_auth0_identities_spec.rb b/spec/migrations/remove_empty_extern_uid_auth0_identities_spec.rb index ad1bcf37732..5be8706cacf 100644 --- a/spec/migrations/remove_empty_extern_uid_auth0_identities_spec.rb +++ b/spec/migrations/remove_empty_extern_uid_auth0_identities_spec.rb @@ -3,7 +3,7 @@ require 'spec_helper' require Rails.root.join('db', 'post_migrate', '20180220150310_remove_empty_extern_uid_auth0_identities.rb') -describe RemoveEmptyExternUidAuth0Identities, :migration do +describe RemoveEmptyExternUidAuth0Identities do let(:identities) { table(:identities) } before do diff --git a/spec/migrations/remove_empty_github_service_templates_spec.rb b/spec/migrations/remove_empty_github_service_templates_spec.rb index c128c8538db..51b29ec6efc 100644 --- a/spec/migrations/remove_empty_github_service_templates_spec.rb +++ b/spec/migrations/remove_empty_github_service_templates_spec.rb @@ -3,7 +3,7 @@ require 'spec_helper' require Rails.root.join('db', 'post_migrate', '20191021101942_remove_empty_github_service_templates.rb') -describe RemoveEmptyGithubServiceTemplates, :migration do +describe RemoveEmptyGithubServiceTemplates do subject(:migration) { described_class.new } let(:services) do diff --git a/spec/migrations/remove_packages_deprecated_dependencies_spec.rb b/spec/migrations/remove_packages_deprecated_dependencies_spec.rb index 0b7efe371a6..2ba7a3b268b 100644 --- a/spec/migrations/remove_packages_deprecated_dependencies_spec.rb +++ b/spec/migrations/remove_packages_deprecated_dependencies_spec.rb @@ -3,7 +3,7 @@ require 'spec_helper' require Rails.root.join('db', 'migrate', '20200210135504_remove_packages_deprecated_dependencies.rb') -describe RemovePackagesDeprecatedDependencies, :migration do +describe RemovePackagesDeprecatedDependencies do let(:projects) { table(:projects) } let(:packages) { table(:packages_packages) } let(:dependency_links) { table(:packages_dependency_links) } diff --git a/spec/migrations/remove_redundant_pipeline_stages_spec.rb b/spec/migrations/remove_redundant_pipeline_stages_spec.rb index ad905d7eb8a..9bcbb6022a7 100644 --- a/spec/migrations/remove_redundant_pipeline_stages_spec.rb +++ b/spec/migrations/remove_redundant_pipeline_stages_spec.rb @@ -3,7 +3,7 @@ require 'spec_helper' require Rails.root.join('db', 'post_migrate', '20180119121225_remove_redundant_pipeline_stages.rb') -describe RemoveRedundantPipelineStages, :migration do +describe RemoveRedundantPipelineStages do let(:projects) { table(:projects) } let(:pipelines) { table(:ci_pipelines) } let(:stages) { table(:ci_stages) } diff --git a/spec/migrations/remove_security_dashboard_feature_flag_spec.rb b/spec/migrations/remove_security_dashboard_feature_flag_spec.rb index 7ef43134d24..fa0489526e2 100644 --- a/spec/migrations/remove_security_dashboard_feature_flag_spec.rb +++ b/spec/migrations/remove_security_dashboard_feature_flag_spec.rb @@ -4,7 +4,7 @@ require 'spec_helper' require Rails.root.join('db', 'post_migrate', '20200214034836_remove_security_dashboard_feature_flag.rb') -describe RemoveSecurityDashboardFeatureFlag, :migration do +describe RemoveSecurityDashboardFeatureFlag do let(:feature_gates) { table(:feature_gates) } subject(:migration) { described_class.new } diff --git a/spec/migrations/rename_security_dashboard_feature_flag_to_instance_security_dashboard_spec.rb b/spec/migrations/rename_security_dashboard_feature_flag_to_instance_security_dashboard_spec.rb index bc982e8952e..07be7a4ad51 100644 --- a/spec/migrations/rename_security_dashboard_feature_flag_to_instance_security_dashboard_spec.rb +++ b/spec/migrations/rename_security_dashboard_feature_flag_to_instance_security_dashboard_spec.rb @@ -4,7 +4,7 @@ require 'spec_helper' require Rails.root.join('db', 'migrate', '20200212014653_rename_security_dashboard_feature_flag_to_instance_security_dashboard.rb') -describe RenameSecurityDashboardFeatureFlagToInstanceSecurityDashboard, :migration do +describe RenameSecurityDashboardFeatureFlagToInstanceSecurityDashboard do let(:feature_gates) { table(:feature_gates) } subject(:migration) { described_class.new } diff --git a/spec/migrations/reschedule_builds_stages_migration_spec.rb b/spec/migrations/reschedule_builds_stages_migration_spec.rb index 8127934afab..18ea16f97bc 100644 --- a/spec/migrations/reschedule_builds_stages_migration_spec.rb +++ b/spec/migrations/reschedule_builds_stages_migration_spec.rb @@ -3,7 +3,7 @@ require 'spec_helper' require Rails.root.join('db', 'post_migrate', '20180405101928_reschedule_builds_stages_migration') -describe RescheduleBuildsStagesMigration, :migration do +describe RescheduleBuildsStagesMigration do let(:namespaces) { table(:namespaces) } let(:projects) { table(:projects) } let(:pipelines) { table(:ci_pipelines) } diff --git a/spec/migrations/reschedule_commits_count_for_merge_request_diff_spec.rb b/spec/migrations/reschedule_commits_count_for_merge_request_diff_spec.rb index 0e34e63fcc1..dcb31dff9b7 100644 --- a/spec/migrations/reschedule_commits_count_for_merge_request_diff_spec.rb +++ b/spec/migrations/reschedule_commits_count_for_merge_request_diff_spec.rb @@ -3,7 +3,7 @@ require 'spec_helper' require Rails.root.join('db', 'migrate', '20180309121820_reschedule_commits_count_for_merge_request_diff') -describe RescheduleCommitsCountForMergeRequestDiff, :migration do +describe RescheduleCommitsCountForMergeRequestDiff do let(:merge_request_diffs) { table(:merge_request_diffs) } let(:merge_requests) { table(:merge_requests) } let(:projects) { table(:projects) } diff --git a/spec/migrations/save_instance_administrators_group_id_spec.rb b/spec/migrations/save_instance_administrators_group_id_spec.rb index eab41017480..74ced009fa5 100644 --- a/spec/migrations/save_instance_administrators_group_id_spec.rb +++ b/spec/migrations/save_instance_administrators_group_id_spec.rb @@ -3,7 +3,7 @@ require 'spec_helper' require Rails.root.join('db', 'post_migrate', '20200210092405_save_instance_administrators_group_id') -describe SaveInstanceAdministratorsGroupId, :migration do +describe SaveInstanceAdministratorsGroupId do let(:application_settings_table) { table(:application_settings) } let(:instance_administrators_group) do diff --git a/spec/migrations/schedule_digest_personal_access_tokens_spec.rb b/spec/migrations/schedule_digest_personal_access_tokens_spec.rb index 915397f0f4f..d8e1b089d31 100644 --- a/spec/migrations/schedule_digest_personal_access_tokens_spec.rb +++ b/spec/migrations/schedule_digest_personal_access_tokens_spec.rb @@ -3,7 +3,7 @@ require 'spec_helper' require Rails.root.join('db', 'post_migrate', '20180913142237_schedule_digest_personal_access_tokens.rb') -describe ScheduleDigestPersonalAccessTokens, :migration do +describe ScheduleDigestPersonalAccessTokens do let(:personal_access_tokens) { table(:personal_access_tokens) } let(:users) { table(:users) } diff --git a/spec/migrations/schedule_fill_valid_time_for_pages_domain_certificates_spec.rb b/spec/migrations/schedule_fill_valid_time_for_pages_domain_certificates_spec.rb index 43333ab9837..30cb68c742c 100644 --- a/spec/migrations/schedule_fill_valid_time_for_pages_domain_certificates_spec.rb +++ b/spec/migrations/schedule_fill_valid_time_for_pages_domain_certificates_spec.rb @@ -3,7 +3,7 @@ require 'spec_helper' require Rails.root.join('db', 'post_migrate', '20190524073827_schedule_fill_valid_time_for_pages_domain_certificates.rb') -describe ScheduleFillValidTimeForPagesDomainCertificates, :migration do +describe ScheduleFillValidTimeForPagesDomainCertificates do let(:migration_class) { described_class::MIGRATION } let(:migration_name) { migration_class.to_s.demodulize } diff --git a/spec/migrations/schedule_migrate_security_scans_spec.rb b/spec/migrations/schedule_migrate_security_scans_spec.rb index ae066e8f91c..29e4e2b5cac 100644 --- a/spec/migrations/schedule_migrate_security_scans_spec.rb +++ b/spec/migrations/schedule_migrate_security_scans_spec.rb @@ -4,7 +4,7 @@ require 'spec_helper' require Rails.root.join('db', 'post_migrate', '20200217225719_schedule_migrate_security_scans.rb') # rubocop: disable RSpec/FactoriesInMigrationSpecs -describe ScheduleMigrateSecurityScans, :migration, :sidekiq do +describe ScheduleMigrateSecurityScans, :sidekiq do let(:migration) { described_class.new } let(:namespaces) { table(:namespaces) } let(:projects) { table(:projects) } diff --git a/spec/migrations/schedule_pages_metadata_migration_spec.rb b/spec/migrations/schedule_pages_metadata_migration_spec.rb index bf9442808bc..748b9fe1cd1 100644 --- a/spec/migrations/schedule_pages_metadata_migration_spec.rb +++ b/spec/migrations/schedule_pages_metadata_migration_spec.rb @@ -3,7 +3,7 @@ require 'spec_helper' require Rails.root.join('db', 'post_migrate', '20191002031332_schedule_pages_metadata_migration') -describe SchedulePagesMetadataMigration, :migration do +describe SchedulePagesMetadataMigration do let(:namespaces) { table(:namespaces) } let(:projects) { table(:projects) } diff --git a/spec/migrations/schedule_populate_merge_request_assignees_table_spec.rb b/spec/migrations/schedule_populate_merge_request_assignees_table_spec.rb index 44ef72baa86..d778b47179f 100644 --- a/spec/migrations/schedule_populate_merge_request_assignees_table_spec.rb +++ b/spec/migrations/schedule_populate_merge_request_assignees_table_spec.rb @@ -3,7 +3,7 @@ require 'spec_helper' require Rails.root.join('db', 'post_migrate', '20190322132835_schedule_populate_merge_request_assignees_table.rb') -describe SchedulePopulateMergeRequestAssigneesTable, :migration do +describe SchedulePopulateMergeRequestAssigneesTable do let(:namespaces) { table(:namespaces) } let(:projects) { table(:projects) } let(:namespace) { namespaces.create(name: 'gitlab', path: 'gitlab-org') } diff --git a/spec/migrations/schedule_recalculate_project_authorizations_second_run_spec.rb b/spec/migrations/schedule_recalculate_project_authorizations_second_run_spec.rb index 04726f98c89..4c05f7d57a1 100644 --- a/spec/migrations/schedule_recalculate_project_authorizations_second_run_spec.rb +++ b/spec/migrations/schedule_recalculate_project_authorizations_second_run_spec.rb @@ -3,7 +3,7 @@ require 'spec_helper' require Rails.root.join('db', 'post_migrate', '20200204113224_schedule_recalculate_project_authorizations_second_run.rb') -describe ScheduleRecalculateProjectAuthorizationsSecondRun, :migration do +describe ScheduleRecalculateProjectAuthorizationsSecondRun do let(:users_table) { table(:users) } before do diff --git a/spec/migrations/schedule_recalculate_project_authorizations_spec.rb b/spec/migrations/schedule_recalculate_project_authorizations_spec.rb index 77ad2b2dc8e..d30ebf825ef 100644 --- a/spec/migrations/schedule_recalculate_project_authorizations_spec.rb +++ b/spec/migrations/schedule_recalculate_project_authorizations_spec.rb @@ -3,7 +3,7 @@ require 'spec_helper' require Rails.root.join('db', 'post_migrate', '20200204113223_schedule_recalculate_project_authorizations.rb') -describe ScheduleRecalculateProjectAuthorizations, :migration do +describe ScheduleRecalculateProjectAuthorizations do let(:users_table) { table(:users) } let(:namespaces_table) { table(:namespaces) } let(:projects_table) { table(:projects) } diff --git a/spec/migrations/schedule_runners_token_encryption_spec.rb b/spec/migrations/schedule_runners_token_encryption_spec.rb index 60abb98f629..4121a8409b4 100644 --- a/spec/migrations/schedule_runners_token_encryption_spec.rb +++ b/spec/migrations/schedule_runners_token_encryption_spec.rb @@ -3,7 +3,7 @@ require 'spec_helper' require Rails.root.join('db', 'post_migrate', '20181121111200_schedule_runners_token_encryption') -describe ScheduleRunnersTokenEncryption, :migration do +describe ScheduleRunnersTokenEncryption do let(:settings) { table(:application_settings) } let(:namespaces) { table(:namespaces) } let(:projects) { table(:projects) } diff --git a/spec/migrations/schedule_set_confidential_note_events_on_webhooks_spec.rb b/spec/migrations/schedule_set_confidential_note_events_on_webhooks_spec.rb index c022610be08..ea1e16a0a35 100644 --- a/spec/migrations/schedule_set_confidential_note_events_on_webhooks_spec.rb +++ b/spec/migrations/schedule_set_confidential_note_events_on_webhooks_spec.rb @@ -3,7 +3,7 @@ require 'spec_helper' require Rails.root.join('db', 'post_migrate', '20180104131052_schedule_set_confidential_note_events_on_webhooks.rb') -describe ScheduleSetConfidentialNoteEventsOnWebhooks, :migration do +describe ScheduleSetConfidentialNoteEventsOnWebhooks do let(:web_hooks_table) { table(:web_hooks) } let(:migration_class) { Gitlab::BackgroundMigration::SetConfidentialNoteEventsOnWebhooks } let(:migration_name) { migration_class.to_s.demodulize } diff --git a/spec/migrations/schedule_stages_index_migration_spec.rb b/spec/migrations/schedule_stages_index_migration_spec.rb index f2e9abe1eb8..5ca857087e7 100644 --- a/spec/migrations/schedule_stages_index_migration_spec.rb +++ b/spec/migrations/schedule_stages_index_migration_spec.rb @@ -3,7 +3,7 @@ require 'spec_helper' require Rails.root.join('db', 'post_migrate', '20180420080616_schedule_stages_index_migration') -describe ScheduleStagesIndexMigration, :migration do +describe ScheduleStagesIndexMigration do let(:namespaces) { table(:namespaces) } let(:projects) { table(:projects) } let(:pipelines) { table(:ci_pipelines) } diff --git a/spec/migrations/schedule_sync_issuables_state_id_spec.rb b/spec/migrations/schedule_sync_issuables_state_id_spec.rb index 21844edeb40..408e7e6d19d 100644 --- a/spec/migrations/schedule_sync_issuables_state_id_spec.rb +++ b/spec/migrations/schedule_sync_issuables_state_id_spec.rb @@ -3,7 +3,7 @@ require 'spec_helper' require Rails.root.join('db', 'post_migrate', '20190214112022_schedule_sync_issuables_state_id.rb') -describe ScheduleSyncIssuablesStateId, :migration do +describe ScheduleSyncIssuablesStateId do let(:namespaces) { table(:namespaces) } let(:projects) { table(:projects) } let(:merge_requests) { table(:merge_requests) } diff --git a/spec/migrations/schedule_sync_issuables_state_id_where_nil_spec.rb b/spec/migrations/schedule_sync_issuables_state_id_where_nil_spec.rb index 5dbe0d973ae..e26a864b8ba 100644 --- a/spec/migrations/schedule_sync_issuables_state_id_where_nil_spec.rb +++ b/spec/migrations/schedule_sync_issuables_state_id_where_nil_spec.rb @@ -3,7 +3,7 @@ require 'spec_helper' require Rails.root.join('db', 'post_migrate', '20190506135400_schedule_sync_issuables_state_id_where_nil') -describe ScheduleSyncIssuablesStateIdWhereNil, :migration do +describe ScheduleSyncIssuablesStateIdWhereNil do let(:namespaces) { table(:namespaces) } let(:projects) { table(:projects) } let(:merge_requests) { table(:merge_requests) } diff --git a/spec/migrations/schedule_to_archive_legacy_traces_spec.rb b/spec/migrations/schedule_to_archive_legacy_traces_spec.rb index a81fb1494c7..e9158df01c4 100644 --- a/spec/migrations/schedule_to_archive_legacy_traces_spec.rb +++ b/spec/migrations/schedule_to_archive_legacy_traces_spec.rb @@ -3,7 +3,7 @@ require 'spec_helper' require Rails.root.join('db', 'post_migrate', '20180529152628_schedule_to_archive_legacy_traces') -describe ScheduleToArchiveLegacyTraces, :migration do +describe ScheduleToArchiveLegacyTraces do include TraceHelpers let(:namespaces) { table(:namespaces) } diff --git a/spec/migrations/schedule_update_existing_subgroup_to_match_visibility_level_of_parent_spec.rb b/spec/migrations/schedule_update_existing_subgroup_to_match_visibility_level_of_parent_spec.rb index 221f266cb70..098fe68927c 100644 --- a/spec/migrations/schedule_update_existing_subgroup_to_match_visibility_level_of_parent_spec.rb +++ b/spec/migrations/schedule_update_existing_subgroup_to_match_visibility_level_of_parent_spec.rb @@ -3,7 +3,7 @@ require 'spec_helper' require Rails.root.join('db', 'post_migrate', '20200110121314_schedule_update_existing_subgroup_to_match_visibility_level_of_parent.rb') -describe ScheduleUpdateExistingSubgroupToMatchVisibilityLevelOfParent, :migration do +describe ScheduleUpdateExistingSubgroupToMatchVisibilityLevelOfParent do include MigrationHelpers::NamespacesHelpers let(:migration_class) { described_class::MIGRATION } let(:migration_name) { migration_class.to_s.demodulize } diff --git a/spec/migrations/services_remove_temporary_index_on_project_id_spec.rb b/spec/migrations/services_remove_temporary_index_on_project_id_spec.rb index f730d7aecfd..d4f9969b71b 100644 --- a/spec/migrations/services_remove_temporary_index_on_project_id_spec.rb +++ b/spec/migrations/services_remove_temporary_index_on_project_id_spec.rb @@ -3,7 +3,7 @@ require 'spec_helper' require Rails.root.join('db', 'post_migrate', '20200203104214_services_remove_temporary_index_on_project_id.rb') -describe ServicesRemoveTemporaryIndexOnProjectId, :migration do +describe ServicesRemoveTemporaryIndexOnProjectId do let(:migration_instance) { described_class.new } it 'adds and removes temporary partial index in up and down methods' do diff --git a/spec/migrations/set_issue_id_for_all_versions_spec.rb b/spec/migrations/set_issue_id_for_all_versions_spec.rb index bfc2731181b..ff281947db8 100644 --- a/spec/migrations/set_issue_id_for_all_versions_spec.rb +++ b/spec/migrations/set_issue_id_for_all_versions_spec.rb @@ -3,7 +3,7 @@ require 'spec_helper' require Rails.root.join('db', 'migrate', '20190715043954_set_issue_id_for_all_versions.rb') -describe SetIssueIdForAllVersions, :migration do +describe SetIssueIdForAllVersions do let(:projects) { table(:projects) } let(:issues) { table(:issues) } let(:designs) { table(:design_management_designs) } diff --git a/spec/migrations/steal_fill_store_upload_spec.rb b/spec/migrations/steal_fill_store_upload_spec.rb index ed809baf2b5..b5e3de1864c 100644 --- a/spec/migrations/steal_fill_store_upload_spec.rb +++ b/spec/migrations/steal_fill_store_upload_spec.rb @@ -3,7 +3,7 @@ require 'spec_helper' require Rails.root.join('db', 'post_migrate', '20181105201455_steal_fill_store_upload.rb') -describe StealFillStoreUpload, :migration do +describe StealFillStoreUpload do let(:uploads) { table(:uploads) } describe '#up' do diff --git a/spec/migrations/sync_issuables_state_id_spec.rb b/spec/migrations/sync_issuables_state_id_spec.rb index 3138d2bec33..4bd30172cbe 100644 --- a/spec/migrations/sync_issuables_state_id_spec.rb +++ b/spec/migrations/sync_issuables_state_id_spec.rb @@ -3,7 +3,7 @@ require 'spec_helper' require Rails.root.join('db', 'post_migrate', '20190911251732_sync_issuables_state_id') -describe SyncIssuablesStateId, :migration do +describe SyncIssuablesStateId do let(:migration) { described_class.new } describe '#up' do diff --git a/spec/migrations/truncate_user_fullname_spec.rb b/spec/migrations/truncate_user_fullname_spec.rb index 65b870de7b8..a5e6a0a4fce 100644 --- a/spec/migrations/truncate_user_fullname_spec.rb +++ b/spec/migrations/truncate_user_fullname_spec.rb @@ -3,7 +3,7 @@ require 'spec_helper' require Rails.root.join('db', 'migrate', '20190325080727_truncate_user_fullname.rb') -describe TruncateUserFullname, :migration do +describe TruncateUserFullname do let(:users) { table(:users) } let(:user_short) { create_user(name: 'abc', email: 'test_short@example.com') } diff --git a/spec/migrations/update_application_setting_npm_package_requests_forwarding_default_spec.rb b/spec/migrations/update_application_setting_npm_package_requests_forwarding_default_spec.rb index dfe14b40c6e..f9523e0e582 100644 --- a/spec/migrations/update_application_setting_npm_package_requests_forwarding_default_spec.rb +++ b/spec/migrations/update_application_setting_npm_package_requests_forwarding_default_spec.rb @@ -3,7 +3,7 @@ require 'spec_helper' require Rails.root.join('db', 'migrate', '20200221105436_update_application_setting_npm_package_requests_forwarding_default.rb') -describe UpdateApplicationSettingNpmPackageRequestsForwardingDefault, :migration do +describe UpdateApplicationSettingNpmPackageRequestsForwardingDefault do # Create test data - pipeline and CI/CD jobs. let(:application_settings) { table(:application_settings) } diff --git a/spec/migrations/update_fingerprint_sha256_within_keys_spec.rb b/spec/migrations/update_fingerprint_sha256_within_keys_spec.rb index 20a506ea976..d149ec230a7 100644 --- a/spec/migrations/update_fingerprint_sha256_within_keys_spec.rb +++ b/spec/migrations/update_fingerprint_sha256_within_keys_spec.rb @@ -4,7 +4,7 @@ require 'spec_helper' require Rails.root.join('db', 'post_migrate', '20200106071113_update_fingerprint_sha256_within_keys.rb') -describe UpdateFingerprintSha256WithinKeys, :migration do +describe UpdateFingerprintSha256WithinKeys do let(:key_table) { table(:keys) } describe '#up' do diff --git a/spec/migrations/update_minimum_password_length_spec.rb b/spec/migrations/update_minimum_password_length_spec.rb index 0a763e5ce0f..ed9c85362f5 100644 --- a/spec/migrations/update_minimum_password_length_spec.rb +++ b/spec/migrations/update_minimum_password_length_spec.rb @@ -3,7 +3,7 @@ require 'spec_helper' require Rails.root.join('db', 'post_migrate', '20191205084057_update_minimum_password_length') -describe UpdateMinimumPasswordLength, :migration do +describe UpdateMinimumPasswordLength do let(:application_settings) { table(:application_settings) } let(:application_setting) do application_settings.create!( diff --git a/spec/migrations/update_project_import_visibility_level_spec.rb b/spec/migrations/update_project_import_visibility_level_spec.rb index 9ea9b956f67..f8439fc4204 100644 --- a/spec/migrations/update_project_import_visibility_level_spec.rb +++ b/spec/migrations/update_project_import_visibility_level_spec.rb @@ -3,7 +3,7 @@ require 'spec_helper' require Rails.root.join('db', 'post_migrate', '20181219130552_update_project_import_visibility_level.rb') -describe UpdateProjectImportVisibilityLevel, :migration do +describe UpdateProjectImportVisibilityLevel do let(:namespaces) { table(:namespaces) } let(:projects) { table(:projects) } let(:project) { projects.find_by_name(name) } diff --git a/spec/migrations/update_timestamp_softwarelicensespolicy_spec.rb b/spec/migrations/update_timestamp_softwarelicensespolicy_spec.rb index 539da8ac92a..918c5fb567f 100644 --- a/spec/migrations/update_timestamp_softwarelicensespolicy_spec.rb +++ b/spec/migrations/update_timestamp_softwarelicensespolicy_spec.rb @@ -4,7 +4,7 @@ require 'spec_helper' require Rails.root.join('db', 'migrate', '20200116175538_update_timestamp_softwarelicensespolicy.rb') -describe UpdateTimestampSoftwarelicensespolicy, :migration do +describe UpdateTimestampSoftwarelicensespolicy do let(:software_licenses_policy) { table(:software_license_policies) } let(:projects) { table(:projects) } let(:licenses) { table(:software_licenses) } diff --git a/spec/requests/api/deploy_tokens_spec.rb b/spec/requests/api/deploy_tokens_spec.rb index 01810e333c1..fa46b8017cb 100644 --- a/spec/requests/api/deploy_tokens_spec.rb +++ b/spec/requests/api/deploy_tokens_spec.rb @@ -195,56 +195,71 @@ describe API::DeployTokens do end end - describe 'POST /projects/:id/deploy_tokens' do - let(:params) do - { - name: 'Foo', - expires_at: 1.year.from_now, - scopes: [ - 'read_repository' - ], - username: 'Bar' - } - end + context 'deploy token creation' do + shared_examples 'creating a deploy token' do |entity, unauthenticated_response| + let(:params) do + { + name: 'Foo', + expires_at: 1.year.from_now, + scopes: [ + 'read_repository' + ], + username: 'Bar' + } + end - subject do - post api("/projects/#{project.id}/deploy_tokens", user), params: params - response - end + context 'when unauthenticated' do + let(:user) { nil } - context 'when unauthenticated' do - let(:user) { nil } + it { is_expected.to have_gitlab_http_status(unauthenticated_response) } + end - it { is_expected.to have_gitlab_http_status(:not_found) } - end + context 'when authenticated as non-admin user' do + before do + send(entity).add_developer(user) + end - context 'when authenticated as non-admin user' do - before do - project.add_developer(user) + it { is_expected.to have_gitlab_http_status(:forbidden) } end - it { is_expected.to have_gitlab_http_status(:forbidden) } - end + context 'when authenticated as maintainer' do + before do + send(entity).add_maintainer(user) + end - context 'when authenticated as maintainer' do - before do - project.add_maintainer(user) - end + it 'creates the deploy token' do + expect { subject }.to change { DeployToken.count }.by(1) - it 'creates the deploy token' do - expect { subject }.to change { DeployToken.count }.by(1) + expect(response).to have_gitlab_http_status(:created) + expect(response).to match_response_schema('public_api/v4/deploy_token') + end - expect(response).to have_gitlab_http_status(:created) - expect(response).to match_response_schema('public_api/v4/deploy_token') - end + context 'with an invalid scope' do + before do + params[:scopes] = %w[read_repository all_access] + end - context 'with an invalid scope' do - before do - params[:scopes] = %w[read_repository all_access] + it { is_expected.to have_gitlab_http_status(:bad_request) } end + end + end + + describe 'POST /projects/:id/deploy_tokens' do + subject do + post api("/projects/#{project.id}/deploy_tokens", user), params: params + response + end + + it_behaves_like 'creating a deploy token', :project, :not_found + end - it { is_expected.to have_gitlab_http_status(:bad_request) } + describe 'POST /groups/:id/deploy_tokens' do + subject do + post api("/groups/#{group.id}/deploy_tokens", user), params: params + response end + + it_behaves_like 'creating a deploy token', :group, :forbidden end end end diff --git a/spec/routing/project_routing_spec.rb b/spec/routing/project_routing_spec.rb index 449c4c07b08..1a43342d278 100644 --- a/spec/routing/project_routing_spec.rb +++ b/spec/routing/project_routing_spec.rb @@ -488,6 +488,7 @@ describe 'project routing' do end it_behaves_like 'redirecting a legacy project path', "/gitlab/gitlabhq/project_members", "/gitlab/gitlabhq/-/project_members" + it_behaves_like 'redirecting a legacy project path', "/gitlab/gitlabhq/-/settings/members", "/gitlab/gitlabhq/-/project_members" end # project_milestones GET /:project_id/milestones(.:format) milestones#index diff --git a/spec/services/projects/lfs_pointers/lfs_download_link_list_service_spec.rb b/spec/services/projects/lfs_pointers/lfs_download_link_list_service_spec.rb index dabfd61d3f5..99d35fdc7f7 100644 --- a/spec/services/projects/lfs_pointers/lfs_download_link_list_service_spec.rb +++ b/spec/services/projects/lfs_pointers/lfs_download_link_list_service_spec.rb @@ -8,18 +8,27 @@ describe Projects::LfsPointers::LfsDownloadLinkListService do let(:new_oids) { { 'oid1' => 123, 'oid2' => 125 } } let(:remote_uri) { URI.parse(lfs_endpoint) } - let(:objects_response) do - body = new_oids.map do |oid, size| + let(:request_object) { HTTParty::Request.new(Net::HTTP::Post, '/') } + let(:parsed_block) { lambda {} } + let(:success_net_response) { Net::HTTPOK.new('', '', '') } + let(:response) { Gitlab::HTTP::Response.new(request_object, net_response, parsed_block) } + + def objects_response(oids) + body = oids.map do |oid, size| { - 'oid' => oid, - 'size' => size, + 'oid' => oid, 'size' => size, 'actions' => { 'download' => { 'href' => "#{import_url}/gitlab-lfs/objects/#{oid}" } } } end - Struct.new(:success?, :objects).new(true, body) + Struct.new(:success?, :objects).new(true, body).to_json + end + + def custom_response(net_response, body = nil) + allow(net_response).to receive(:body).and_return(body) + Gitlab::HTTP::Response.new(request_object, net_response, parsed_block) end let(:invalid_object_response) do @@ -33,9 +42,8 @@ describe Projects::LfsPointers::LfsDownloadLinkListService do before do allow(project).to receive(:lfs_enabled?).and_return(true) - response = instance_double(Gitlab::HTTP::Response) - allow(response).to receive(:body).and_return(objects_response.to_json) - allow(response).to receive(:success?).and_return(true) + + response = custom_response(success_net_response, objects_response(new_oids)) allow(Gitlab::HTTP).to receive(:post).and_return(response) end @@ -46,6 +54,102 @@ describe Projects::LfsPointers::LfsDownloadLinkListService do end end + context 'when lfs objects size is larger than the batch size' do + def stub_successful_request(batch) + response = custom_response(success_net_response, objects_response(batch)) + stub_request(batch, response) + end + + def stub_entity_too_large_error_request(batch) + entity_too_large_net_response = Net::HTTPRequestEntityTooLarge.new('', '', '') + response = custom_response(entity_too_large_net_response) + stub_request(batch, response) + end + + def stub_request(batch, response) + expect(Gitlab::HTTP).to receive(:post).with( + remote_uri, + { + body: { operation: 'download', objects: batch.map { |k, v| { oid: k, size: v } } }.to_json, + headers: subject.send(:headers) + } + ).and_return(response) + end + + let(:new_oids) { { 'oid1' => 123, 'oid2' => 125, 'oid3' => 126, 'oid4' => 127, 'oid5' => 128 } } + + context 'when batch size' do + before do + stub_const("#{described_class.name}::REQUEST_BATCH_SIZE", 2) + + data = new_oids.to_a + stub_successful_request([data[0], data[1]]) + stub_successful_request([data[2], data[3]]) + stub_successful_request([data[4]]) + end + + it 'retreives them in batches' do + subject.execute(new_oids).each do |lfs_download_object| + expect(lfs_download_object.link).to eq "#{import_url}/gitlab-lfs/objects/#{lfs_download_object.oid}" + end + end + end + + context 'when request fails with PayloadTooLarge error' do + let(:error_class) { described_class::DownloadLinksRequestEntityTooLargeError } + + context 'when the smaller batch eventually works' do + before do + stub_const("#{described_class.name}::REQUEST_BATCH_SIZE", 5) + + data = new_oids.to_a + + # with the batch size of 5 + stub_entity_too_large_error_request(data) + + # with the batch size of 2 + stub_successful_request([data[0], data[1]]) + stub_successful_request([data[2], data[3]]) + stub_successful_request([data[4]]) + end + + it 'retreives them eventually and logs exceptions' do + expect(Gitlab::ErrorTracking).to receive(:track_exception).with( + an_instance_of(error_class), project_id: project.id, batch_size: 5, oids_count: 5 + ) + + subject.execute(new_oids).each do |lfs_download_object| + expect(lfs_download_object.link).to eq "#{import_url}/gitlab-lfs/objects/#{lfs_download_object.oid}" + end + end + end + + context 'when batch size cannot be any smaller' do + before do + stub_const("#{described_class.name}::REQUEST_BATCH_SIZE", 5) + + data = new_oids.to_a + + # with the batch size of 5 + stub_entity_too_large_error_request(data) + + # with the batch size of 2 + stub_entity_too_large_error_request([data[0], data[1]]) + end + + it 'raises an error and logs exceptions' do + expect(Gitlab::ErrorTracking).to receive(:track_exception).with( + an_instance_of(error_class), project_id: project.id, batch_size: 5, oids_count: 5 + ) + expect(Gitlab::ErrorTracking).to receive(:track_exception).with( + an_instance_of(error_class), project_id: project.id, batch_size: 2, oids_count: 5 + ) + expect { subject.execute(new_oids) }.to raise_error(described_class::DownloadLinksError) + end + end + end + end + context 'credentials' do context 'when the download link and the lfs_endpoint have the same host' do context 'when lfs_endpoint has credentials' do @@ -87,17 +191,22 @@ describe Projects::LfsPointers::LfsDownloadLinkListService do end describe '#get_download_links' do - it 'raise error if request fails' do - allow(Gitlab::HTTP).to receive(:post).and_return(Struct.new(:success?, :message).new(false, 'Failed request')) + context 'if request fails' do + before do + request_timeout_net_response = Net::HTTPRequestTimeout.new('', '', '') + response = custom_response(request_timeout_net_response) + allow(Gitlab::HTTP).to receive(:post).and_return(response) + end - expect { subject.send(:get_download_links, new_oids) }.to raise_error(described_class::DownloadLinksError) + it 'raises an error' do + expect { subject.send(:get_download_links, new_oids) }.to raise_error(described_class::DownloadLinksError) + end end shared_examples 'JSON parse errors' do |body| - it 'raises error' do - response = instance_double(Gitlab::HTTP::Response) + it 'raises an error' do + response = custom_response(success_net_response) allow(response).to receive(:body).and_return(body) - allow(response).to receive(:success?).and_return(true) allow(Gitlab::HTTP).to receive(:post).and_return(response) expect { subject.send(:get_download_links, new_oids) }.to raise_error(described_class::DownloadLinksError) diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb index d379fd494fa..3f6503a60a9 100644 --- a/spec/spec_helper.rb +++ b/spec/spec_helper.rb @@ -76,11 +76,16 @@ RSpec.configure do |config| metadata[:level] = quality_level.level_for(location) metadata[:api] = true if location =~ %r{/spec/requests/api/} - # do not overwrite type if it's already set - next if metadata.key?(:type) + # Do not overwrite migration if it's already set + unless metadata.key?(:migration) + metadata[:migration] = true if metadata[:level] == :migration + end - match = location.match(%r{/spec/([^/]+)/}) - metadata[:type] = match[1].singularize.to_sym if match + # Do not overwrite type if it's already set + unless metadata.key?(:type) + match = location.match(%r{/spec/([^/]+)/}) + metadata[:type] = match[1].singularize.to_sym if match + end end config.include LicenseHelpers |