Commit 98cff07c authored by GitLab Bot's avatar GitLab Bot

Automatic merge of gitlab-org/gitlab master

parents f6bb8a5d ff875692
...@@ -166,7 +166,7 @@ module CommitsHelper ...@@ -166,7 +166,7 @@ module CommitsHelper
path = project_blob_path(project, tree_join(commit_sha, diff_new_path)) path = project_blob_path(project, tree_join(commit_sha, diff_new_path))
title = replaced ? _('View replaced file @ ') : _('View file @ ') title = replaced ? _('View replaced file @ ') : _('View file @ ')
link_to(path, class: 'btn') do link_to(path, class: 'btn gl-button btn-default') do
raw(title) + content_tag(:span, truncate_sha(commit_sha), class: 'commit-sha') raw(title) + content_tag(:span, truncate_sha(commit_sha), class: 'commit-sha')
end end
end end
......
...@@ -133,7 +133,7 @@ module DiffHelper ...@@ -133,7 +133,7 @@ module DiffHelper
].join('').html_safe ].join('').html_safe
tooltip = _('Compare submodule commit revisions') tooltip = _('Compare submodule commit revisions')
link = content_tag(:span, link_to(link_text, compare_url, class: 'btn has-tooltip', title: tooltip), class: 'submodule-compare') link = content_tag(:span, link_to(link_text, compare_url, class: 'btn gl-button has-tooltip', title: tooltip), class: 'submodule-compare')
end end
link link
...@@ -223,7 +223,7 @@ module DiffHelper ...@@ -223,7 +223,7 @@ module DiffHelper
# Always use HTML to handle case where JSON diff rendered this button # Always use HTML to handle case where JSON diff rendered this button
params_copy.delete(:format) params_copy.delete(:format)
link_to url_for(params_copy), id: "#{name}-diff-btn", class: (selected ? 'btn active' : 'btn'), data: { view_type: name } do link_to url_for(params_copy), id: "#{name}-diff-btn", class: (selected ? 'btn gl-button active' : 'btn gl-button'), data: { view_type: name } do
title title
end end
end end
...@@ -252,7 +252,7 @@ module DiffHelper ...@@ -252,7 +252,7 @@ module DiffHelper
end end
def toggle_whitespace_link(url, options) def toggle_whitespace_link(url, options)
options[:class] = [*options[:class], 'btn btn-default'].join(' ') options[:class] = [*options[:class], 'btn gl-button btn-default'].join(' ')
link_to "#{hide_whitespace? ? 'Show' : 'Hide'} whitespace changes", url, class: options[:class] link_to "#{hide_whitespace? ? 'Show' : 'Hide'} whitespace changes", url, class: options[:class]
end end
......
...@@ -22,13 +22,13 @@ ...@@ -22,13 +22,13 @@
.header-action-buttons .header-action-buttons
- if defined?(@notes_count) && @notes_count > 0 - if defined?(@notes_count) && @notes_count > 0
%span.btn.disabled.gl-button.btn-icon.d-none.d-sm-inline.gl-mr-3.has-tooltip{ title: n_("%d comment on this commit", "%d comments on this commit", @notes_count) % @notes_count } %span.btn.gl-button.btn-default.disabled.gl-button.btn-icon.d-none.d-sm-inline.gl-mr-3.has-tooltip{ title: n_("%d comment on this commit", "%d comments on this commit", @notes_count) % @notes_count }
= sprite_icon('comment') = sprite_icon('comment')
= @notes_count = @notes_count
= link_to project_tree_path(@project, @commit), class: "btn gl-button gl-mr-3 d-none d-md-inline" do = link_to project_tree_path(@project, @commit), class: "btn gl-button btn-default gl-mr-3 d-none d-md-inline" do
#{ _('Browse files') } #{ _('Browse files') }
.dropdown.inline .dropdown.inline
%a.btn.gl-button.dropdown-toggle.qa-options-button.d-md-inline{ data: { toggle: "dropdown" } } %a.btn.gl-button.btn-default.dropdown-toggle.qa-options-button.d-md-inline{ data: { toggle: "dropdown" } }
%span= _('Options') %span= _('Options')
= sprite_icon('chevron-down', css_class: 'gl-text-gray-500') = sprite_icon('chevron-down', css_class: 'gl-text-gray-500')
%ul.dropdown-menu.dropdown-menu-right %ul.dropdown-menu.dropdown-menu-right
......
...@@ -16,7 +16,7 @@ ...@@ -16,7 +16,7 @@
- unless diff_file.submodule? - unless diff_file.submodule?
.file-actions.d-none.d-sm-block .file-actions.d-none.d-sm-block
- if diff_file.blob&.readable_text? - if diff_file.blob&.readable_text?
= link_to '#', class: 'js-toggle-diff-comments gl-button btn active has-tooltip', title: _("Toggle comments for this file"), disabled: @diff_notes_disabled do = link_to '#', class: 'js-toggle-diff-comments btn gl-button active has-tooltip', title: _("Toggle comments for this file"), disabled: @diff_notes_disabled do
= sprite_icon('comment') = sprite_icon('comment')
\ \
- if editable_diff?(diff_file) - if editable_diff?(diff_file)
......
---
title: Apply new GitLab UI for buttons in commit page
merge_request: 53555
author: Yogi (@yo)
type: other
...@@ -33,3 +33,5 @@ export const PortMatchModePortProtocol = 'port/protocol'; ...@@ -33,3 +33,5 @@ export const PortMatchModePortProtocol = 'port/protocol';
export const DisabledByLabel = 'network-policy.gitlab.com/disabled_by'; export const DisabledByLabel = 'network-policy.gitlab.com/disabled_by';
export const CiliumNetworkPolicyKind = 'CiliumNetworkPolicy'; export const CiliumNetworkPolicyKind = 'CiliumNetworkPolicy';
export const ProjectIdLabel = 'app.gitlab.com/proj';
...@@ -113,7 +113,7 @@ function parseRule(item, direction) { ...@@ -113,7 +113,7 @@ function parseRule(item, direction) {
*/ */
export default function fromYaml(manifest) { export default function fromYaml(manifest) {
const { description, metadata, spec } = safeLoad(manifest, { json: true }); const { description, metadata, spec } = safeLoad(manifest, { json: true });
const { name, resourceVersion, annotations } = metadata; const { name, resourceVersion, annotations, labels } = metadata;
const { endpointSelector = {}, ingress = [], egress = [] } = spec; const { endpointSelector = {}, ingress = [], egress = [] } = spec;
const matchLabels = endpointSelector.matchLabels || {}; const matchLabels = endpointSelector.matchLabels || {};
...@@ -135,6 +135,7 @@ export default function fromYaml(manifest) { ...@@ -135,6 +135,7 @@ export default function fromYaml(manifest) {
resourceVersion, resourceVersion,
description, description,
annotations, annotations,
labels,
isEnabled: !Object.keys(matchLabels).includes(DisabledByLabel), isEnabled: !Object.keys(matchLabels).includes(DisabledByLabel),
endpointMatchMode: endpointLabels.length > 0 ? EndpointMatchModeLabel : EndpointMatchModeAny, endpointMatchMode: endpointLabels.length > 0 ? EndpointMatchModeLabel : EndpointMatchModeAny,
endpointLabels: endpointLabels.join(' '), endpointLabels: endpointLabels.join(' '),
......
...@@ -33,11 +33,14 @@ function spec({ rules, isEnabled, endpointMatchMode, endpointLabels }) { ...@@ -33,11 +33,14 @@ function spec({ rules, isEnabled, endpointMatchMode, endpointLabels }) {
Return yaml representation of a policy. Return yaml representation of a policy.
*/ */
export default function toYaml(policy) { export default function toYaml(policy) {
const { annotations, name, resourceVersion, description } = policy; const { annotations, name, resourceVersion, description, labels } = policy;
const metadata = { name }; const metadata = { name };
if (annotations) { if (annotations) {
metadata.annotations = annotations; metadata.annotations = annotations;
} }
if (labels) {
metadata.labels = labels;
}
if (resourceVersion) { if (resourceVersion) {
metadata.resourceVersion = resourceVersion; metadata.resourceVersion = resourceVersion;
} }
......
...@@ -27,6 +27,7 @@ import { ...@@ -27,6 +27,7 @@ import {
EditorModeYAML, EditorModeYAML,
EndpointMatchModeAny, EndpointMatchModeAny,
RuleTypeEndpoint, RuleTypeEndpoint,
ProjectIdLabel,
} from './constants'; } from './constants';
import toYaml from './lib/to_yaml'; import toYaml from './lib/to_yaml';
import fromYaml from './lib/from_yaml'; import fromYaml from './lib/from_yaml';
...@@ -64,6 +65,10 @@ export default { ...@@ -64,6 +65,10 @@ export default {
required: false, required: false,
default: null, default: null,
}, },
projectId: {
type: String,
required: true,
},
}, },
data() { data() {
const policy = this.existingPolicy const policy = this.existingPolicy
...@@ -76,8 +81,9 @@ export default { ...@@ -76,8 +81,9 @@ export default {
endpointLabels: '', endpointLabels: '',
rules: [], rules: [],
annotations: '', annotations: '',
labels: '',
}; };
policy.labels = { [ProjectIdLabel]: this.projectId };
return { return {
editorMode: EditorModeRule, editorMode: EditorModeRule,
yamlEditorValue: '', yamlEditorValue: '',
......
...@@ -20,6 +20,7 @@ export default () => { ...@@ -20,6 +20,7 @@ export default () => {
threatMonitoringPath, threatMonitoringPath,
policy, policy,
projectPath, projectPath,
projectId,
environmentId, environmentId,
} = el.dataset; } = el.dataset;
...@@ -35,7 +36,7 @@ export default () => { ...@@ -35,7 +36,7 @@ export default () => {
store.dispatch('threatMonitoring/setCurrentEnvironmentId', parseInt(environmentId, 10)); store.dispatch('threatMonitoring/setCurrentEnvironmentId', parseInt(environmentId, 10));
} }
const props = { threatMonitoringPath }; const props = { threatMonitoringPath, projectId };
if (policy) { if (policy) {
props.existingPolicy = JSON.parse(policy); props.existingPolicy = JSON.parse(policy);
} }
......
...@@ -23,6 +23,7 @@ module PolicyHelper ...@@ -23,6 +23,7 @@ module PolicyHelper
create_agent_help_path: help_page_url('user/clusters/agent/index.md', anchor: 'create-an-agent-record-in-gitlab'), create_agent_help_path: help_page_url('user/clusters/agent/index.md', anchor: 'create-an-agent-record-in-gitlab'),
environments_endpoint: project_environments_path(project), environments_endpoint: project_environments_path(project),
project_path: project.full_path, project_path: project.full_path,
project_id: project.id,
threat_monitoring_path: project_threat_monitoring_path(project) threat_monitoring_path: project_threat_monitoring_path(project)
} }
end end
......
---
title: Add alert related labels to CiliumNetworkPolicies. The label will contain the
project id and will be applicable to both new and existing policies
merge_request: 53401
author:
type: changed
...@@ -197,6 +197,8 @@ exports[`PolicyEditorApp component renders the policy editor layout 1`] = ` ...@@ -197,6 +197,8 @@ exports[`PolicyEditorApp component renders the policy editor layout 1`] = `
kind: CiliumNetworkPolicy kind: CiliumNetworkPolicy
metadata: metadata:
name: '' name: ''
labels:
app.gitlab.com/proj: '21'
spec: spec:
endpointSelector: endpointSelector:
matchLabels: matchLabels:
......
...@@ -20,13 +20,14 @@ describe('fromYaml', () => { ...@@ -20,13 +20,14 @@ describe('fromYaml', () => {
const cidrExample = '20.1.1.1/32 20.1.1.2/32'; const cidrExample = '20.1.1.1/32 20.1.1.2/32';
const portExample = '80 81/udp 82/tcp'; const portExample = '80 81/udp 82/tcp';
const labels = { 'app.gitlab.com/proj': '21' };
beforeEach(() => { beforeEach(() => {
policy = { policy = {
name: 'test-policy', name: 'test-policy',
endpointLabels: '', endpointLabels: '',
rules: [], rules: [],
isEnabled: true, isEnabled: true,
labels,
}; };
}); });
...@@ -37,6 +38,7 @@ describe('fromYaml', () => { ...@@ -37,6 +38,7 @@ describe('fromYaml', () => {
endpointMatchMode: EndpointMatchModeAny, endpointMatchMode: EndpointMatchModeAny,
endpointLabels: '', endpointLabels: '',
rules: [], rules: [],
labels,
}); });
}); });
......
...@@ -139,6 +139,26 @@ spec: ...@@ -139,6 +139,26 @@ spec:
- fromEndpoints: - fromEndpoints:
- matchLabels: - matchLabels:
foo: bar foo: bar
`);
});
});
describe('when labels are not empty', () => {
beforeEach(() => {
policy.labels = { 'app.gitlab.com/proj': '21' };
});
it('returns yaml representation', () => {
expect(toYaml(policy)).toEqual(`apiVersion: cilium.io/v2
kind: CiliumNetworkPolicy
metadata:
name: test-policy
labels:
app.gitlab.com/proj: '21'
spec:
endpointSelector:
matchLabels:
network-policy.gitlab.com/disabled_by: gitlab
`); `);
}); });
}); });
......
...@@ -38,6 +38,7 @@ describe('PolicyEditorApp component', () => { ...@@ -38,6 +38,7 @@ describe('PolicyEditorApp component', () => {
wrapper = shallowMount(PolicyEditorApp, { wrapper = shallowMount(PolicyEditorApp, {
propsData: { propsData: {
threatMonitoringPath: '/threat-monitoring', threatMonitoringPath: '/threat-monitoring',
projectId: '21',
...propsData, ...propsData,
}, },
provide: { provide: {
...@@ -124,6 +125,8 @@ kind: CiliumNetworkPolicy ...@@ -124,6 +125,8 @@ kind: CiliumNetworkPolicy
description: test description description: test description
metadata: metadata:
name: test-policy name: test-policy
labels:
app.gitlab.com/proj: '21'
spec: spec:
endpointSelector: endpointSelector:
matchLabels: matchLabels:
...@@ -147,6 +150,7 @@ spec: ...@@ -147,6 +150,7 @@ spec:
matchLabels: 'foo:bar', matchLabels: 'foo:bar',
}, },
], ],
labels: { 'app.gitlab.com/proj': '21' },
}); });
}); });
}); });
......
...@@ -22,6 +22,7 @@ RSpec.describe PolicyHelper do ...@@ -22,6 +22,7 @@ RSpec.describe PolicyHelper do
create_agent_help_path: kind_of(String), create_agent_help_path: kind_of(String),
environments_endpoint: kind_of(String), environments_endpoint: kind_of(String),
project_path: project.full_path, project_path: project.full_path,
project_id: project.id,
threat_monitoring_path: kind_of(String) threat_monitoring_path: kind_of(String)
} }
end end
......
...@@ -5,7 +5,7 @@ require 'spec_helper' ...@@ -5,7 +5,7 @@ require 'spec_helper'
RSpec.describe Analytics::MergeRequestMetricsCalculator do RSpec.describe Analytics::MergeRequestMetricsCalculator do
subject { described_class.new(merge_request) } subject { described_class.new(merge_request) }
let_it_be(:merge_request) { create(:merge_request, :merged, :with_diffs, created_at: 31.days.ago) } let_it_be(:merge_request) { create(:merge_request, :merged, created_at: 31.days.ago) }
let_it_be(:merge_request_note) do let_it_be(:merge_request_note) do
create(:diff_note_on_merge_request, noteable: merge_request, project: merge_request.source_project, author: create(:user)) create(:diff_note_on_merge_request, noteable: merge_request, project: merge_request.source_project, author: create(:user))
end end
......
...@@ -6,7 +6,7 @@ RSpec.describe EE::API::Entities::Analytics::CodeReview::MergeRequest do ...@@ -6,7 +6,7 @@ RSpec.describe EE::API::Entities::Analytics::CodeReview::MergeRequest do
subject(:entity_representation) { described_class.new(merge_request).as_json } subject(:entity_representation) { described_class.new(merge_request).as_json }
let(:merge_request) do let(:merge_request) do
create(:merge_request, :with_diffs, :with_productivity_metrics, create(:merge_request, :with_productivity_metrics,
milestone: milestone, milestone: milestone,
source_project: project, source_project: project,
metrics_data: { first_comment_at: 1.day.ago, merged_at: 1.hour.ago } metrics_data: { first_comment_at: 1.day.ago, merged_at: 1.hour.ago }
......
...@@ -1371,7 +1371,6 @@ RSpec.describe Projects::MergeRequestsController do ...@@ -1371,7 +1371,6 @@ RSpec.describe Projects::MergeRequestsController do
describe 'GET test_reports' do describe 'GET test_reports' do
let_it_be(:merge_request) do let_it_be(:merge_request) do
create(:merge_request, create(:merge_request,
:with_diffs,
:with_merge_request_pipeline, :with_merge_request_pipeline,
target_project: project, target_project: project,
source_project: project source_project: project
...@@ -1482,7 +1481,6 @@ RSpec.describe Projects::MergeRequestsController do ...@@ -1482,7 +1481,6 @@ RSpec.describe Projects::MergeRequestsController do
describe 'GET accessibility_reports' do describe 'GET accessibility_reports' do
let_it_be(:merge_request) do let_it_be(:merge_request) do
create(:merge_request, create(:merge_request,
:with_diffs,
:with_merge_request_pipeline, :with_merge_request_pipeline,
target_project: project, target_project: project,
source_project: project source_project: project
...@@ -1603,7 +1601,6 @@ RSpec.describe Projects::MergeRequestsController do ...@@ -1603,7 +1601,6 @@ RSpec.describe Projects::MergeRequestsController do
describe 'GET codequality_reports' do describe 'GET codequality_reports' do
let_it_be(:merge_request) do let_it_be(:merge_request) do
create(:merge_request, create(:merge_request,
:with_diffs,
:with_merge_request_pipeline, :with_merge_request_pipeline,
target_project: project, target_project: project,
source_project: project source_project: project
......
...@@ -21,9 +21,6 @@ FactoryBot.define do ...@@ -21,9 +21,6 @@ FactoryBot.define do
merge_status { "can_be_merged" } merge_status { "can_be_merged" }
trait :with_diffs do
end
trait :jira_title do trait :jira_title do
title { generate(:jira_title) } title { generate(:jira_title) }
end end
...@@ -306,7 +303,7 @@ FactoryBot.define do ...@@ -306,7 +303,7 @@ FactoryBot.define do
factory :closed_merge_request, traits: [:closed] factory :closed_merge_request, traits: [:closed]
factory :reopened_merge_request, traits: [:opened] factory :reopened_merge_request, traits: [:opened]
factory :invalid_merge_request, traits: [:invalid] factory :invalid_merge_request, traits: [:invalid]
factory :merge_request_with_diffs, traits: [:with_diffs] factory :merge_request_with_diffs
factory :merge_request_with_diff_notes do factory :merge_request_with_diff_notes do
after(:create) do |mr| after(:create) do |mr|
create(:diff_note_on_merge_request, noteable: mr, project: mr.source_project) create(:diff_note_on_merge_request, noteable: mr, project: mr.source_project)
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
require 'spec_helper' require 'spec_helper'
RSpec.describe 'IDE merge request', :js do RSpec.describe 'IDE merge request', :js do
let(:merge_request) { create(:merge_request, :with_diffs, :simple, source_project: project) } let(:merge_request) { create(:merge_request, :simple, source_project: project) }
let(:project) { create(:project, :public, :repository) } let(:project) { create(:project, :public, :repository) }
let(:user) { project.owner } let(:user) { project.owner }
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
require 'spec_helper' require 'spec_helper'
RSpec.describe 'User accepts a merge request', :js, :sidekiq_might_not_need_inline do RSpec.describe 'User accepts a merge request', :js, :sidekiq_might_not_need_inline do
let(:merge_request) { create(:merge_request, :with_diffs, :simple, source_project: project) } let(:merge_request) { create(:merge_request, :simple, source_project: project) }
let(:project) { create(:project, :public, :repository) } let(:project) { create(:project, :public, :repository) }
let(:user) { create(:user) } let(:user) { create(:user) }
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
require 'spec_helper' require 'spec_helper'
RSpec.describe 'User reverts a merge request', :js do RSpec.describe 'User reverts a merge request', :js do
let(:merge_request) { create(:merge_request, :with_diffs, :simple, source_project: project) } let(:merge_request) { create(:merge_request, :simple, source_project: project) }
let(:project) { create(:project, :public, :repository) } let(:project) { create(:project, :public, :repository) }
let(:user) { create(:user) } let(:user) { create(:user) }
......
...@@ -10,7 +10,7 @@ RSpec.describe 'Merge Requests > User filters by milestones', :js do ...@@ -10,7 +10,7 @@ RSpec.describe 'Merge Requests > User filters by milestones', :js do
let(:milestone) { create(:milestone, project: project) } let(:milestone) { create(:milestone, project: project) }
before do before do
create(:merge_request, :with_diffs, source_project: project) create(:merge_request, source_project: project)
create(:merge_request, :simple, source_project: project, milestone: milestone) create(:merge_request, :simple, source_project: project, milestone: milestone)
sign_in(user) sign_in(user)
......
...@@ -95,7 +95,7 @@ RSpec.describe 'issuable templates', :js do ...@@ -95,7 +95,7 @@ RSpec.describe 'issuable templates', :js do
let(:bug_template_content) { 'this is merge request bug template' } let(:bug_template_content) { 'this is merge request bug template' }
let(:template_override_warning) { 'Applying a template will replace the existing issue description.' } let(:template_override_warning) { 'Applying a template will replace the existing issue description.' }
let(:updated_description) { 'updated merge request description' } let(:updated_description) { 'updated merge request description' }
let(:merge_request) { create(:merge_request, :with_diffs, source_project: project) } let(:merge_request) { create(:merge_request, source_project: project) }
before do before do
project.repository.create_file( project.repository.create_file(
...@@ -154,7 +154,7 @@ RSpec.describe 'issuable templates', :js do ...@@ -154,7 +154,7 @@ RSpec.describe 'issuable templates', :js do
let(:template_content) { 'this is a test "feature-proposal" template' } let(:template_content) { 'this is a test "feature-proposal" template' }
let(:fork_user) { create(:user) } let(:fork_user) { create(:user) }
let(:forked_project) { fork_project(project, fork_user, repository: true) } let(:forked_project) { fork_project(project, fork_user, repository: true) }
let(:merge_request) { create(:merge_request, :with_diffs, source_project: forked_project, target_project: project) } let(:merge_request) { create(:merge_request, source_project: forked_project, target_project: project) }
before do before do
sign_out(:user) sign_out(:user)
......
...@@ -22,7 +22,6 @@ RSpec.describe Projects::MergeRequestsController, '(JavaScript fixtures)', type: ...@@ -22,7 +22,6 @@ RSpec.describe Projects::MergeRequestsController, '(JavaScript fixtures)', type:
let(:merge_request) do let(:merge_request) do
create( create(
:merge_request, :merge_request,
:with_diffs,
source_project: project, source_project: project,
target_project: project, target_project: project,
description: description description: description
......
...@@ -8,7 +8,7 @@ RSpec.describe Projects::MergeRequests::DiffsController, '(JavaScript fixtures)' ...@@ -8,7 +8,7 @@ RSpec.describe Projects::MergeRequests::DiffsController, '(JavaScript fixtures)'
let(:namespace) { create(:namespace, name: 'frontend-fixtures' )} let(:namespace) { create(:namespace, name: 'frontend-fixtures' )}
let(:project) { create(:project, :repository, namespace: namespace, path: 'merge-requests-project') } let(:project) { create(:project, :repository, namespace: namespace, path: 'merge-requests-project') }
let(:user) { project.owner } let(:user) { project.owner }
let(:merge_request) { create(:merge_request, :with_diffs, source_project: project, target_project: project, description: '- [ ] Task List Item') } let(:merge_request) { create(:merge_request, source_project: project, target_project: project, description: '- [ ] Task List Item') }
let(:path) { "files/ruby/popen.rb" } let(:path) { "files/ruby/popen.rb" }
let(:position) do let(:position) do
build(:text_diff_position, :added, build(:text_diff_position, :added,
......
...@@ -7,7 +7,7 @@ RSpec.describe ::API::Entities::MergeRequestBasic do ...@@ -7,7 +7,7 @@ RSpec.describe ::API::Entities::MergeRequestBasic do
let_it_be(:project) { create(:project, :public) } let_it_be(:project) { create(:project, :public) }
let_it_be(:merge_request) { create(:merge_request) } let_it_be(:merge_request) { create(:merge_request) }
let_it_be(:labels) { create_list(:label, 3) } let_it_be(:labels) { create_list(:label, 3) }
let_it_be(:merge_requests) { create_list(:labeled_merge_request, 10, :unique_branches, :with_diffs, labels: labels) } let_it_be(:merge_requests) { create_list(:labeled_merge_request, 10, :unique_branches, labels: labels) }
# This mimics the behavior of the `Grape::Entity` serializer # This mimics the behavior of the `Grape::Entity` serializer
def present(obj) def present(obj)
......
...@@ -216,7 +216,7 @@ RSpec.describe Banzai::Filter::MergeRequestReferenceFilter do ...@@ -216,7 +216,7 @@ RSpec.describe Banzai::Filter::MergeRequestReferenceFilter do
end end
context 'URL reference for a commit' do context 'URL reference for a commit' do
let(:mr) { create(:merge_request, :with_diffs) } let(:mr) { create(:merge_request) }
let(:reference) do let(:reference) do
urls.project_merge_request_url(mr.project, mr) + "/diffs?commit_id=#{mr.diff_head_sha}" urls.project_merge_request_url(mr.project, mr) + "/diffs?commit_id=#{mr.diff_head_sha}"
end end
......
...@@ -80,7 +80,7 @@ RSpec.describe MergeRequestDiff do ...@@ -80,7 +80,7 @@ RSpec.describe MergeRequestDiff do
describe '.by_commit_sha' do describe '.by_commit_sha' do
subject(:by_commit_sha) { described_class.by_commit_sha(sha) } subject(:by_commit_sha) { described_class.by_commit_sha(sha) }
let!(:merge_request) { create(:merge_request, :with_diffs) } let!(:merge_request) { create(:merge_request) }
context 'with sha contained in' do context 'with sha contained in' do
let(:sha) { 'b83d6e391c22777fca1ed3012fce84f633d7fed0' } let(:sha) { 'b83d6e391c22777fca1ed3012fce84f633d7fed0' }
...@@ -358,7 +358,7 @@ RSpec.describe MergeRequestDiff do ...@@ -358,7 +358,7 @@ RSpec.describe MergeRequestDiff do
end end
describe '#latest?' do describe '#latest?' do
let!(:mr) { create(:merge_request, :with_diffs) } let!(:mr) { create(:merge_request) }
let!(:first_diff) { mr.merge_request_diff } let!(:first_diff) { mr.merge_request_diff }
let!(:last_diff) { mr.create_merge_request_diff } let!(:last_diff) { mr.create_merge_request_diff }
...@@ -367,7 +367,7 @@ RSpec.describe MergeRequestDiff do ...@@ -367,7 +367,7 @@ RSpec.describe MergeRequestDiff do
end end
shared_examples_for 'merge request diffs' do shared_examples_for 'merge request diffs' do
let(:merge_request) { create(:merge_request, :with_diffs) } let(:merge_request) { create(:merge_request) }
let!(:diff) { merge_request.merge_request_diff.reload } let!(:diff) { merge_request.merge_request_diff.reload }
context 'when it was not cleaned by the system' do context 'when it was not cleaned by the system' do
......
...@@ -365,7 +365,7 @@ RSpec.describe MergeRequest, factory_default: :keep do ...@@ -365,7 +365,7 @@ RSpec.describe MergeRequest, factory_default: :keep do
describe '.by_commit_sha' do describe '.by_commit_sha' do
subject(:by_commit_sha) { described_class.by_commit_sha(sha) } subject(:by_commit_sha) { described_class.by_commit_sha(sha) }
let!(:merge_request) { create(:merge_request, :with_diffs) } let!(:merge_request) { create(:merge_request) }
context 'with sha contained in latest merge request diff' do context 'with sha contained in latest merge request diff' do
let(:sha) { 'b83d6e391c22777fca1ed3012fce84f633d7fed0' } let(:sha) { 'b83d6e391c22777fca1ed3012fce84f633d7fed0' }
...@@ -431,7 +431,7 @@ RSpec.describe MergeRequest, factory_default: :keep do ...@@ -431,7 +431,7 @@ RSpec.describe MergeRequest, factory_default: :keep do
end end
context 'when commit is a part of the merge request' do context 'when commit is a part of the merge request' do
let!(:merge_request) { create(:merge_request, :with_diffs) } let!(:merge_request) { create(:merge_request) }
let(:sha) { 'b83d6e391c22777fca1ed3012fce84f633d7fed0' } let(:sha) { 'b83d6e391c22777fca1ed3012fce84f633d7fed0' }
it { is_expected.to eq([merge_request]) } it { is_expected.to eq([merge_request]) }
...@@ -451,7 +451,7 @@ RSpec.describe MergeRequest, factory_default: :keep do ...@@ -451,7 +451,7 @@ RSpec.describe MergeRequest, factory_default: :keep do
end end
context 'when commit is part of the merge request and a squash commit at the same time' do context 'when commit is part of the merge request and a squash commit at the same time' do
let!(:merge_request) { create(:merge_request, :with_diffs) } let!(:merge_request) { create(:merge_request) }
let(:sha) { merge_request.commits.first.id } let(:sha) { merge_request.commits.first.id }
before do before do
...@@ -825,7 +825,7 @@ RSpec.describe MergeRequest, factory_default: :keep do ...@@ -825,7 +825,7 @@ RSpec.describe MergeRequest, factory_default: :keep do
let(:last_branch_commit) { subject.source_project.repository.commit(Gitlab::Git::BRANCH_REF_PREFIX + subject.source_branch) } let(:last_branch_commit) { subject.source_project.repository.commit(Gitlab::Git::BRANCH_REF_PREFIX + subject.source_branch) }
context 'with diffs' do context 'with diffs' do
subject { create(:merge_request, :with_diffs) } subject { create(:merge_request) }
it 'returns the sha of the source branch last commit' do it 'returns the sha of the source branch last commit' do
expect(subject.source_branch_sha).to eq(last_branch_commit.sha) expect(subject.source_branch_sha).to eq(last_branch_commit.sha)
...@@ -892,7 +892,7 @@ RSpec.describe MergeRequest, factory_default: :keep do ...@@ -892,7 +892,7 @@ RSpec.describe MergeRequest, factory_default: :keep do
let(:options) { { paths: ['a/b', 'b/a', 'c/*'] } } let(:options) { { paths: ['a/b', 'b/a', 'c/*'] } }
context 'when there are MR diffs' do context 'when there are MR diffs' do
let(:merge_request) { create(:merge_request, :with_diffs) } let(:merge_request) { create(:merge_request) }
it 'delegates to the MR diffs' do it 'delegates to the MR diffs' do
expect(merge_request.merge_request_diff).to receive(:raw_diffs).with(options) expect(merge_request.merge_request_diff).to receive(:raw_diffs).with(options)
...@@ -941,7 +941,7 @@ RSpec.describe MergeRequest, factory_default: :keep do ...@@ -941,7 +941,7 @@ RSpec.describe MergeRequest, factory_default: :keep do
describe '#note_positions_for_paths' do describe '#note_positions_for_paths' do
let(:user) { create(:user) } let(:user) { create(:user) }
let(:merge_request) { create(:merge_request, :with_diffs) } let(:merge_request) { create(:merge_request) }
let(:project) { merge_request.project } let(:project) { merge_request.project }
let!(:diff_note) do let!(:diff_note) do
create(:diff_note_on_merge_request, project: project, noteable: merge_request) create(:diff_note_on_merge_request, project: project, noteable: merge_request)
......
...@@ -6,7 +6,7 @@ RSpec.describe 'Updating an image DiffNote' do ...@@ -6,7 +6,7 @@ RSpec.describe 'Updating an image DiffNote' do
include GraphqlHelpers include GraphqlHelpers
using RSpec::Parameterized::TableSyntax using RSpec::Parameterized::TableSyntax
let_it_be(:noteable) { create(:merge_request, :with_diffs) } let_it_be(:noteable) { create(:merge_request) }
let_it_be(:original_body) { 'Original body' } let_it_be(:original_body) { 'Original body' }
let_it_be(:original_position) do let_it_be(:original_position) do
Gitlab::Diff::Position.new( Gitlab::Diff::Position.new(
......
...@@ -8,9 +8,11 @@ RSpec.describe 'Query.project.mergeRequests.pipelines' do ...@@ -8,9 +8,11 @@ RSpec.describe 'Query.project.mergeRequests.pipelines' do
let_it_be(:project) { create(:project, :public, :repository) } let_it_be(:project) { create(:project, :public, :repository) }
let_it_be(:author) { create(:user) } let_it_be(:author) { create(:user) }
let_it_be(:merge_requests) do let_it_be(:merge_requests) do
%i[with_diffs with_image_diffs conflict].map do |trait| [
create(:merge_request, trait, author: author, source_project: project) create(:merge_request, author: author, source_project: project),
end create(:merge_request, :with_image_diffs, author: author, source_project: project),
create(:merge_request, :conflict, author: author, source_project: project)
]
end end
describe '.count' do describe '.count' do
......
...@@ -5,7 +5,7 @@ require 'spec_helper' ...@@ -5,7 +5,7 @@ require 'spec_helper'
RSpec.describe PaginatedDiffEntity do RSpec.describe PaginatedDiffEntity do
let(:user) { create(:user) } let(:user) { create(:user) }
let(:request) { double('request', current_user: user) } let(:request) { double('request', current_user: user) }
let(:merge_request) { create(:merge_request, :with_diffs) } let(:merge_request) { create(:merge_request) }
let(:diff_batch) { merge_request.merge_request_diff.diffs_in_batch(2, 3, diff_options: nil) } let(:diff_batch) { merge_request.merge_request_diff.diffs_in_batch(2, 3, diff_options: nil) }
let(:options) do let(:options) do
{ {
......
...@@ -4604,10 +4604,10 @@ eslint-import-resolver-node@^0.3.4: ...@@ -4604,10 +4604,10 @@ eslint-import-resolver-node@^0.3.4:
debug "^2.6.9" debug "^2.6.9"
resolve "^1.13.1" resolve "^1.13.1"
eslint-import-resolver-webpack@0.12.1: eslint-import-resolver-webpack@0.13.0:
version "0.12.1" version "0.13.0"
resolved "https://registry.yarnpkg.com/eslint-import-resolver-webpack/-/eslint-import-resolver-webpack-0.12.1.tgz#771ae561e887ca4e53ee87605fbb36c5e290b0f5" resolved "https://registry.yarnpkg.com/eslint-import-resolver-webpack/-/eslint-import-resolver-webpack-0.13.0.tgz#5cb19cf4b6996c8a2514aeb10f909e2c70488dc3"
integrity sha512-O/sUAXk6GWrICiN8JUkkjdt9uZpqZHP+FVnTxtEILL6EZMaPSrnP4lGPSFwcKsv7O211maqq4Nz60+dh236hVg== integrity sha512-hZWGcmjaJZK/WSCYGI/y4+FMGQZT+cwW/1E/P4rDwFj2PbanlQHISViw4ccDJ+2wxAqjgwBfxwy3seABbVKDEw==
dependencies: dependencies:
array-find "^1.0.0" array-find "^1.0.0"
debug "^2.6.9" debug "^2.6.9"
...@@ -4664,10 +4664,10 @@ eslint-plugin-import@^2.22.1: ...@@ -4664,10 +4664,10 @@ eslint-plugin-import@^2.22.1:
resolve "^1.17.0" resolve "^1.17.0"
tsconfig-paths "^3.9.0" tsconfig-paths "^3.9.0"
eslint-plugin-jasmine@4.1.0: eslint-plugin-jasmine@4.1.2:
version "4.1.0" version "4.1.2"
resolved "https://registry.yarnpkg.com/eslint-plugin-jasmine/-/eslint-plugin-jasmine-4.1.0.tgz#4f6d41b1a8622348c97559cbcd29badffa74dbfa" resolved "https://registry.yarnpkg.com/eslint-plugin-jasmine/-/eslint-plugin-jasmine-4.1.2.tgz#50cc20d603b02b37727f8d174d4b83b9b8ef25a5"
integrity sha512-Vfuk2Sm1ULR7MqGjVIOOEdQWyoFBfSwvwUeo9MrajVGJB3C24c9Mmj1Cgf8Qwmf3aS2bezPt1sckpKXWpd74Dw== integrity sha512-Jr52EBi6Ql5WVDvRCKBID9kRD6/CaObvCWmgHpqobczX2Mzt8/QMu9vpgx6q/O5jyQ9CIGrKaEbPuEfHRf8guw==
eslint-plugin-jest@^23.8.2: eslint-plugin-jest@^23.8.2:
version "23.8.2" version "23.8.2"
...@@ -4676,10 +4676,10 @@ eslint-plugin-jest@^23.8.2: ...@@ -4676,10 +4676,10 @@ eslint-plugin-jest@^23.8.2:
dependencies: dependencies:
"@typescript-eslint/experimental-utils" "^2.5.0" "@typescript-eslint/experimental-utils" "^2.5.0"
eslint-plugin-no-jquery@2.3.1: eslint-plugin-no-jquery@2.5.0:
version "2.3.1" version "2.5.0"
resolved "https://registry.yarnpkg.com/eslint-plugin-no-jquery/-/eslint-plugin-no-jquery-2.3.1.tgz#1c364cb863a38cc1570c8020155b6004cca62178" resolved "https://registry.yarnpkg.com/eslint-plugin-no-jquery/-/eslint-plugin-no-jquery-2.5.0.tgz#6c12e3aae172bfd3363b7ac8c3f3e944704867f4"
integrity sha512-/fiQUBSOMUETnfBuiK5ewvtRbek1IRTy5ov/6RZ6nlybvZ337vyGaNPWM1KgaIoIeN7dairNrPfq0h7A0tpT3A== integrity sha512-RrQ380mUJJKdjgpQ/tZAJ3B3W1n3LbVmULooS2Pv5pUDcc5uVHVSJMTdUlsbvQyfo6hWP2LJ4FbOoDzENWcF7A==
eslint-plugin-promise@^4.2.1: eslint-plugin-promise@^4.2.1:
version "4.2.1" version "4.2.1"
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment