Skip to content

Fix Environment terminal specs for EE

Yorick Peterse requested to merge environment-specs-for-ee into master

What does this MR do?

In EE we redefine Environment#terminals, which makes it impossible to use allow_any_instance_of(Environment) or expect_any_instance_of(Environment). Other approaches of stubbing this class, such as by stubbing new, only result in spec failures.

To solve this issue, we add a simple defined?(EE) check in the tests to change the thing that we are testing. This is rather obnoxious, because it requires EE knowledge in CE, and can break if EE::Environment is removed without updating CE. Unfortunately, it appears to be the only solution we have apart from modifying these tests in EE (which would cause merge conflicts).

What are the relevant issue numbers?

This is necessary to get the builds in https://gitlab.com/gitlab-org/gitlab-ee/merge_requests/8424 to pass.

Does this MR meet the acceptance criteria?

Merge request reports