3.0 controller testcase

Fix up ControllerTestCase. Its tests had been marked incomplete and thus broke over time. The tests now all pass :clap:

Fixes #3218