Add end-to-end test coverage to ensure that usage ping works as expected
We encountered an issue in production (customer reported as well) where disabling usage ping from config file did not get picked up and we were still sending usage ping data.
Copying content over from https://gitlab.com/gitlab-org/growth/team-tasks/-/issues/401: MR that fixed the issue - gitlab-org/gitlab!63784 (merged)
Usage Ping can be disabled either via the the UI in the Admin Area, or via a config file (
gitlab.rb
orgitlab.yml
) on omnibus or source installations. The config file should override the setting from the Admin Area and disallow enabling Usage Ping in the UI again.We detected an issue where disabling Usage Ping via the config file does not get picked up and usage data still got sent. Disabling Usage Ping via the UI in the Admin Area was not affected and worked as expected.
Disabling Usage Ping via a config file got introduced with GitLab
9.2
. In GitLab9.3
a change in gitlab-org/gitlab-foss!11377 (merged) caused a regression where it started to ignore the setting from the config file and only used the setting from the database.
Next steps:
Add e2e test coverage to ensure the toggles are working as expected from UI (preferably E2E) and also from the config file (preferably in lower level tests).
We did a spike on how to implement end-to-end tests in gitlab-org/quality/testcases#12 (closed). The resulting proposal can be found here: https://gitlab.com/gitlab-org/growth/product-intelligence/proposals/-/blob/master/doc/proposal_e2e_testing.md
-
Add Service Ping qa selectors gitlab-org/gitlab!74547 (merged) -
Add a test for the default usage_ping_enabled: true setting in gitlab.yml gitlab-org/gitlab!74523 (merged) -
Add a test for usage_ping_enabled: false setting in gitlab.yml using omnibus configuration