diff options
Diffstat (limited to 'spec/lib/gitlab/usage/metrics/instrumentations/count_imported_projects_metric_spec.rb')
-rw-r--r-- | spec/lib/gitlab/usage/metrics/instrumentations/count_imported_projects_metric_spec.rb | 25 |
1 files changed, 20 insertions, 5 deletions
diff --git a/spec/lib/gitlab/usage/metrics/instrumentations/count_imported_projects_metric_spec.rb b/spec/lib/gitlab/usage/metrics/instrumentations/count_imported_projects_metric_spec.rb index 4c86410d609..b7da9b27e19 100644 --- a/spec/lib/gitlab/usage/metrics/instrumentations/count_imported_projects_metric_spec.rb +++ b/spec/lib/gitlab/usage/metrics/instrumentations/count_imported_projects_metric_spec.rb @@ -4,15 +4,30 @@ require 'spec_helper' RSpec.describe Gitlab::Usage::Metrics::Instrumentations::CountImportedProjectsMetric do let_it_be(:user) { create(:user) } - let_it_be(:gitea_imports) do - create_list(:project, 3, import_type: 'gitea', creator_id: user.id, created_at: 3.weeks.ago) + + # Project records have to be created chronologically, because of + # metric SQL query optimizations that rely on the fact that `id`s + # increment monotonically over time. + # + # See https://gitlab.com/gitlab-org/gitlab/-/merge_requests/89701 + let_it_be(:old_import) { create(:project, import_type: 'gitea', creator_id: user.id, created_at: 2.months.ago) } + let_it_be(:gitea_import_1) { create(:project, import_type: 'gitea', creator_id: user.id, created_at: 21.days.ago) } + + let_it_be(:gitea_import_2) do + create(:project, import_type: 'gitea', creator_id: user.id, created_at: 20.days.ago) end - let_it_be(:bitbucket_imports) do - create_list(:project, 2, import_type: 'bitbucket', creator_id: user.id, created_at: 3.weeks.ago) + let_it_be(:gitea_import_3) do + create(:project, import_type: 'gitea', creator_id: user.id, created_at: 19.days.ago) end - let_it_be(:old_import) { create(:project, import_type: 'gitea', creator_id: user.id, created_at: 2.months.ago) } + let_it_be(:bitbucket_import_1) do + create(:project, import_type: 'bitbucket', creator_id: user.id, created_at: 2.weeks.ago) + end + + let_it_be(:bitbucket_import_2) do + create(:project, import_type: 'bitbucket', creator_id: user.id, created_at: 1.week.ago) + end context 'with import_type gitea' do context 'with all time frame' do |