diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2023-06-05 18:09:47 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2023-06-05 18:09:47 +0300 |
commit | 18e9429b63f9a095b1ba3606856537b9ca291eac (patch) | |
tree | c675e9c6ef0209b4e8ebc7593165536d277a05fc /spec | |
parent | 8dbc985bec96cad1e9a3315f38be27eb2374e5dc (diff) |
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'spec')
5 files changed, 50 insertions, 47 deletions
diff --git a/spec/config/object_store_settings_spec.rb b/spec/config/object_store_settings_spec.rb index b8e46affc2a..0689dc130d9 100644 --- a/spec/config/object_store_settings_spec.rb +++ b/spec/config/object_store_settings_spec.rb @@ -25,6 +25,7 @@ RSpec.describe ObjectStoreSettings, feature_category: :shared do 'artifacts' => { 'enabled' => true }, 'external_diffs' => { 'enabled' => false }, 'pages' => { 'enabled' => true }, + 'ci_secure_files' => { 'enabled' => true }, 'object_store' => { 'enabled' => true, 'connection' => connection, @@ -43,6 +44,9 @@ RSpec.describe ObjectStoreSettings, feature_category: :shared do }, 'pages' => { 'bucket' => 'pages' + }, + 'ci_secure_files' => { + 'bucket' => 'ci_secure_files' } } } @@ -97,6 +101,14 @@ RSpec.describe ObjectStoreSettings, feature_category: :shared do expect(settings.external_diffs['enabled']).to be false expect(settings.external_diffs['object_store']).to be_nil expect(settings.external_diffs).to eq(settings['external_diffs']) + + expect(settings.ci_secure_files['enabled']).to be true + expect(settings.ci_secure_files['object_store']['enabled']).to be true + expect(settings.ci_secure_files['object_store']['connection'].to_hash).to eq(connection) + expect(settings.ci_secure_files['object_store']['remote_directory']).to eq('ci_secure_files') + expect(settings.ci_secure_files['object_store']['bucket_prefix']).to eq(nil) + expect(settings.ci_secure_files['object_store']['consolidated_settings']).to be true + expect(settings.ci_secure_files).to eq(settings['ci_secure_files']) end it 'supports bucket prefixes' do diff --git a/spec/frontend/invite_members/components/invite_members_modal_spec.js b/spec/frontend/invite_members/components/invite_members_modal_spec.js index e080e665a3b..1a9b0fae52a 100644 --- a/spec/frontend/invite_members/components/invite_members_modal_spec.js +++ b/spec/frontend/invite_members/components/invite_members_modal_spec.js @@ -63,6 +63,7 @@ describe('InviteMembersModal', () => { let wrapper; let mock; let trackingSpy; + const showToast = jest.fn(); const expectTracking = (action, label = undefined, property = undefined) => expect(trackingSpy).toHaveBeenCalledWith(INVITE_MEMBER_MODAL_TRACKING_CATEGORY, action, { @@ -94,6 +95,11 @@ describe('InviteMembersModal', () => { GlEmoji, ...stubs, }, + mocks: { + $toast: { + show: showToast, + }, + }, }); }; @@ -470,7 +476,6 @@ describe('InviteMembersModal', () => { createComponent({ reloadPageOnSubmit: true }); await triggerMembersTokenSelect([user1, user2]); - wrapper.vm.$toast = { show: jest.fn() }; jest.spyOn(Api, 'inviteGroupMembers').mockResolvedValue({ data: postData }); clickInviteButton(); }); @@ -484,7 +489,7 @@ describe('InviteMembersModal', () => { }); it('does not show the toast message', () => { - expect(wrapper.vm.$toast.show).not.toHaveBeenCalled(); + expect(showToast).not.toHaveBeenCalled(); }); }); @@ -493,7 +498,6 @@ describe('InviteMembersModal', () => { createComponent(); await triggerMembersTokenSelect([user1, user2]); - wrapper.vm.$toast = { show: jest.fn() }; jest.spyOn(Api, 'inviteGroupMembers').mockResolvedValue({ data: postData }); }); @@ -507,7 +511,7 @@ describe('InviteMembersModal', () => { }); it('displays the successful toastMessage', () => { - expect(wrapper.vm.$toast.show).toHaveBeenCalledWith('Members were successfully added'); + expect(showToast).toHaveBeenCalledWith('Members were successfully added'); }); it('does not call displaySuccessfulInvitationAlert on mount', () => { @@ -630,7 +634,6 @@ describe('InviteMembersModal', () => { await triggerMembersTokenSelect([user3]); trackingSpy = mockTracking(undefined, wrapper.element, jest.spyOn); - wrapper.vm.$toast = { show: jest.fn() }; jest.spyOn(Api, 'inviteGroupMembers').mockResolvedValue({ data: emailPostData }); }); @@ -644,7 +647,7 @@ describe('InviteMembersModal', () => { }); it('displays the successful toastMessage', () => { - expect(wrapper.vm.$toast.show).toHaveBeenCalledWith('Members were successfully added'); + expect(showToast).toHaveBeenCalledWith('Members were successfully added'); }); it('does not call displaySuccessfulInvitationAlert on mount', () => { @@ -858,7 +861,6 @@ describe('InviteMembersModal', () => { await triggerMembersTokenSelect([user1, user3]); trackingSpy = mockTracking(undefined, wrapper.element, jest.spyOn); - wrapper.vm.$toast = { show: jest.fn() }; jest.spyOn(Api, 'inviteGroupMembers').mockResolvedValue({ data: singleUserPostData }); }); @@ -877,7 +879,7 @@ describe('InviteMembersModal', () => { }); it('displays the successful toastMessage', () => { - expect(wrapper.vm.$toast.show).toHaveBeenCalledWith('Members were successfully added'); + expect(showToast).toHaveBeenCalledWith('Members were successfully added'); }); it('does not call displaySuccessfulInvitationAlert on mount', () => { diff --git a/spec/lib/gitlab/import_export/all_models.yml b/spec/lib/gitlab/import_export/all_models.yml index 72073ced21f..13330f56a31 100644 --- a/spec/lib/gitlab/import_export/all_models.yml +++ b/spec/lib/gitlab/import_export/all_models.yml @@ -725,6 +725,7 @@ project: - rpm_repository_files - npm_metadata_caches - packages_cleanup_policy +- dependency_proxy_packages_setting - alerting_setting - project_setting - webide_pipelines diff --git a/spec/requests/projects/ml/candidates_controller_spec.rb b/spec/requests/projects/ml/candidates_controller_spec.rb index 78c8e99e3f3..eec7af99063 100644 --- a/spec/requests/projects/ml/candidates_controller_spec.rb +++ b/spec/requests/projects/ml/candidates_controller_spec.rb @@ -10,11 +10,13 @@ RSpec.describe Projects::Ml::CandidatesController, feature_category: :mlops do let(:ff_value) { true } let(:candidate_iid) { candidate.iid } + let(:model_experiments_enabled) { true } before do - stub_feature_flags(ml_experiment_tracking: false) - stub_feature_flags(ml_experiment_tracking: project) if ff_value - + allow(Ability).to receive(:allowed?).and_call_original + allow(Ability).to receive(:allowed?) + .with(user, :read_model_experiments, project) + .and_return(model_experiments_enabled) sign_in(user) end @@ -32,9 +34,9 @@ RSpec.describe Projects::Ml::CandidatesController, feature_category: :mlops do end end - shared_examples '404 if feature flag disabled' do - context 'when :ml_experiment_tracking disabled' do - let(:ff_value) { false } + shared_examples '404 when model experiments is unavailable' do + context 'when user does not have access' do + let(:model_experiments_enabled) { false } it_behaves_like 'renders 404' end @@ -59,7 +61,7 @@ RSpec.describe Projects::Ml::CandidatesController, feature_category: :mlops do end it_behaves_like '404 if candidate does not exist' - it_behaves_like '404 if feature flag disabled' + it_behaves_like '404 when model experiments is unavailable' end describe 'DELETE #destroy' do @@ -81,7 +83,7 @@ RSpec.describe Projects::Ml::CandidatesController, feature_category: :mlops do end it_behaves_like '404 if candidate does not exist' - it_behaves_like '404 if feature flag disabled' + it_behaves_like '404 when model experiments is unavailable' end private diff --git a/spec/requests/projects/ml/experiments_controller_spec.rb b/spec/requests/projects/ml/experiments_controller_spec.rb index 5a8496a250a..e2d26e84f75 100644 --- a/spec/requests/projects/ml/experiments_controller_spec.rb +++ b/spec/requests/projects/ml/experiments_controller_spec.rb @@ -3,27 +3,25 @@ require 'spec_helper' RSpec.describe Projects::Ml::ExperimentsController, feature_category: :mlops do - let_it_be(:project_with_feature) { create(:project, :repository) } - let_it_be(:user) { project_with_feature.first_owner } - let_it_be(:project_without_feature) do - create(:project, :repository).tap { |p| p.add_developer(user) } - end - + let_it_be(:project) { create(:project, :repository) } + let_it_be(:user) { project.first_owner } let_it_be(:experiment) do - create(:ml_experiments, project: project_with_feature, user: user).tap do |e| + create(:ml_experiments, project: project, user: user).tap do |e| create(:ml_candidates, experiment: e, user: user) end end let(:params) { basic_params } let(:ff_value) { true } - let(:project) { project_with_feature } let(:basic_params) { { namespace_id: project.namespace.to_param, project_id: project } } let(:experiment_iid) { experiment.iid } + let(:model_experiments_enabled) { true } before do - stub_feature_flags(ml_experiment_tracking: false) - stub_feature_flags(ml_experiment_tracking: project_with_feature) if ff_value + allow(Ability).to receive(:allowed?).and_call_original + allow(Ability).to receive(:allowed?) + .with(user, :read_model_experiments, project) + .and_return(model_experiments_enabled) sign_in(user) end @@ -42,9 +40,9 @@ RSpec.describe Projects::Ml::ExperimentsController, feature_category: :mlops do end end - shared_examples '404 if feature flag disabled' do - context 'when :ml_experiment_tracking disabled' do - let(:ff_value) { false } + shared_examples '404 when model experiments is unavailable' do + context 'when user does not have access' do + let(:model_experiments_enabled) { false } it_behaves_like 'renders 404' end @@ -71,7 +69,7 @@ RSpec.describe Projects::Ml::ExperimentsController, feature_category: :mlops do describe 'pagination' do let_it_be(:experiments) do - create_list(:ml_experiments, 3, project: project_with_feature) + create_list(:ml_experiments, 3, project: project) end let(:params) { basic_params.merge(id: experiment.iid) } @@ -102,19 +100,7 @@ RSpec.describe Projects::Ml::ExperimentsController, feature_category: :mlops do end end - context 'when :ml_experiment_tracking is disabled for the project' do - let(:project) { project_without_feature } - - before do - list_experiments - end - - it 'responds with a 404' do - expect(response).to have_gitlab_http_status(:not_found) - end - end - - it_behaves_like '404 if feature flag disabled' do + it_behaves_like '404 when model experiments is unavailable' do before do list_experiments end @@ -225,7 +211,7 @@ RSpec.describe Projects::Ml::ExperimentsController, feature_category: :mlops do end it_behaves_like '404 if experiment does not exist' - it_behaves_like '404 if feature flag disabled' + it_behaves_like '404 when model experiments is unavailable' end end @@ -257,14 +243,14 @@ RSpec.describe Projects::Ml::ExperimentsController, feature_category: :mlops do end it_behaves_like '404 if experiment does not exist' - it_behaves_like '404 if feature flag disabled' + it_behaves_like '404 when model experiments is unavailable' end end end describe 'DELETE #destroy' do let_it_be(:experiment_for_deletion) do - create(:ml_experiments, project: project_with_feature, user: user).tap do |e| + create(:ml_experiments, project: project, user: user).tap do |e| create(:ml_candidates, experiment: e, user: user) end end @@ -282,7 +268,7 @@ RSpec.describe Projects::Ml::ExperimentsController, feature_category: :mlops do end it_behaves_like '404 if experiment does not exist' - it_behaves_like '404 if feature flag disabled' + it_behaves_like '404 when model experiments is unavailable' end private |