summaryrefslogtreecommitdiff
path: root/spec/lib/gitlab/import_export
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2020-03-26 15:08:16 +0000
committerGitLab Bot <gitlab-bot@gitlab.com>2020-03-26 15:08:16 +0000
commite80e0dd64fbb04f60394cb1bb08e17dbcb22b8ce (patch)
tree9e538341b9b77e96737964813e10235dbecf47ff /spec/lib/gitlab/import_export
parentef31adeb0fb9a02b2c6a4529ec4e38d7082a4b2b (diff)
downloadgitlab-ce-e80e0dd64fbb04f60394cb1bb08e17dbcb22b8ce.tar.gz
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'spec/lib/gitlab/import_export')
-rw-r--r--spec/lib/gitlab/import_export/members_mapper_spec.rb60
1 files changed, 60 insertions, 0 deletions
diff --git a/spec/lib/gitlab/import_export/members_mapper_spec.rb b/spec/lib/gitlab/import_export/members_mapper_spec.rb
index 7e2b5ed534f..61e893bfb3c 100644
--- a/spec/lib/gitlab/import_export/members_mapper_spec.rb
+++ b/spec/lib/gitlab/import_export/members_mapper_spec.rb
@@ -78,6 +78,66 @@ describe Gitlab::ImportExport::MembersMapper do
members_mapper.map
end
+ context 'logging' do
+ let(:logger) { Gitlab::Import::Logger.build }
+
+ before do
+ allow(logger).to receive(:info)
+ allow(members_mapper).to receive(:logger).and_return(logger)
+ end
+
+ it 'logs member addition' do
+ expected_log_params = ->(user_id) do
+ {
+ user_id: user_id,
+ root_namespace_id: importable.root_ancestor.id,
+ importable_type: importable.class.to_s,
+ importable_id: importable.id,
+ access_level: exported_members.first['access_level'],
+ message: '[Project/Group Import] Added new member'
+ }
+ end
+
+ expect(logger).to receive(:info).with(hash_including(expected_log_params.call(user2.id))).once
+ expect(logger).to receive(:info).with(hash_including(expected_log_params.call(nil))).once
+
+ members_mapper.map
+ end
+
+ context 'when exporter member is invalid' do
+ let(:exported_members) do
+ [
+ {
+ "id" => 2,
+ "access_level" => -5, # invalid access level
+ "source_id" => 14,
+ "source_type" => source_type,
+ "notification_level" => 3,
+ "created_at" => "2016-03-11T10:21:44.822Z",
+ "updated_at" => "2016-03-11T10:21:44.822Z",
+ "created_by_id" => nil,
+ "invite_email" => nil,
+ "invite_token" => nil,
+ "invite_accepted_at" => nil,
+ "user" =>
+ {
+ "id" => exported_user_id,
+ "email" => user2.email,
+ "username" => 'test'
+ },
+ "user_id" => 19
+ }
+ ]
+ end
+
+ it 'logs member addition failure' do
+ expect(logger).to receive(:info).with(hash_including(message: a_string_including('Access level is not included in the list'))).once
+
+ members_mapper.map
+ end
+ end
+ end
+
context 'user is not an admin' do
let(:user) { create(:user) }