We're using this rule in a couple of places in an inconsistent way. The rule should really be called 'StandalonePulseRule' because it only works correctly when Pulse is not running in embedded mode.
Specifically, in PulseSecurityTest we're interacting with Pulse embedded in a locator. The rule is used in this test to 'cleanup' various backend structures. However, in this context the Repository is instantiated by both Pulse (via Jetty and it's classloader) as well as by the test itself (different classloader). So the rule doesn't actually end up cleaning up the real (Jetty/Pulse embedded) Repository.
I'd suggest the rule be renamed to StandalonePulseRule and a new EmbeddedPulseRule should do cleanup via Pulse endpoints and not try and 'reach around' for its cleanup.