### Question:
JdbcRevisionManager implements RevisionManager { @Override public Revision getRevision(final String entityId) { final Revision revision = retrieveRevision(entityId); if (revision == null) { return createRevision(entityId); } else { return revision; } } JdbcRevisionManager(final JdbcTemplate jdbcTemplate); @Override Revision getRevision(final String entityId); @Override RevisionUpdate<T> updateRevision(final RevisionClaim claim, final UpdateRevisionTask<T> task); @Override T deleteRevision(final RevisionClaim claim, final DeleteRevisionTask<T> task); @Override void reset(final Collection<Revision> revisions); @Override List<Revision> getAllRevisions(); @Override Map<String, Revision> getRevisionMap();  }### Answer:
@Test public void testGetRevisionWhenDoesNotExist() { final String entityId = "entity1"; final Revision revision = revisionManager.getRevision(entityId); assertNotNull(revision); assertEquals(entityId, revision.getEntityId()); assertEquals(0L, revision.getVersion().longValue()); assertNull(revision.getClientId()); }