### Question:
TaskAssigningPlanningKieServerExtension implements KieServerExtension { @Override public void destroy(KieServerImpl kieServer, KieServerRegistry registry) { LOGGER.debug("Destroying " + EXTENSION_NAME + " extension."); if (initialized) { taskAssigningService.destroy(); } }  @Override boolean isActive(); @Override void init(KieServerImpl kieServer, KieServerRegistry registry); @Override boolean isInitialized(); @Override void createContainer(String id, KieContainerInstance kieContainerInstance, Map<String, Object> parameters); @Override void updateContainer(String id, KieContainerInstance kieContainerInstance, Map<String, Object> parameters); @Override boolean isUpdateContainerAllowed(String id, KieContainerInstance kieContainerInstance, Map<String, Object> parameters); @Override void disposeContainer(String id, KieContainerInstance kieContainerInstance, Map<String, Object> parameters); @Override List<Object> getAppComponents(SupportedTransports type); @Override T getAppComponents(Class<T> serviceType); @Override String getImplementedCapability(); @Override List<Object> getServices(); @Override String getExtensionName(); @Override Integer getStartOrder(); @Override String toString(); @Override void serverStarted(); @Override void destroy(KieServerImpl kieServer, KieServerRegistry registry); @Override List<Message> healthCheck(boolean report);  }### Answer:
@Test public void destroy() { System.setProperty(TASK_ASSIGNING_USER_SYSTEM_NAME, USER_SYSTEM_NAME); enableExtension(); doReturn(userSystemService).when(extension).lookupUserSystem(eq(USER_SYSTEM_NAME), any()); doReturn(solver).when(extension).createSolver(eq(registry), any()); extension.init(kieServer, registry); extension.serverStarted(); extension.destroy(kieServer, registry); verify(taskAssigningService).destroy(); }
@Test public void destroyWhenNotInitialized() { extension.destroy(kieServer, registry); verify(taskAssigningService, never()).destroy(); }