Rename error messages referencing Code Suggestions to Duo Pro
What does this MR do and why?
This MR and Rename Code Suggestions to Duo Pro in the UI (!141124 - merged) resolve https://gitlab.com/gitlab-org/fulfillment/meta/-/issues/1604+.
As part of bundling Code Suggestions under the Duo Pro
add-on, this MR renames all error message that reference the Code Suggestions add-on (not the feature!) to reference Duo Pro instead.
The areas renamed are listed in the Screenshots section below.
MR acceptance checklist
Please evaluate this MR against the MR acceptance checklist. It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability.
Screenshots or screen recordings
Screenshots are required for UI changes, and strongly recommended for all other merge requests.
Error | Instance | Page | Before | After | Testing Patch |
---|---|---|---|---|---|
NO_SEATS_AVAILABLE_ERROR_CODE |
Self-Managed | /admin/code_suggestions |
sm_no_seats_error.patch | ||
CANNOT_ASSIGN_ADDON |
Self-Managed | /admin/code_suggestions |
sm_cannot_assign_error.patch | ||
CANNOT_UNASSIGN_ADDON |
Self-Managed | /admin/code_suggestions |
sm_cannot_unassign_error.patch | ||
ADD_ON_PURCHASE_FETCH_ERROR |
SaaS | /groups/:group_id/-/usage_quotas#code-suggestions-usage-tab |
saas_purchase_fetch_error.patch | ||
ADD_ON_ELIGIBLE_USERS_FETCH_ERROR |
SaaS | /groups/:group_id/-/usage_quotas#code-suggestions-usage-tab |
saas_users_fetch_error.patch |
How to set up and validate locally
General setup
Enable the following feature flags in the Rails console (bundle exec rails c
):
Feature.enable(:code_suggestions)
Feature.enable(:code_suggestions_tokens_api)
Feature.enable(:purchase_code_suggestions)
Feature.enable(:self_managed_code_suggestions)
Feature.enable(:hamilton_seat_management)
Spoof a Self-Managed Duo Pro add-on subscription
- Purchase a "Self-Managed - Duo Pro" add-on from the Zuora API Sandbox for your account, or spoof one using the following commands in the Rails console:
# Feel free to delete these objects after testing
add_on_sm = GitlabSubscriptions::AddOn.find_or_create_by!(name: "code_suggestions") {|e| e.description = "Test SM"}
add_on_purchase_sm = GitlabSubscriptions::AddOnPurchase.create!(
add_on: add_on_sm, expires_on: 1.month.from_now, quantity: 5, purchase_xid: 'A-S0001'
)
add_on_purchase_sm.update(expires_on: 1.month.from_now)
Spoof a SaaS Duo Pro add-on subscription
- Purchase a "SaaS - Duo Pro" add-on from the Zuora API Sandbox for your account, or spoof one using the following commands in the Rails console:
# Feel free to delete these objects after testing
add_on_saas = GitlabSubscriptions::AddOn.find_or_create_by!(name: "code_suggestions") {|e| e.description = "Test SaaS"}
add_on_purchase_saas = GitlabSubscriptions::AddOnPurchase.create!(
namespace: Namespace.find(<GROUP_ID>), add_on: add_on_saas, expires_on: 1.month.from_now, quantity: 5, purchase_xid: 'A-S0002'
)
add_on_purchase_saas.update(expires_on: 1.month.from_now)
Self-Managed testing
- Start GDK in Self-Managed mode using
GITLAB_SIMULATE_SAAS=0 gdk start
(this is the default mode). - Log into GDK using your
root
user. - Ensure you have a valid paid license (Premium or Ultimate) through Admin Area > Subscriptions.
- Apply the patch relevant to the error to validate (see table above).
- Navigate to the appropriate page, ensuring the copy matches the "After" screenshots in the visual changes section above.
SaaS setup
- Start GDK in SaaS mode by following this guide.
- Setup and start CustomersDot (optional).
- Log into GDK with a user belonging to the
<GROUP_ID>
you entered earlier. - Ensure you have a valid paid license (Premium or Ultimate) through Admin Area > Subscriptions.
- Apply the patch relevant to the error to validate (see table above).
- Navigate to the appropriate page, ensuring the copy matches the "After" screenshots in the visual changes section above.
Edited by Mohamed Moustafa