### Question:
DatabaseConfigService extends AbstractArchivistService<DatabaseConfig> implements ResourceIdProvider, ResourceBasedCrnProvider { public DatabaseConfig getByCrn(String resourceCrn) { Crn crn = Crn.safeFromString(resourceCrn); Optional<DatabaseConfig> resourceOpt = repository.findByResourceCrn(crn); if (resourceOpt.isEmpty()) { throw new NotFoundException(String.format("No database found with crn '%s'", resourceCrn)); } MDCBuilder.buildMdcContext(resourceOpt.get()); return resourceOpt.get(); }  Set<DatabaseConfig> findAll(String environmentCrn); DatabaseConfig register(DatabaseConfig configToSave, boolean test); DatabaseConfig getByCrn(String resourceCrn); DatabaseConfig getByName(String name, String environmentCrn); DatabaseConfig getByName(String name); Set<DatabaseConfig> deleteMultipleByCrn(Set<String> resourceCrns); DatabaseConfig deleteByCrn(String resourceCrn); DatabaseConfig deleteByName(String name, String environmentCrn); String testConnection(String databaseConfigName, String environmentCrn); String testConnection(DatabaseConfig config); @Override DatabaseConfig delete(DatabaseConfig databaseConfig); DatabaseConfig delete(DatabaseConfig databaseConfig, boolean force, boolean skipDeletionOnServer); @Override JpaRepository repository(); @Override Long getResourceIdByResourceCrn(String resourceCrn); @Override Long getResourceIdByResourceName(String resourceName); @Override AuthorizationResourceType getResourceType(); @Override String getResourceCrnByResourceName(String resourceName); @Override List<String> getResourceCrnListByResourceNameList(List<String> resourceNames); @Override List<String> getResourceCrnsInAccount();  }### Answer:
@Test public void testGetByCrnFound() { when(repository.findByResourceCrn(DB_CRN)).thenReturn(Optional.of(db)); DatabaseConfig foundDb = underTest.getByCrn(DB_CRN_STRING); assertEquals(db, foundDb); }
@Test public void testGetByCrnNotFound() { thrown.expect(NotFoundException.class); when(repository.findByResourceCrn(DB_CRN)).thenReturn(Optional.empty()); underTest.getByCrn(DB_CRN_STRING); }