Skip to content

Refactor topology spec

Qingyu Zhao requested to merge 249136-refactor-topology-spec into master

What does this MR do?

Address the discussion from !40971 (merged):

  • @mkaeppler started a discussion: (+3 comments)

    I don't think you need any of these tests; you're testing the same behavior in multiple different places.

    Test boundaries should be established around interface contracts: UsageData has an interface contract with the Prometheus client API (and helpers) through with_prometheus_client. This is what should be stubbed here, not the underlying mechanics of Prometheus.

    You're just making your own life unncessarily difficult here :-) and it also creates test coupling, which is not good.

This MR stub with_prometheus_client in topology_spec.rb. So it avoids duplicating the tested behavior of with_prometheus_client in spec/lib/gitlab/utils/usage_data_spec.rb.

Conformity

Availability and Testing

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

Closes #249136 (closed)

Edited by Qingyu Zhao

Merge request reports