From a09983ae35713f5a2bbb100981116d31ce99826e Mon Sep 17 00:00:00 2001 From: GitLab Bot Date: Mon, 20 Jul 2020 12:26:25 +0000 Subject: Add latest changes from gitlab-org/gitlab@13-2-stable-ee --- .../bitbucket_server_import/importer_spec.rb | 51 ++++++++++++++++++++-- 1 file changed, 48 insertions(+), 3 deletions(-) (limited to 'spec/lib/gitlab/bitbucket_server_import') diff --git a/spec/lib/gitlab/bitbucket_server_import/importer_spec.rb b/spec/lib/gitlab/bitbucket_server_import/importer_spec.rb index cf39d2cb753..5eb27c51f9e 100644 --- a/spec/lib/gitlab/bitbucket_server_import/importer_spec.rb +++ b/spec/lib/gitlab/bitbucket_server_import/importer_spec.rb @@ -2,10 +2,13 @@ require 'spec_helper' -describe Gitlab::BitbucketServerImport::Importer do +RSpec.describe Gitlab::BitbucketServerImport::Importer do include ImportSpecHelper - let(:project) { create(:project, :repository, import_url: 'http://my-bitbucket') } + let(:import_url) { 'http://my-bitbucket' } + let(:user) { 'bitbucket' } + let(:password) { 'test' } + let(:project) { create(:project, :repository, import_url: import_url) } let(:now) { Time.now.utc.change(usec: 0) } let(:project_key) { 'TEST' } let(:repo_slug) { 'rouge' } @@ -16,7 +19,7 @@ describe Gitlab::BitbucketServerImport::Importer do before do data = project.create_or_update_import_data( data: { project_key: project_key, repo_slug: repo_slug }, - credentials: { base_uri: 'http://my-bitbucket', user: 'bitbucket', password: 'test' } + credentials: { base_uri: import_url, user: user, password: password } ) data.save project.save @@ -125,6 +128,48 @@ describe Gitlab::BitbucketServerImport::Importer do expect(note.updated_at).to eq(@pr_note.created_at) end + context 'metrics' do + let(:histogram) { double(:histogram) } + let(:counter) { double('counter', increment: true) } + + before do + allow(Gitlab::Metrics).to receive(:counter) { counter } + allow(Gitlab::Metrics).to receive(:histogram) { histogram } + allow(subject.client).to receive(:activities).and_return([@merge_event]) + end + + it 'counts and measures duration of imported projects' do + expect(Gitlab::Metrics).to receive(:counter).with( + :bitbucket_server_importer_imported_projects_total, + 'The number of imported projects' + ) + + expect(Gitlab::Metrics).to receive(:histogram).with( + :bitbucket_server_importer_total_duration_seconds, + 'Total time spent importing projects, in seconds', + {}, + Gitlab::Import::Metrics::IMPORT_DURATION_BUCKETS + ) + + expect(counter).to receive(:increment) + expect(histogram).to receive(:observe).with({ importer: :bitbucket_server_importer }, anything) + + subject.execute + end + + it 'counts imported pull requests' do + expect(Gitlab::Metrics).to receive(:counter).with( + :bitbucket_server_importer_imported_merge_requests_total, + 'The number of imported merge (pull) requests' + ) + + expect(counter).to receive(:increment) + allow(histogram).to receive(:observe).with({ importer: :bitbucket_server_importer }, anything) + + subject.execute + end + end + it 'imports threaded discussions' do reply = instance_double( BitbucketServer::Representation::PullRequestComment, -- cgit v1.2.3