@Test
public void testOnJobDeleted() throws Exception {
FreeStyleProject job = j.createFreeStyleProject("MyJob");
FreeStyleProject jobToBeDeleted = j.createFreeStyleProject("JobToBeDeleted");
jobToBeDeleted.getBuildersList().add(new SleepBuilder(TimeUnit.MINUTES.toMillis(1)));
GerritHandler handler = PluginImpl.getInstance().getHandler();
ManualPatchsetCreated event = Setup.createManualPatchsetCreated();
GerritEventLifecycleListenerImpl listener = new GerritEventLifecycleListenerImpl(event);
subscribeJobToEvent(jobToBeDeleted, event);
subscribeJobToEvent(job, event);
int before = handler.getEventListenersCount();
handler.notifyListeners(event);
TestUtils.waitForBuilds(job, 1);
jobToBeDeleted.delete();
assertNotNull(job.getLastBuild());
assertTrue(listener.isAllBuildsCompleted());
assertEquals("We should remove listener from delete job", before - 1, handler.getEventListenersCount());
}