### Question:
JCRNodeChangeEventHandler implements EventHandler, ResourceChangeListener, ExternalResourceChangeListener { @Override public void handleEvent(final Event event) { final String path = (String) event.getProperty(SlingConstants.PROPERTY_PATH); handlePath(path); }  @Override void handleEvent(final Event event); @Override void onChange(List<ResourceChange> changes);  }### Answer:
@SuppressWarnings("deprecation") @Test public void testLegacyObservation() { aemContext.registerInjectActivateService(eventHandler, EventConstants.EVENT_FILTER, "(|(path=/content*)(path=/etc*))"); eventHandler.handleEvent(new Event(SlingConstants.TOPIC_RESOURCE_CHANGED, Collections.singletonMap(SlingConstants.PROPERTY_PATH, DUMMY_PATH))); Map<String, Object> expectedPayload = Collections.singletonMap(CacheInvalidationJobConstants.PAYLOAD_KEY_DATA_CHANGE_PATH, DUMMY_PATH); verify(jobManager).addJob(CacheInvalidationJobConstants.TOPIC_HTTP_CACHE_INVALIDATION_JOB, expectedPayload); }