From 62313adeadb02612c198153311a0f8e05a9b2fad Mon Sep 17 00:00:00 2001 From: Sheldon Led <sheldonled@gitlab.com> Date: Thu, 8 Dec 2022 14:11:58 +0000 Subject: [PATCH] Remove remaining old ruby code for usage quotas - pipelines This code is not executable as we removed its invokation in: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/105487 This change is a continuation of the cleaning up. Changelog: removed EE: true --- .../layout/first_hash_element_indentation.yml | 1 - .rubocop_todo/rspec/context_wording.yml | 1 - .rubocop_todo/rspec/empty_line_after_hook.yml | 1 - .../style/class_and_module_children.yml | 2 - .../profiles/usage_quotas_controller.rb | 28 +++++----- .../_ci_minutes_report.html.haml | 38 ------------- ...tra_shared_runners_minutes_quota.html.haml | 17 ------ .../pipelines_quota/_list.html.haml | 56 ------------------- .../features/profiles/usage_quotas_spec.rb | 7 ++- ee/spec/requests/groups/usage_quotas_spec.rb | 18 +++--- locale/gitlab.pot | 18 ------ spec/support/rspec_order_todo.yml | 3 - 12 files changed, 29 insertions(+), 161 deletions(-) delete mode 100644 ee/app/views/namespaces/pipelines_quota/_ci_minutes_report.html.haml delete mode 100644 ee/app/views/namespaces/pipelines_quota/_extra_shared_runners_minutes_quota.html.haml delete mode 100644 ee/app/views/namespaces/pipelines_quota/_list.html.haml diff --git a/.rubocop_todo/layout/first_hash_element_indentation.yml b/.rubocop_todo/layout/first_hash_element_indentation.yml index 2f20d2ec239e..e1ac4ccb6506 100644 --- a/.rubocop_todo/layout/first_hash_element_indentation.yml +++ b/.rubocop_todo/layout/first_hash_element_indentation.yml @@ -196,7 +196,6 @@ Layout/FirstHashElementIndentation: - 'ee/spec/requests/api/members_spec.rb' - 'ee/spec/requests/api/merge_requests_spec.rb' - 'ee/spec/requests/groups/group_members_controller_spec.rb' - - 'ee/spec/requests/groups/usage_quotas_spec.rb' - 'ee/spec/requests/projects/issue_feature_flags_controller_spec.rb' - 'ee/spec/serializers/issues/linked_issue_feature_flag_entity_spec.rb' - 'ee/spec/serializers/license_entity_spec.rb' diff --git a/.rubocop_todo/rspec/context_wording.yml b/.rubocop_todo/rspec/context_wording.yml index 7131626d15b5..5a01f2294824 100644 --- a/.rubocop_todo/rspec/context_wording.yml +++ b/.rubocop_todo/rspec/context_wording.yml @@ -145,7 +145,6 @@ RSpec/ContextWording: - 'ee/spec/features/merge_requests/user_filters_by_approvers_spec.rb' - 'ee/spec/features/oncall_schedules/user_creates_schedule_spec.rb' - 'ee/spec/features/profiles/account_spec.rb' - - 'ee/spec/features/profiles/usage_quotas_spec.rb' - 'ee/spec/features/projects/active_tabs_spec.rb' - 'ee/spec/features/projects/audit_events_spec.rb' - 'ee/spec/features/projects/custom_projects_template_spec.rb' diff --git a/.rubocop_todo/rspec/empty_line_after_hook.yml b/.rubocop_todo/rspec/empty_line_after_hook.yml index 041eaa1a1a10..263fde8f38e5 100644 --- a/.rubocop_todo/rspec/empty_line_after_hook.yml +++ b/.rubocop_todo/rspec/empty_line_after_hook.yml @@ -5,7 +5,6 @@ RSpec/EmptyLineAfterHook: - 'ee/spec/controllers/projects/integrations/zentao/issues_controller_spec.rb' - 'ee/spec/controllers/projects/push_rules_controller_spec.rb' - 'ee/spec/features/issues/user_bulk_edits_issues_spec.rb' - - 'ee/spec/features/profiles/usage_quotas_spec.rb' - 'ee/spec/lib/ee/api/entities/user_with_admin_spec.rb' - 'ee/spec/lib/ee/gitlab/auth/ldap/sync/group_spec.rb' - 'ee/spec/lib/ee/gitlab/scim/provisioning_service_spec.rb' diff --git a/.rubocop_todo/style/class_and_module_children.yml b/.rubocop_todo/style/class_and_module_children.yml index 9b5f27229a4a..c15095a7e726 100644 --- a/.rubocop_todo/style/class_and_module_children.yml +++ b/.rubocop_todo/style/class_and_module_children.yml @@ -422,12 +422,10 @@ Style/ClassAndModuleChildren: - 'ee/app/controllers/groups/security/merge_commit_reports_controller.rb' - 'ee/app/controllers/groups/sso_controller.rb' - 'ee/app/controllers/groups/todos_controller.rb' - - 'ee/app/controllers/groups/usage_quotas_controller.rb' - 'ee/app/controllers/groups/wikis_controller.rb' - 'ee/app/controllers/oauth/geo_auth_controller.rb' - 'ee/app/controllers/profiles/billings_controller.rb' - 'ee/app/controllers/profiles/slacks_controller.rb' - - 'ee/app/controllers/profiles/usage_quotas_controller.rb' - 'ee/app/controllers/projects/analytics/issues_analytics_controller.rb' - 'ee/app/controllers/projects/analytics/merge_request_analytics_controller.rb' - 'ee/app/controllers/projects/approver_groups_controller.rb' diff --git a/ee/app/controllers/profiles/usage_quotas_controller.rb b/ee/app/controllers/profiles/usage_quotas_controller.rb index 7d16c067968d..ff99d6ddda32 100644 --- a/ee/app/controllers/profiles/usage_quotas_controller.rb +++ b/ee/app/controllers/profiles/usage_quotas_controller.rb @@ -1,22 +1,24 @@ # frozen_string_literal: true -class Profiles::UsageQuotasController < Profiles::ApplicationController - include OneTrustCSP - include GoogleAnalyticsCSP +module Profiles + class UsageQuotasController < Profiles::ApplicationController + include OneTrustCSP + include GoogleAnalyticsCSP - feature_category :purchase - urgency :low + feature_category :purchase + urgency :low - before_action :push_feature_flags, only: :index + before_action :push_feature_flags, only: :index - def index - @hide_search_settings = true - @namespace = current_user.namespace - end + def index + @hide_search_settings = true + @namespace = current_user.namespace + end - private + private - def push_feature_flags - push_frontend_feature_flag(:gitlab_gtm_datalayer, type: :ops) + def push_feature_flags + push_frontend_feature_flag(:gitlab_gtm_datalayer, type: :ops) + end end end diff --git a/ee/app/views/namespaces/pipelines_quota/_ci_minutes_report.html.haml b/ee/app/views/namespaces/pipelines_quota/_ci_minutes_report.html.haml deleted file mode 100644 index c8926bb93487..000000000000 --- a/ee/app/views/namespaces/pipelines_quota/_ci_minutes_report.html.haml +++ /dev/null @@ -1,38 +0,0 @@ -- namespace = locals.fetch(:namespace) -- minutes_usage = namespace.ci_minutes_usage -- minutes_usage_presenter = Ci::Minutes::UsagePresenter.new(minutes_usage) - -.pipeline-quota.container-fluid - .row - .col-sm-6.offset-sm-6 - - if ::Gitlab.com? - = link_to s_('UsageQuota|Buy additional minutes'), - buy_additional_minutes_path(namespace), - target: buy_addon_target_attr(namespace), - class: 'gl-button btn btn-confirm float-right js-buy-additional-minutes', - data: { track_action: 'click_buy_ci_minutes', track_label: namespace.actual_plan_name, track_property: 'pipeline_quota_page', qa_selector: 'buy_ci_minutes' } - - .row - .col-sm-6 - %strong - - last_reset = minutes_usage.reset_date - - if last_reset - = sprintf(s_('UsageQuota|CI/CD minutes usage since %{timeElapsed}'), { timeElapsed: last_reset.strftime('%b %d, %Y') }) - - else - = s_('UsageQuota|Current period usage') - %div{ data: { qa_selector: "plan_ci_minutes" } } - = ci_minutes_report(minutes_usage_presenter.monthly_minutes_report) - minutes - = link_to sprite_icon('question-o'), help_page_path('ci/pipelines/cicd_minutes'), target: '_blank', 'aria-label': _('Shared runners help link') - - .col-sm-6.right - - if minutes_usage_presenter.display_minutes_available_data? - #{minutes_usage_presenter.monthly_percent_used}% used - - elsif !minutes_usage_presenter.any_project_enabled? - 0% used - - else - = s_('UsageQuota|Unlimited') - - = ci_minutes_progress_bar(minutes_usage_presenter.monthly_percent_used) - - = render 'namespaces/pipelines_quota/extra_shared_runners_minutes_quota', namespace: namespace diff --git a/ee/app/views/namespaces/pipelines_quota/_extra_shared_runners_minutes_quota.html.haml b/ee/app/views/namespaces/pipelines_quota/_extra_shared_runners_minutes_quota.html.haml deleted file mode 100644 index 0994f55a7be1..000000000000 --- a/ee/app/views/namespaces/pipelines_quota/_extra_shared_runners_minutes_quota.html.haml +++ /dev/null @@ -1,17 +0,0 @@ -- return unless Gitlab.com? - -- minutes_usage = namespace.ci_minutes_usage -- minutes_usage_presenter = Ci::Minutes::UsagePresenter.new(minutes_usage) -- return unless minutes_usage_presenter.display_minutes_available_data? && minutes_usage_presenter.purchased_minutes_report.limit > 0 - -.row - .col-sm-6 - %strong - = _("Additional minutes") - %div{ data: { qa_selector: "additional_ci_minutes" } } - = ci_minutes_report(minutes_usage_presenter.purchased_minutes_report) - minutes - = link_to sprite_icon('question-o'), help_page_path('ci/pipelines/cicd_minutes', anchor: 'purchase-additional-cicd-minutes-free-saas'), target: '_blank', rel: 'noopener noreferrer' - .col-sm-6.right - #{minutes_usage_presenter.purchased_percent_used}% used - = ci_minutes_progress_bar(minutes_usage_presenter.purchased_percent_used) diff --git a/ee/app/views/namespaces/pipelines_quota/_list.html.haml b/ee/app/views/namespaces/pipelines_quota/_list.html.haml deleted file mode 100644 index 2a73be1cd465..000000000000 --- a/ee/app/views/namespaces/pipelines_quota/_list.html.haml +++ /dev/null @@ -1,56 +0,0 @@ -- namespace = locals.fetch(:namespace) -- projects_usage = locals.fetch(:projects_usage) -- minutes_usage = namespace.ci_minutes_usage -- minutes_usage_presenter = Ci::Minutes::UsagePresenter.new(minutes_usage) -- last_reset = minutes_usage.reset_date - -= render Pajamas::AlertComponent.new(variant: :info, dismissible: false, - alert_options: { class: 'gl-mt-6 gl-mb-3', - data: { testid: 'project-usage-info-alert' }}) do |c| - = c.body do - - if last_reset - = sprintf(s_('UsageQuota|The table below shows usage since %{timeElapsed}'), { timeElapsed: last_reset.strftime('%b %d, %Y') }) - - else - = s_('UsageQuota|The table below shows current period usage') - -%table.table.pipeline-project-metrics - %thead - %tr - %th - = _('Project') - %th - = s_('UsageQuota|Shared runner duration') - %th - = s_('UsageQuota|CI/CD minutes usage') - - %tbody - - if !minutes_usage_presenter.any_project_enabled? - %tr - %td{ colspan: 3 } - .nothing-here-block - - runners_doc_path = help_page_path('ci/runners/index.md') - - help_link_start = '<a href="%{url}" target="_blank" rel="noopener noreferrer">'.html_safe % { url: runners_doc_path } - = s_('UsageQuota|%{help_link_start}Shared runners%{help_link_end} are disabled, so there are no limits set on pipeline usage').html_safe % { help_link_start: help_link_start, help_link_end: '</a>'.html_safe } - - else - - projects_usage.each do |project_usage| - %tr - %td - .avatar-container.s20.d-none.d-sm-block - = project_icon(project_usage.project, alt: '', class: 'avatar project-avatar s20') - %strong{ data: {testid: "pipelines-quota-tab-project-name" } } - = link_to project_usage.project.full_name, project_usage.project - %td{ 'data-testid': 'project_shared_runner_duration' } - = project_usage.shared_runners_duration.seconds.in_minutes.round - %td{ 'data-testid': 'project_amount_used' } - = project_usage.amount_used.to_i - - if projects_usage.blank? - %tr - %td{ colspan: 3 } - .nothing-here-block - = s_('UsageQuota|This namespace has no projects which used shared runners in the current period') - %tr - %td{ colspan: 3 } - .col-sm-12.center - = s_('UsageQuota|This table omits projects that used 0 CI/CD minutes or 0 shared runners duration') - -= paginate projects_usage, theme: "gitlab" diff --git a/ee/spec/features/profiles/usage_quotas_spec.rb b/ee/spec/features/profiles/usage_quotas_spec.rb index 243e300a14e9..659b9ba697c7 100644 --- a/ee/spec/features/profiles/usage_quotas_spec.rb +++ b/ee/spec/features/profiles/usage_quotas_spec.rb @@ -64,7 +64,7 @@ end end - context 'pagination' do + context 'with pagination' do let(:per_page) { 1 } let(:item_selector) { '.js-project-link' } let(:prev_button_selector) { '[data-testid="prevButton"]' } @@ -75,14 +75,15 @@ allow(Kaminari.config).to receive(:default_per_page).and_return(per_page) end - context 'storage tab' do + context 'on storage tab' do before do visit_usage_quotas_page('storage-quota-tab') end + it_behaves_like 'correct pagination' end - context 'pipelines tab' do + context 'on pipelines tab' do let(:item_selector) { '[data-testid="pipelines-quota-tab-project-name"]' } before do diff --git a/ee/spec/requests/groups/usage_quotas_spec.rb b/ee/spec/requests/groups/usage_quotas_spec.rb index e9305eb68008..537858a533e2 100644 --- a/ee/spec/requests/groups/usage_quotas_spec.rb +++ b/ee/spec/requests/groups/usage_quotas_spec.rb @@ -16,16 +16,18 @@ end context 'when storage size is over limit' do - let(:usage_message) { FFaker::Lorem.sentence } + let(:payload) do + { + alert_level: :info, + usage_message: FFaker::Lorem.sentence, + explanation_message: "Explanation", + root_namespace: group.root_ancestor + } + end before do allow_next_instance_of(EE::Namespace::Storage::Notification, group, user) do |notification| - allow(notification).to receive(:payload).and_return({ - alert_level: :info, - usage_message: usage_message, - explanation_message: "Explanation", - root_namespace: group.root_ancestor - }) + allow(notification).to receive(:payload).and_return(payload) end end @@ -33,7 +35,7 @@ send_request expect(response).to have_gitlab_http_status(:ok) - expect(response.body).not_to include(usage_message) + expect(response.body).not_to include(payload[:usage_message]) end end diff --git a/locale/gitlab.pot b/locale/gitlab.pot index b41072e0205a..eed7ee02e45a 100644 --- a/locale/gitlab.pot +++ b/locale/gitlab.pot @@ -44131,9 +44131,6 @@ msgstr "" msgid "UsageQuotas|This project-level storage statistic does not include savings for site-wide deduplication and is not used to calculate total namespace storage." msgstr "" -msgid "UsageQuota|%{help_link_start}Shared runners%{help_link_end} are disabled, so there are no limits set on pipeline usage" -msgstr "" - msgid "UsageQuota|%{linkStart}Shared runners%{linkEnd} are disabled, so there are no limits set on pipeline usage" msgstr "" @@ -44170,9 +44167,6 @@ msgstr "" msgid "UsageQuota|CI/CD minutes usage" msgstr "" -msgid "UsageQuota|CI/CD minutes usage since %{timeElapsed}" -msgstr "" - msgid "UsageQuota|CI/CD minutes usage since %{usageSince}" msgstr "" @@ -44182,9 +44176,6 @@ msgstr "" msgid "UsageQuota|Container Registry" msgstr "" -msgid "UsageQuota|Current period usage" -msgstr "" - msgid "UsageQuota|Dependency proxy" msgstr "" @@ -44311,12 +44302,6 @@ msgstr "" msgid "UsageQuota|The namespace is currently using %{strong_start}%{used_storage}%{strong_end} of namespace storage. View and manage your usage from %{strong_start}%{usage_quotas_nav_instruction}%{strong_end}. %{docs_link_start}Learn more%{link_end} about how to reduce your storage." msgstr "" -msgid "UsageQuota|The table below shows current period usage" -msgstr "" - -msgid "UsageQuota|The table below shows usage since %{timeElapsed}" -msgstr "" - msgid "UsageQuota|The table below shows usage since %{usageSince}" msgstr "" @@ -44341,9 +44326,6 @@ msgstr "" msgid "UsageQuota|Total namespace storage used" msgstr "" -msgid "UsageQuota|Unlimited" -msgstr "" - msgid "UsageQuota|Uploads" msgstr "" diff --git a/spec/support/rspec_order_todo.yml b/spec/support/rspec_order_todo.yml index 26e9cd6cbd91..489ed89c048b 100644 --- a/spec/support/rspec_order_todo.yml +++ b/spec/support/rspec_order_todo.yml @@ -257,7 +257,6 @@ - './ee/spec/features/boards/user_visits_board_spec.rb' - './ee/spec/features/burndown_charts_spec.rb' - './ee/spec/features/burnup_charts_spec.rb' -- './ee/spec/features/ci/ci_minutes_spec.rb' - './ee/spec/features/ci_shared_runner_settings_spec.rb' - './ee/spec/features/ci_shared_runner_warnings_spec.rb' - './ee/spec/features/clusters/cluster_detail_page_spec.rb' @@ -414,7 +413,6 @@ - './ee/spec/features/profiles/account_spec.rb' - './ee/spec/features/profiles/billing_spec.rb' - './ee/spec/features/profiles/password_spec.rb' -- './ee/spec/features/profiles/usage_quotas_spec.rb' - './ee/spec/features/profiles/user_visits_public_profile_spec.rb' - './ee/spec/features/projects/active_tabs_spec.rb' - './ee/spec/features/projects/audit_events_spec.rb' @@ -2410,7 +2408,6 @@ - './ee/spec/requests/groups/roadmap_controller_spec.rb' - './ee/spec/requests/groups/security/credentials_controller_spec.rb' - './ee/spec/requests/groups/settings/reporting_controller_spec.rb' -- './ee/spec/requests/groups/usage_quotas_spec.rb' - './ee/spec/requests/jwt_controller_spec.rb' - './ee/spec/requests/lfs_http_spec.rb' - './ee/spec/requests/lfs_locks_api_spec.rb' -- GitLab