### Question:
AbstractNiFiTemplatesRestClient implements NiFiTemplatesRestClient { @Nonnull @Override public Optional<TemplateDTO> findByName(@Nonnull final String name) { return findAll().stream() .filter(template -> template.getName().equalsIgnoreCase(name)) .findFirst(); }  @Nonnull @Override TemplateDTO create(@Nullable final String name, @Nonnull final String xml); @Nonnull @Override Set<TemplateDTO> findByInputPortName(@Nonnull final String inputPortName); @Nonnull @Override Optional<TemplateDTO> findByName(@Nonnull final String name);  }### Answer:
@Test public void findByName() { final TemplateDTO template1 = new TemplateDTO(); template1.setName("temp1"); final TemplateDTO template2 = new TemplateDTO(); template2.setName("temp2"); final TemplateDTO template3 = new TemplateDTO(); template3.setName("temp3"); final NiFiTemplatesRestClient client = Mockito.mock(AbstractNiFiTemplatesRestClient.class, Mockito.CALLS_REAL_METHODS); Mockito.when(client.findAll()).thenReturn(ImmutableSet.of(template1, template2, template3)); Assert.assertEquals(template2, client.findByName("temp2").get()); Assert.assertFalse(client.findByName("invalid").isPresent()); }