Include testsuite name in test case key
What does this MR do?
This is follow-up work for #238604 (closed)
Related discussion: !41918 (comment 422822182)
We want the testsuite
name (note, this is different from the Gitlab::Ci::Reports::TestSuite
) included in the TestCase
hashed key to make it more reliably unique across the whole project. If ever testsuite
name is not present, it falls back to using the Gitlab::Ci::Reports::TestSuite
instance's name which is equivalent to the job/build's group name. This is why we prioritize the JUnit's testsuite
name given the CI job name can change even if the testsuite or testcase names themselves do not.
We needed to do this before we can enable the tracking mechanism on !41918 (merged) because this affects the testcase key which is used for unique tracking.
This is also in preparation for Test History MVC because we need project-wide unique testcase keys for tracking.
This MR does not change any user-facing behavior.
Screenshots
Does this MR meet the acceptance criteria?
Conformity
-
Changelog entry -
Documentation (if required) -
Code review guidelines -
Merge request performance guidelines -
Style guides -
Database guides -
Separation of EE specific content
Availability and Testing
-
Review and add/update tests for this feature/bug. Consider all test levels. See the Test Planning Process. -
Tested in all supported browsers -
Informed Infrastructure department of a default or new setting change, if applicable per definition of done
Security
If this MR contains changes to processing or storing of credentials or tokens, authorization and authentication methods and other items described in the security review guidelines:
-
Label as security and @ mention @gitlab-com/gl-security/appsec
-
The MR includes necessary changes to maintain consistency between UI, API, email, or other methods -
Security reports checked/validated by a reviewer from the AppSec team