From 5bdbc604c8a08f827c3833e2c28ec0c299bb41fc Mon Sep 17 00:00:00 2001 From: GitLab Bot Date: Fri, 8 May 2020 09:09:39 +0000 Subject: [PATCH] Add latest changes from gitlab-org/gitlab@master --- .../design_management/pages/design/index.vue | 14 ++ .../design_management/utils/tracking.js | 22 +++ app/controllers/projects/issues_controller.rb | 4 +- .../projects/alert_management_helper.rb | 2 +- app/models/project.rb | 18 +-- .../projects/prometheus/alert_presenter.rb | 61 +++++++- app/services/issues/build_service.rb | 10 +- .../216472-move-embeding-metrics-to-core.yml | 5 + .../add_confidential_issue_url_param.yml | 5 + doc/.vale/gitlab/BadgeCapitalization.yml | 42 ++++++ doc/user/application_security/dast/index.md | 2 +- doc/user/group/epics/img/epic_view_v12.3.png | Bin 61402 -> 0 bytes doc/user/group/epics/img/epic_view_v13.0.png | Bin 0 -> 68803 bytes doc/user/group/epics/index.md | 6 +- doc/user/project/issues/managing_issues.md | 16 +- lib/gitlab/prometheus_client.rb | 2 +- lib/mattermost/client.rb | 2 +- locale/gitlab.pot | 21 +-- scripts/rspec_helpers.sh | 6 + .../projects/issues_controller_spec.rb | 27 ++++ .../frontend/design_management/router_spec.js | 81 +++++----- .../design_management/utils/tracking_spec.js | 51 +++++++ .../diffs/components/diff_content_spec.js | 2 +- .../notebook/cells/code_spec.js | 6 +- .../notebook/cells/markdown_spec.js | 2 +- .../cells/output/html_sanitize_tests.js | 0 .../notebook/cells/output/html_spec.js | 0 .../notebook/cells/output/index_spec.js | 10 +- .../notebook/cells/prompt_spec.js | 4 +- .../notebook/index_spec.js | 6 +- .../projects/alert_management_helper_spec.rb | 26 +++- spec/javascripts/diffs/create_diffs_store.js | 5 - .../diffs/mock_data/diff_discussions.js | 5 - spec/javascripts/diffs/mock_data/diff_file.js | 5 - .../diffs/mock_data/diff_file_unreadable.js | 5 - .../diffs/mock_data/diff_with_commit.js | 7 - .../diffs/mock_data/merge_request_diffs.js | 7 - .../helpers/init_vue_mr_page_helper.js | 2 +- .../prometheus/alert_presenter_spec.rb | 142 ++++++++++++++++++ 39 files changed, 492 insertions(+), 139 deletions(-) create mode 100644 app/assets/javascripts/design_management/utils/tracking.js create mode 100644 changelogs/unreleased/216472-move-embeding-metrics-to-core.yml create mode 100644 changelogs/unreleased/add_confidential_issue_url_param.yml create mode 100644 doc/.vale/gitlab/BadgeCapitalization.yml delete mode 100644 doc/user/group/epics/img/epic_view_v12.3.png create mode 100644 doc/user/group/epics/img/epic_view_v13.0.png create mode 100644 spec/frontend/design_management/utils/tracking_spec.js rename spec/{javascripts => frontend}/notebook/cells/code_spec.js (94%) rename spec/{javascripts => frontend}/notebook/cells/markdown_spec.js (98%) rename spec/{javascripts => frontend}/notebook/cells/output/html_sanitize_tests.js (100%) rename spec/{javascripts => frontend}/notebook/cells/output/html_spec.js (100%) rename spec/{javascripts => frontend}/notebook/cells/output/index_spec.js (94%) rename spec/{javascripts => frontend}/notebook/cells/prompt_spec.js (95%) rename spec/{javascripts => frontend}/notebook/index_spec.js (96%) delete mode 100644 spec/javascripts/diffs/create_diffs_store.js delete mode 100644 spec/javascripts/diffs/mock_data/diff_discussions.js delete mode 100644 spec/javascripts/diffs/mock_data/diff_file.js delete mode 100644 spec/javascripts/diffs/mock_data/diff_file_unreadable.js delete mode 100644 spec/javascripts/diffs/mock_data/diff_with_commit.js delete mode 100644 spec/javascripts/diffs/mock_data/merge_request_diffs.js diff --git a/app/assets/javascripts/design_management/pages/design/index.vue b/app/assets/javascripts/design_management/pages/design/index.vue index d51bdc4687a..3e56379dc47 100644 --- a/app/assets/javascripts/design_management/pages/design/index.vue +++ b/app/assets/javascripts/design_management/pages/design/index.vue @@ -35,6 +35,7 @@ import { UPDATE_NOTE_ERROR, designDeletionError, } from '../../utils/error_messages'; +import { trackDesignDetailView } from '../../utils/tracking'; import { DESIGNS_ROUTE_NAME } from '../../router/constants'; export default { @@ -257,8 +258,21 @@ export default { query: this.$route.query, }); }, + trackEvent() { + trackDesignDetailView( + 'issue-design-collection', + this.$route.query.version || this.latestVersionId, + this.isLatestVersion, + ); + }, + }, + beforeRouteEnter(to, from, next) { + next(vm => { + vm.trackEvent(); + }); }, beforeRouteUpdate(to, from, next) { + this.trackEvent(); this.closeCommentForm(); next(); }, diff --git a/app/assets/javascripts/design_management/utils/tracking.js b/app/assets/javascripts/design_management/utils/tracking.js new file mode 100644 index 00000000000..c94aa83ecc0 --- /dev/null +++ b/app/assets/javascripts/design_management/utils/tracking.js @@ -0,0 +1,22 @@ +import Tracking from '~/tracking'; + +function assembleDesignPayload(payloadArr) { + return { + value: { + 'internal-object-refrerer': payloadArr[0], + 'version-number': payloadArr[1], + 'current-version': payloadArr[2], + }, + }; +} + +// Tracking Constants +const DESIGN_TRACKING_PAGE_NAME = 'projects:issues:design'; + +// eslint-disable-next-line import/prefer-default-export +export function trackDesignDetailView(refrerer = '', designVersion = 1, latestVersion = false) { + Tracking.event(DESIGN_TRACKING_PAGE_NAME, 'design_viewed', { + label: 'design_viewed', + ...assembleDesignPayload([refrerer, designVersion, latestVersion]), + }); +} diff --git a/app/controllers/projects/issues_controller.rb b/app/controllers/projects/issues_controller.rb index 6eb010c4882..d759983dafa 100644 --- a/app/controllers/projects/issues_controller.rb +++ b/app/controllers/projects/issues_controller.rb @@ -86,11 +86,13 @@ class Projects::IssuesController < Projects::ApplicationController ) build_params = issue_params.merge( merge_request_to_resolve_discussions_of: params[:merge_request_to_resolve_discussions_of], - discussion_to_resolve: params[:discussion_to_resolve] + discussion_to_resolve: params[:discussion_to_resolve], + confidential: !!Gitlab::Utils.to_boolean(params[:issue][:confidential]) ) service = Issues::BuildService.new(project, current_user, build_params) @issue = @noteable = service.execute + @merge_request_to_resolve_discussions_of = service.merge_request_to_resolve_discussions_of @discussion_to_resolve = service.discussions_to_resolve.first if params[:discussion_to_resolve] diff --git a/app/helpers/projects/alert_management_helper.rb b/app/helpers/projects/alert_management_helper.rb index 17f5a400eec..b2bb32239aa 100644 --- a/app/helpers/projects/alert_management_helper.rb +++ b/app/helpers/projects/alert_management_helper.rb @@ -7,7 +7,7 @@ module Projects::AlertManagementHelper 'enable-alert-management-path' => edit_project_service_path(project, AlertsService), 'empty-alert-svg-path' => image_path('illustrations/alert-management-empty-state.svg'), 'user-can-enable-alert-management' => can?(current_user, :admin_project, project).to_s, - 'alert-management-enabled' => Feature.enabled?(:alert_management_minimal, project).to_s + 'alert-management-enabled' => (!!project.alerts_service_activated?).to_s } end diff --git a/app/models/project.rb b/app/models/project.rb index 5f614d30e2d..9eac01c3c06 100644 --- a/app/models/project.rb +++ b/app/models/project.rb @@ -1436,20 +1436,12 @@ class Project < ApplicationRecord # Expires various caches before a project is renamed. def expire_caches_before_rename(old_path) - repo = Repository.new(old_path, self, shard: repository_storage) - wiki = Repository.new("#{old_path}.wiki", self, shard: repository_storage, repo_type: Gitlab::GlRepository::WIKI) - design = Repository.new("#{old_path}#{Gitlab::GlRepository::DESIGN.path_suffix}", self, shard: repository_storage, repo_type: Gitlab::GlRepository::DESIGN) + project_repo = Repository.new(old_path, self, shard: repository_storage) + wiki_repo = Repository.new("#{old_path}#{Gitlab::GlRepository::WIKI.path_suffix}", self, shard: repository_storage, repo_type: Gitlab::GlRepository::WIKI) + design_repo = Repository.new("#{old_path}#{Gitlab::GlRepository::DESIGN.path_suffix}", self, shard: repository_storage, repo_type: Gitlab::GlRepository::DESIGN) - if repo.exists? - repo.before_delete - end - - if wiki.exists? - wiki.before_delete - end - - if design.exists? - design.before_delete + [project_repo, wiki_repo, design_repo].each do |repo| + repo.before_delete if repo.exists? end end diff --git a/app/presenters/projects/prometheus/alert_presenter.rb b/app/presenters/projects/prometheus/alert_presenter.rb index c03925c0871..2114e06a8c5 100644 --- a/app/presenters/projects/prometheus/alert_presenter.rb +++ b/app/presenters/projects/prometheus/alert_presenter.rb @@ -7,6 +7,7 @@ module Projects GENERIC_ALERT_SUMMARY_ANNOTATIONS = %w(monitoring_tool service hosts).freeze MARKDOWN_LINE_BREAK = " \n".freeze INCIDENT_LABEL_NAME = IncidentManagement::CreateIssueService::INCIDENT_LABEL[:title].freeze + METRIC_TIME_WINDOW = 30.minutes def full_title [environment_name, alert_title].compact.join(': ') @@ -119,9 +120,63 @@ module Projects Array(hosts.value).join(' ') end - def metric_embed_for_alert; end + def metric_embed_for_alert + url = embed_url_for_gitlab_alert || embed_url_for_self_managed_alert + + "\n[](#{url})" if url + end + + def embed_url_for_gitlab_alert + return unless gitlab_alert + + metrics_dashboard_project_prometheus_alert_url( + project, + gitlab_alert.prometheus_metric_id, + environment_id: environment.id, + **alert_embed_window_params(embed_time) + ) + end + + def embed_url_for_self_managed_alert + return unless environment && full_query && title + + metrics_dashboard_project_environment_url( + project, + environment, + embed_json: dashboard_for_self_managed_alert.to_json, + **alert_embed_window_params(embed_time) + ) + end + + def embed_time + starts_at ? Time.rfc3339(starts_at) : Time.current + end + + def alert_embed_window_params(time) + { + start: format_embed_timestamp(time - METRIC_TIME_WINDOW), + end: format_embed_timestamp(time + METRIC_TIME_WINDOW) + } + end + + def format_embed_timestamp(time) + time.utc.strftime('%FT%TZ') + end + + def dashboard_for_self_managed_alert + { + panel_groups: [{ + panels: [{ + type: 'line-graph', + title: title, + y_label: y_label, + metrics: [{ + query_range: full_query + }] + }] + }] + } + end end end end - -Projects::Prometheus::AlertPresenter.prepend_if_ee('EE::Projects::Prometheus::AlertPresenter') diff --git a/app/services/issues/build_service.rb b/app/services/issues/build_service.rb index daef468987e..e62315de5f9 100644 --- a/app/services/issues/build_service.rb +++ b/app/services/issues/build_service.rb @@ -65,15 +65,19 @@ module Issues private def whitelisted_issue_params + base_params = [:title, :description, :confidential] + admin_params = [:milestone_id] + if can?(current_user, :admin_issue, project) - params.slice(:title, :description, :milestone_id) + params.slice(*(base_params + admin_params)) else - params.slice(:title, :description) + params.slice(*base_params) end end def build_issue_params - issue_params_with_info_from_discussions.merge(whitelisted_issue_params) + { author: current_user }.merge(issue_params_with_info_from_discussions) + .merge(whitelisted_issue_params) end end end diff --git a/changelogs/unreleased/216472-move-embeding-metrics-to-core.yml b/changelogs/unreleased/216472-move-embeding-metrics-to-core.yml new file mode 100644 index 00000000000..bd3dcda4c89 --- /dev/null +++ b/changelogs/unreleased/216472-move-embeding-metrics-to-core.yml @@ -0,0 +1,5 @@ +--- +title: Moves embedded metrics for Prometheus alerts to Core +merge_request: 31203 +author: +type: changed diff --git a/changelogs/unreleased/add_confidential_issue_url_param.yml b/changelogs/unreleased/add_confidential_issue_url_param.yml new file mode 100644 index 00000000000..bb3ce4166e6 --- /dev/null +++ b/changelogs/unreleased/add_confidential_issue_url_param.yml @@ -0,0 +1,5 @@ +--- +title: Adds URL parameter for confidential new issue creation +merge_request: 30250 +author: +type: added diff --git a/doc/.vale/gitlab/BadgeCapitalization.yml b/doc/.vale/gitlab/BadgeCapitalization.yml new file mode 100644 index 00000000000..7e68a06b4d5 --- /dev/null +++ b/doc/.vale/gitlab/BadgeCapitalization.yml @@ -0,0 +1,42 @@ +--- +# Verifies that badges are not lower case, which won't render properly. +# +# For a list of all options, see https://errata-ai.github.io/vale/styles/ +extends: existence +message: 'Badge "%s" must be capitalized.' +link: https://docs.gitlab.com/ee/development/documentation/styleguide.html#product-badges +level: error +scope: raw +raw: + - '(\*\*\(Core\)\*\*|' + - '\*\*\(core\)\*\*|' + - '\*\*\(Starter\)\*\*|' + - '\*\*\(starter\)\*\*|' + - '\*\*\(Premium\)\*\*|' + - '\*\*\(premium\)\*\*|' + - '\*\*\(Ultimate\)\*\*|' + - '\*\*\(ultimate\)\*\*|' + - '\*\*\(Core Only\)\*\*|' + - '\*\*\(Core only\)\*\*|' + - '\*\*\(core only\)\*\*|' + - '\*\*\(Starter Only\)\*\*|' + - '\*\*\(Starter only\)\*\*|' + - '\*\*\(starter only\)\*\*|' + - '\*\*\(Premium Only\)\*\*|' + - '\*\*\(Premium only\)\*\*|' + - '\*\*\(premium only\)\*\*|' + - '\*\*\(Ultimate Only\)\*\*|' + - '\*\*\(Ultimate only\)\*\*|' + - '\*\*\(ultimate only\)\*\*|' + - '\*\*\(Free Only\)\*\*|' + - '\*\*\(Free only\)\*\*|' + - '\*\*\(free only\)\*\*|' + - '\*\*\(Bronze Only\)\*\*|' + - '\*\*\(Bronze only\)\*\*|' + - '\*\*\(bronze only\)\*\*|' + - '\*\*\(Silver Only\)\*\*|' + - '\*\*\(Silver only\)\*\*|' + - '\*\*\(silver only\)\*\*|' + - '\*\*\(Gold Only\)\*\*|' + - '\*\*\(Gold only\)\*\*|' + - '\*\*\(gold only\)\*\*)' diff --git a/doc/user/application_security/dast/index.md b/doc/user/application_security/dast/index.md index f4c0764ae0b..bbb551748c6 100644 --- a/doc/user/application_security/dast/index.md +++ b/doc/user/application_security/dast/index.md @@ -140,7 +140,7 @@ The only changes to the site should be from the DAST scanner. Be aware that any changes that users, scheduled tasks, database changes, code changes, other pipelines, or other scanners make to the site during a scan could lead to inaccurate results. -### Authenticated scan +### Authentication It's also possible to authenticate the user before performing the DAST checks: diff --git a/doc/user/group/epics/img/epic_view_v12.3.png b/doc/user/group/epics/img/epic_view_v12.3.png deleted file mode 100644 index 79758cf3d5260f7088f8acd44c74ebc4bab60d1c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 61402 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Ðps3FeH*)qAdtXRAh$R51qIHth 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 "${KNAPSACK_RSPEC_SUITE_REPORT_PATH}" + fi + cp "${KNAPSACK_RSPEC_SUITE_REPORT_PATH}" "${KNAPSACK_REPORT_PATH}" if [[ -z "${KNAPSACK_TEST_FILE_PATTERN}" ]]; then diff --git a/spec/controllers/projects/issues_controller_spec.rb b/spec/controllers/projects/issues_controller_spec.rb index a2df023fe4c..053932944bb 100644 --- a/spec/controllers/projects/issues_controller_spec.rb +++ b/spec/controllers/projects/issues_controller_spec.rb @@ -187,6 +187,33 @@ describe Projects::IssuesController do expect(assigns(:issue)).to be_a_new(Issue) end + where(:conf_value, :conf_result) do + [ + [true, true], + ['true', true], + ['TRUE', true], + [false, false], + ['false', false], + ['FALSE', false] + ] + end + + with_them do + it 'sets the confidential flag to the expected value' do + get :new, params: { + namespace_id: project.namespace, + project_id: project, + issue: { + confidential: conf_value + } + } + + assigned_issue = assigns(:issue) + expect(assigned_issue).to be_a_new(Issue) + expect(assigned_issue.confidential).to eq conf_result + end + end + it 'fills in an issue for a merge request' do project_with_repository = create(:project, :repository) project_with_repository.add_developer(user) diff --git a/spec/frontend/design_management/router_spec.js b/spec/frontend/design_management/router_spec.js index fc88bfa06d2..0f4afa5e288 100644 --- a/spec/frontend/design_management/router_spec.js +++ b/spec/frontend/design_management/router_spec.js @@ -1,4 +1,5 @@ import { mount, createLocalVue } from '@vue/test-utils'; +import { nextTick } from 'vue'; import VueRouter from 'vue-router'; import App from '~/design_management/components/app.vue'; import Designs from '~/design_management/pages/index.vue'; @@ -11,74 +12,66 @@ import { } from '~/design_management/router/constants'; import '~/commons/bootstrap'; +function factory(routeArg) { + const localVue = createLocalVue(); + localVue.use(VueRouter); + + window.gon = { sprite_icons: '' }; + + const router = createRouter('/'); + if (routeArg !== undefined) { + router.push(routeArg); + } + + return mount(App, { + localVue, + router, + mocks: { + $apollo: { + queries: { + designs: { loading: true }, + design: { loading: true }, + permissions: { loading: true }, + }, + }, + }, + }); +} + jest.mock('mousetrap', () => ({ bind: jest.fn(), unbind: jest.fn(), })); describe('Design management router', () => { - let vm; - let router; - - function factory() { - const localVue = createLocalVue(); - - localVue.use(VueRouter); - - window.gon = { sprite_icons: '' }; - - router = createRouter('/'); - - vm = mount(App, { - localVue, - router, - mocks: { - $apollo: { - queries: { - designs: { loading: true }, - design: { loading: true }, - permissions: { loading: true }, - }, - }, - }, - }); - } - - beforeEach(() => { - factory(); - }); - afterEach(() => { - vm.destroy(); - - router.app.$destroy(); window.location.hash = ''; }); - describe.each([['/'], [{ name: ROOT_ROUTE_NAME }]])('root route', pushArg => { + describe.each([['/'], [{ name: ROOT_ROUTE_NAME }]])('root route', routeArg => { it('pushes home component', () => { - router.push(pushArg); + const wrapper = factory(routeArg); - expect(vm.find(Designs).exists()).toBe(true); + expect(wrapper.find(Designs).exists()).toBe(true); }); }); - describe.each([['/designs'], [{ name: DESIGNS_ROUTE_NAME }]])('designs route', pushArg => { + describe.each([['/designs'], [{ name: DESIGNS_ROUTE_NAME }]])('designs route', routeArg => { it('pushes designs root component', () => { - router.push(pushArg); + const wrapper = factory(routeArg); - expect(vm.find(Designs).exists()).toBe(true); + expect(wrapper.find(Designs).exists()).toBe(true); }); }); describe.each([['/designs/1'], [{ name: DESIGN_ROUTE_NAME, params: { id: '1' } }]])( 'designs detail route', - pushArg => { + routeArg => { it('pushes designs detail component', () => { - router.push(pushArg); + const wrapper = factory(routeArg); - return vm.vm.$nextTick().then(() => { - const detail = vm.find(DesignDetail); + return nextTick().then(() => { + const detail = wrapper.find(DesignDetail); expect(detail.exists()).toBe(true); expect(detail.props('id')).toEqual('1'); }); diff --git a/spec/frontend/design_management/utils/tracking_spec.js b/spec/frontend/design_management/utils/tracking_spec.js new file mode 100644 index 00000000000..ab540587c01 --- /dev/null +++ b/spec/frontend/design_management/utils/tracking_spec.js @@ -0,0 +1,51 @@ +import { mockTracking } from 'helpers/tracking_helper'; +import { trackDesignDetailView } from '~/design_management/utils/tracking'; + +function getTrackingSpy(key) { + return mockTracking(key, undefined, jest.spyOn); +} + +describe('Tracking Events', () => { + describe('trackDesignDetailView', () => { + const eventKey = 'projects:issues:design'; + const eventName = 'design_viewed'; + + it('trackDesignDetailView fires a tracking event when called', () => { + const trackingSpy = getTrackingSpy(eventKey); + + trackDesignDetailView(); + + expect(trackingSpy).toHaveBeenCalledWith( + eventKey, + eventName, + expect.objectContaining({ + label: eventName, + value: { + 'internal-object-refrerer': '', + 'version-number': 1, + 'current-version': false, + }, + }), + ); + }); + + it('trackDesignDetailView allows to customize the value payload', () => { + const trackingSpy = getTrackingSpy(eventKey); + + trackDesignDetailView('from-a-test', 100, true); + + expect(trackingSpy).toHaveBeenCalledWith( + eventKey, + eventName, + expect.objectContaining({ + label: eventName, + value: { + 'internal-object-refrerer': 'from-a-test', + 'version-number': 100, + 'current-version': true, + }, + }), + ); + }); + }); +}); diff --git a/spec/frontend/diffs/components/diff_content_spec.js b/spec/frontend/diffs/components/diff_content_spec.js index 979c67787f7..b78895f9e55 100644 --- a/spec/frontend/diffs/components/diff_content_spec.js +++ b/spec/frontend/diffs/components/diff_content_spec.js @@ -10,7 +10,7 @@ import ImageDiffOverlay from '~/diffs/components/image_diff_overlay.vue'; import NoteForm from '~/notes/components/note_form.vue'; import DiffDiscussions from '~/diffs/components/diff_discussions.vue'; import { IMAGE_DIFF_POSITION_TYPE } from '~/diffs/constants'; -import diffFileMockData from '../../../javascripts/diffs/mock_data/diff_file'; +import diffFileMockData from '../mock_data/diff_file'; import { diffViewerModes } from '~/ide/constants'; const localVue = createLocalVue(); diff --git a/spec/javascripts/notebook/cells/code_spec.js b/spec/frontend/notebook/cells/code_spec.js similarity index 94% rename from spec/javascripts/notebook/cells/code_spec.js rename to spec/frontend/notebook/cells/code_spec.js index f3f97145ad3..3c9aea4a61a 100644 --- a/spec/javascripts/notebook/cells/code_spec.js +++ b/spec/frontend/notebook/cells/code_spec.js @@ -25,7 +25,7 @@ describe('Code component', () => { beforeEach(done => { vm = setupComponent(json.cells[0]); - setTimeout(() => { + setImmediate(() => { done(); }); }); @@ -39,7 +39,7 @@ describe('Code component', () => { beforeEach(done => { vm = setupComponent(json.cells[2]); - setTimeout(() => { + setImmediate(() => { done(); }); }); @@ -60,7 +60,7 @@ describe('Code component', () => { vm = setupComponent(cell); - setTimeout(() => { + setImmediate(() => { done(); }); }); diff --git a/spec/javascripts/notebook/cells/markdown_spec.js b/spec/frontend/notebook/cells/markdown_spec.js similarity index 98% rename from spec/javascripts/notebook/cells/markdown_spec.js rename to spec/frontend/notebook/cells/markdown_spec.js index 07b18d97cd9..359ac90a3ef 100644 --- a/spec/javascripts/notebook/cells/markdown_spec.js +++ b/spec/frontend/notebook/cells/markdown_spec.js @@ -24,7 +24,7 @@ describe('Markdown component', () => { }); vm.$mount(); - setTimeout(() => { + setImmediate(() => { done(); }); }); diff --git a/spec/javascripts/notebook/cells/output/html_sanitize_tests.js b/spec/frontend/notebook/cells/output/html_sanitize_tests.js similarity index 100% rename from spec/javascripts/notebook/cells/output/html_sanitize_tests.js rename to spec/frontend/notebook/cells/output/html_sanitize_tests.js diff --git a/spec/javascripts/notebook/cells/output/html_spec.js b/spec/frontend/notebook/cells/output/html_spec.js similarity index 100% rename from spec/javascripts/notebook/cells/output/html_spec.js rename to spec/frontend/notebook/cells/output/html_spec.js diff --git a/spec/javascripts/notebook/cells/output/index_spec.js b/spec/frontend/notebook/cells/output/index_spec.js similarity index 94% rename from spec/javascripts/notebook/cells/output/index_spec.js rename to spec/frontend/notebook/cells/output/index_spec.js index 005569f1c2d..2b1aa5317c5 100644 --- a/spec/javascripts/notebook/cells/output/index_spec.js +++ b/spec/frontend/notebook/cells/output/index_spec.js @@ -25,7 +25,7 @@ describe('Output component', () => { beforeEach(done => { createComponent(json.cells[2].outputs[0]); - setTimeout(() => { + setImmediate(() => { done(); }); }); @@ -43,7 +43,7 @@ describe('Output component', () => { beforeEach(done => { createComponent(json.cells[3].outputs[0]); - setTimeout(() => { + setImmediate(() => { done(); }); }); @@ -73,7 +73,7 @@ describe('Output component', () => { beforeEach(done => { createComponent(json.cells[5].outputs[0]); - setTimeout(() => { + setImmediate(() => { done(); }); }); @@ -87,7 +87,7 @@ describe('Output component', () => { beforeEach(done => { createComponent(json.cells[6].outputs[0]); - setTimeout(() => { + setImmediate(() => { done(); }); }); @@ -104,7 +104,7 @@ describe('Output component', () => { it("renders as plain text when doesn't recognise other types", done => { createComponent(json.cells[7].outputs[0]); - setTimeout(() => { + setImmediate(() => { expect(vm.$el.querySelector('pre')).not.toBeNull(); expect(vm.$el.textContent.trim()).toContain('testing'); diff --git a/spec/javascripts/notebook/cells/prompt_spec.js b/spec/frontend/notebook/cells/prompt_spec.js similarity index 95% rename from spec/javascripts/notebook/cells/prompt_spec.js rename to spec/frontend/notebook/cells/prompt_spec.js index cbbcb1e68e3..cf5a7a603c6 100644 --- a/spec/javascripts/notebook/cells/prompt_spec.js +++ b/spec/frontend/notebook/cells/prompt_spec.js @@ -16,7 +16,7 @@ describe('Prompt component', () => { }); vm.$mount(); - setTimeout(() => { + setImmediate(() => { done(); }); }); @@ -40,7 +40,7 @@ describe('Prompt component', () => { }); vm.$mount(); - setTimeout(() => { + setImmediate(() => { done(); }); }); diff --git a/spec/javascripts/notebook/index_spec.js b/spec/frontend/notebook/index_spec.js similarity index 96% rename from spec/javascripts/notebook/index_spec.js rename to spec/frontend/notebook/index_spec.js index 2e2ea5ad8af..36b092be976 100644 --- a/spec/javascripts/notebook/index_spec.js +++ b/spec/frontend/notebook/index_spec.js @@ -22,7 +22,7 @@ describe('Notebook component', () => { }); vm.$mount(); - setTimeout(() => { + setImmediate(() => { done(); }); }); @@ -42,7 +42,7 @@ describe('Notebook component', () => { }); vm.$mount(); - setTimeout(() => { + setImmediate(() => { done(); }); }); @@ -74,7 +74,7 @@ describe('Notebook component', () => { }); vm.$mount(); - setTimeout(() => { + setImmediate(() => { done(); }); }); diff --git a/spec/helpers/projects/alert_management_helper_spec.rb b/spec/helpers/projects/alert_management_helper_spec.rb index e1b01f4c196..57d781d9cb3 100644 --- a/spec/helpers/projects/alert_management_helper_spec.rb +++ b/spec/helpers/projects/alert_management_helper_spec.rb @@ -13,6 +13,8 @@ describe Projects::AlertManagementHelper do let(:user_can_enable_alert_management) { true } let(:setting_path) { edit_project_service_path(project, AlertsService) } + subject(:data) { helper.alert_management_data(current_user, project) } + before do allow(helper) .to receive(:can?) @@ -27,11 +29,33 @@ describe Projects::AlertManagementHelper do 'enable-alert-management-path' => setting_path, 'empty-alert-svg-path' => match_asset_path('/assets/illustrations/alert-management-empty-state.svg'), 'user-can-enable-alert-management' => 'true', - 'alert-management-enabled' => 'true' + 'alert-management-enabled' => 'false' ) end end + context 'with alerts service' do + let_it_be(:alerts_service) { create(:alerts_service, project: project) } + + context 'when alerts service is active' do + it 'enables alert management' do + expect(data).to include( + 'alert-management-enabled' => 'true' + ) + end + end + + context 'when alerts service is inactive' do + it 'disables alert management' do + alerts_service.update(active: false) + + expect(data).to include( + 'alert-management-enabled' => 'false' + ) + end + end + end + context 'when user does not have requisite enablement permissions' do let(:user_can_enable_alert_management) { false } diff --git a/spec/javascripts/diffs/create_diffs_store.js b/spec/javascripts/diffs/create_diffs_store.js deleted file mode 100644 index 9df057dd8b2..00000000000 --- a/spec/javascripts/diffs/create_diffs_store.js +++ /dev/null @@ -1,5 +0,0 @@ -// No new code should be added to this file. Instead, modify the -// file this one re-exports from. For more detail about why, see: -// https://gitlab.com/gitlab-org/gitlab-foss/merge_requests/31349 - -export { default } from '../../frontend/diffs/create_diffs_store'; diff --git a/spec/javascripts/diffs/mock_data/diff_discussions.js b/spec/javascripts/diffs/mock_data/diff_discussions.js deleted file mode 100644 index 17586fddd0f..00000000000 --- a/spec/javascripts/diffs/mock_data/diff_discussions.js +++ /dev/null @@ -1,5 +0,0 @@ -// No new code should be added to this file. Instead, modify the -// file this one re-exports from. For more detail about why, see: -// https://gitlab.com/gitlab-org/gitlab-foss/merge_requests/31349 - -export { default } from '../../../frontend/diffs/mock_data/diff_discussions'; diff --git a/spec/javascripts/diffs/mock_data/diff_file.js b/spec/javascripts/diffs/mock_data/diff_file.js deleted file mode 100644 index 9dc365b7403..00000000000 --- a/spec/javascripts/diffs/mock_data/diff_file.js +++ /dev/null @@ -1,5 +0,0 @@ -// No new code should be added to this file. Instead, modify the -// file this one re-exports from. For more detail about why, see: -// https://gitlab.com/gitlab-org/gitlab-foss/merge_requests/31349 - -export { default } from '../../../frontend/diffs/mock_data/diff_file'; diff --git a/spec/javascripts/diffs/mock_data/diff_file_unreadable.js b/spec/javascripts/diffs/mock_data/diff_file_unreadable.js deleted file mode 100644 index 09a0dc61847..00000000000 --- a/spec/javascripts/diffs/mock_data/diff_file_unreadable.js +++ /dev/null @@ -1,5 +0,0 @@ -// No new code should be added to this file. Instead, modify the -// file this one re-exports from. For more detail about why, see: -// https://gitlab.com/gitlab-org/gitlab-foss/merge_requests/31349 - -export { default } from '../../../frontend/diffs/mock_data/diff_file_unreadable'; diff --git a/spec/javascripts/diffs/mock_data/diff_with_commit.js b/spec/javascripts/diffs/mock_data/diff_with_commit.js deleted file mode 100644 index c36b0239060..00000000000 --- a/spec/javascripts/diffs/mock_data/diff_with_commit.js +++ /dev/null @@ -1,7 +0,0 @@ -// No new code should be added to this file. Instead, modify the -// file this one re-exports from. For more detail about why, see: -// https://gitlab.com/gitlab-org/gitlab-foss/merge_requests/31349 - -import getDiffWithCommit from '../../../frontend/diffs/mock_data/diff_with_commit'; - -export default getDiffWithCommit; diff --git a/spec/javascripts/diffs/mock_data/merge_request_diffs.js b/spec/javascripts/diffs/mock_data/merge_request_diffs.js deleted file mode 100644 index de29eb7e560..00000000000 --- a/spec/javascripts/diffs/mock_data/merge_request_diffs.js +++ /dev/null @@ -1,7 +0,0 @@ -// No new code should be added to this file. Instead, modify the -// file this one re-exports from. For more detail about why, see: -// https://gitlab.com/gitlab-org/gitlab-foss/merge_requests/31349 - -import diffsMockData from '../../../frontend/diffs/mock_data/merge_request_diffs'; - -export default diffsMockData; diff --git a/spec/javascripts/helpers/init_vue_mr_page_helper.js b/spec/javascripts/helpers/init_vue_mr_page_helper.js index 04f969fcd2d..1ba08199764 100644 --- a/spec/javascripts/helpers/init_vue_mr_page_helper.js +++ b/spec/javascripts/helpers/init_vue_mr_page_helper.js @@ -2,7 +2,7 @@ import MockAdapter from 'axios-mock-adapter'; import initMRPage from '~/mr_notes/index'; import axios from '~/lib/utils/axios_utils'; import { userDataMock, notesDataMock, noteableDataMock } from '../../frontend/notes/mock_data'; -import diffFileMockData from '../diffs/mock_data/diff_file'; +import diffFileMockData from '../../frontend/diffs/mock_data/diff_file'; export default function initVueMRPage() { const mrTestEl = document.createElement('div'); diff --git a/spec/presenters/projects/prometheus/alert_presenter_spec.rb b/spec/presenters/projects/prometheus/alert_presenter_spec.rb index 85c73aa3533..967a0fb2c09 100644 --- a/spec/presenters/projects/prometheus/alert_presenter_spec.rb +++ b/spec/presenters/projects/prometheus/alert_presenter_spec.rb @@ -152,6 +152,148 @@ describe Projects::Prometheus::AlertPresenter do end end end + + context 'with embedded metrics' do + let(:starts_at) { '2018-03-12T09:06:00Z' } + + shared_examples_for 'markdown with metrics embed' do + let(:expected_markdown) do + <<~MARKDOWN.chomp + #### Summary + + **Start time:** #{presenter.starts_at}#{markdown_line_break} + **full_query:** `avg(metric) > 1.0` + + [](#{url}) + MARKDOWN + end + + context 'without a starting time available' do + around do |example| + Timecop.freeze(starts_at) { example.run } + end + + it { is_expected.to eq(expected_markdown) } + end + + context 'with a starting time available' do + before do + payload['startsAt'] = starts_at + end + + it { is_expected.to eq(expected_markdown) } + end + end + + context 'for gitlab-managed prometheus alerts' do + let(:gitlab_alert) { create(:prometheus_alert, project: project) } + let(:metric_id) { gitlab_alert.prometheus_metric_id } + let(:env_id) { gitlab_alert.environment_id } + + before do + payload['labels'] = { 'gitlab_alert_id' => metric_id } + end + + let(:url) { "http://localhost/#{project.full_path}/prometheus/alerts/#{metric_id}/metrics_dashboard?end=2018-03-12T09%3A36%3A00Z&environment_id=#{env_id}&start=2018-03-12T08%3A36%3A00Z" } + + it_behaves_like 'markdown with metrics embed' + end + + context 'for alerts from a self-managed prometheus' do + let!(:environment) { create(:environment, project: project, name: 'production') } + let(:url) { "http://localhost/#{project.full_path}/-/environments/#{environment.id}/metrics_dashboard?embed_json=#{CGI.escape(embed_content.to_json)}&end=2018-03-12T09%3A36%3A00Z&start=2018-03-12T08%3A36%3A00Z" } + + let(:title) { 'title' } + let(:y_label) { 'y_label' } + let(:query) { 'avg(metric) > 1.0' } + let(:embed_content) do + { + panel_groups: [{ + panels: [{ + type: 'line-graph', + title: title, + y_label: y_label, + metrics: [{ query_range: query }] + }] + }] + } + end + + before do + # Setup embed time range + payload['startsAt'] = starts_at + + # Setup query + payload['generatorURL'] = "http://host?g0.expr=#{CGI.escape(query)}" + + # Setup environment + payload['labels'] ||= {} + payload['labels']['gitlab_environment_name'] = 'production' + + # Setup chart title & axis labels + payload['annotations'] ||= {} + payload['annotations']['title'] = 'title' + payload['annotations']['gitlab_y_label'] = 'y_label' + end + + it_behaves_like 'markdown with metrics embed' + + context 'without y_label' do + let(:y_label) { title } + + before do + payload['annotations'].delete('gitlab_y_label') + end + + it_behaves_like 'markdown with metrics embed' + end + + context 'when not enough information is present for an embed' do + let(:expected_markdown) do + <<~MARKDOWN.chomp + #### Summary + + **Start time:** #{presenter.starts_at}#{markdown_line_break} + **full_query:** `avg(metric) > 1.0` + + MARKDOWN + end + + context 'without title' do + before do + payload['annotations'].delete('title') + end + + it { is_expected.to eq(expected_markdown) } + end + + context 'without environment' do + before do + payload['labels'].delete('gitlab_environment_name') + end + + it { is_expected.to eq(expected_markdown) } + end + + context 'without full_query' do + let(:expected_markdown) do + <<~MARKDOWN.chomp + #### Summary + + **Start time:** #{presenter.starts_at} + + MARKDOWN + end + + before do + payload.delete('generatorURL') + end + + it { is_expected.to eq(expected_markdown) } + end + end + end + end end describe '#show_performance_dashboard_link?' do