Skip to content

Allow prevent_cross_joins to be used directly in tests

What does this MR do?

This MR makes 2 improvements in our efforts towards moving ci_* tables to a separate database:

  1. It fixes a cross-join in ::Ci::Build.with_project_and_metadata
  2. It introduces a new helper method to use in tests ::Database::PreventCrossJoins.prevent_cross_joins that can be used to wrap an isolated piece of code and validate that it is not doing any cross-joins. This helper is just a small addition on top of the validation logic that was already implemented in !67019 (merged)

Screenshots or Screencasts (strongly suggested)

How to setup and validate locally (strongly suggested)

Does this MR meet the acceptance criteria?

Conformity

Availability and Testing

Security

Does this MR contain changes to processing or storing of credentials or tokens, authorization and authentication methods or other items described in the security review guidelines? If not, then delete this Security section.

  • 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
Edited by Dylan Griffith

Merge request reports