У меня есть конечная точка, которая загружает файл xlsx.В моем тесте мне нужно проверить содержимое файла (не сравнивать файл с другим файлом, а читать содержимое и проверять).Я использую фреймворк каратэ для тестирования и пытаюсь использовать apache POI для работы с таблицей Excel.Тем не менее, ответ, который я получаю от каратэ при вызове конечной точки загрузки, является строкой.Для создания файла Excel с POI мне нужен InputStream или путь к реальному файлу.Я пробовал преобразование, но оно не работает.
Полагаю, мне здесь не хватает связи, или, может быть, конверсия плохая, я новичок в каратэ и во всем этом.Я ценю любую помощь, спасибо!
Given url baseUrl
Given path downloadURI
When method GET
Then status 200
And match header Content-disposition contains 'attachment'
And match header Content-disposition contains 'example.xlsx'
And match header Content-Type == 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'
* def value= FileChecker.createExcelFile(response)
* print value
И код Java:
public static String createExcelFile(String excel) throws IOException, InvalidFormatException {
InputStream stream = IOUtils.toInputStream(excel, Charset.forName("UTF-8"));
Workbook workbook = WorkbookFactory.create(stream);
return ("Workbook has " + workbook.getNumberOfSheets() + " Sheets : ");
}
При запуске сценария я получаю следующую ошибку: javascript evaluation failed: FileChecker.createExcelFile(response), java.io.IOException: Failed to read zip entry source
При тестировании той же конечной точки в ПочтальонеЯ получаю действительный лист исключений.