Интеграционный тест с использованием пружины Mockito CSV - PullRequest
0 голосов
/ 07 сентября 2018

У меня есть ednpoint, который возвращает void, но завернутый в ответ в формате csv

public void findStatus(@PathVariable("id") Long locationId, HttpServletResponse response) throws Exception {
           log.info("Finding Status Information with id = {}.", locationId);

             Status status = statusRepository.findOneByLocationId(locationId);

             WriteCsvToResponse.writeStatus(response.getWriter(), status);

        }
           }

И класс, который заключает этот ответ в CSV:

 public static void writeStatus(PrintWriter writer, Status status) {

        try {

            ColumnPositionMappingStrategy mapStrategy
                = new ColumnPositionMappingStrategy();

            mapStrategy.setType(Status.class);

            String[] columns = new String[]{"id", "date", "status"};
            mapStrategy.setColumnMapping(columns);

            StatefulBeanToCsv btcsv = new StatefulBeanToCsvBuilder(writer)
                .withQuotechar(CSVWriter.NO_QUOTE_CHARACTER)
                .withMappingStrategy(mapStrategy)
                .withSeparator(',')
                .build();

            btcsv.write(status);

        } catch (CsvException ex) {

            LOGGER.error("Error mapping Bean to CSV", ex);
        }
    }

и хранилище:

public interface statusRepository extends CrudRepository<RealObject, Long> {

    @Query("SELECT new Status(r.id, r.date,  r.status) " +
        " FROM RealObject r " +
        " WHERE r.id = :id" +
        " ORDER BY r.date "
    )
    Status findOneByLocationId(@Param("id") Long locationId);

    }

Мне нужно выполнить интеграционное тестирование с использованием Mockito, и я не знаю, как это сделать. Любые идеи, как проверить метод, который предполагает вернуть void, но на самом деле возвращает список объектов в формате CSV? Должен ли я также проверить запрос? как это сделать в мокито?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...