Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/spec
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2023-06-05 18:09:47 +0300
committerGitLab Bot <gitlab-bot@gitlab.com>2023-06-05 18:09:47 +0300
commit18e9429b63f9a095b1ba3606856537b9ca291eac (patch)
treec675e9c6ef0209b4e8ebc7593165536d277a05fc /spec
parent8dbc985bec96cad1e9a3315f38be27eb2374e5dc (diff)
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'spec')
-rw-r--r--spec/config/object_store_settings_spec.rb12
-rw-r--r--spec/frontend/invite_members/components/invite_members_modal_spec.js18
-rw-r--r--spec/lib/gitlab/import_export/all_models.yml1
-rw-r--r--spec/requests/projects/ml/candidates_controller_spec.rb18
-rw-r--r--spec/requests/projects/ml/experiments_controller_spec.rb48
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