### Question:
MetadataMappingService implements FalconService, ConfigurationChangeListener, WorkflowExecutionListener { @Override public void onChange(final Entity oldEntity, final Entity newEntity) throws FalconException { EntityType entityType = newEntity.getEntityType(); LOG.info("Updating lineage for entity: {}, type: {}", newEntity.getName(), entityType); try { new TransactionRetryHelper.Builder<Void>(getTransactionalGraph()) .perform(new TransactionWork<Void>() { @Override public Void execute(TransactionalGraph transactionalGraph) throws Exception { entityGraphBuilder.updateEntity(oldEntity, newEntity); transactionalGraph.commit(); return null; } }).build().exponentialBackoff(transactionRetries, transactionRetryDelayInMillis); } catch (Exception e) { getTransactionalGraph().rollback(); throw new FalconException(e); } }  @Override String getName(); @Override void init(); static Graph initializeGraphDB(); static Configuration getConfiguration(); Graph getGraph(); KeyIndexableGraph getIndexableGraph(); TransactionalGraph getTransactionalGraph(); TitanBlueprintsGraph getTitanGraph(); Set<String> getVertexIndexedKeys(); Set<String> getEdgeIndexedKeys(); @Override void destroy(); @Override void onAdd(final Entity entity); @Override void onRemove(Entity entity); @Override void onChange(final Entity oldEntity, final Entity newEntity); @Override void onReload(Entity entity); @Override void onStart(final WorkflowExecutionContext context); @Override void onSuccess(final WorkflowExecutionContext context); @Override void onFailure(final WorkflowExecutionContext context); @Override void onSuspend(final WorkflowExecutionContext context); @Override void onWait(final WorkflowExecutionContext context); static final String SERVICE_NAME; static final String PROPERTY_KEY_STORAGE_BACKEND; static final String STORAGE_BACKEND_HBASE; static final String STORAGE_BACKEND_BDB; static final String PROPERTY_KEY_STORAGE_HOSTNAME; static final String PROPERTY_KEY_STORAGE_TABLE; static final Set<String> PROPERTY_KEYS_HBASE; static final String PROPERTY_KEY_STORAGE_DIRECTORY; static final String PROPERTY_KEY_SERIALIZE_PATH; static final Set<String> PROPERTY_KEYS_BDB; }### Answer:
@Test (dependsOnMethods = "testOnAdd") public void testOnChange() throws Exception { service.destroy(); service.init(); long beforeVerticesCount = getVerticesCount(service.getGraph()); long beforeEdgesCount = getEdgesCount(service.getGraph()); anotherCluster = addClusterEntity("another-cluster", "east-coast", "classification=another"); verifyEntityWasAddedToGraph("another-cluster", RelationshipType.CLUSTER_ENTITY); Assert.assertEquals(getVerticesCount(service.getGraph()), beforeVerticesCount + 3); Assert.assertEquals(getEdgesCount(service.getGraph()), beforeEdgesCount + 3); }