Ваша функция проходит через Коллекцию (поток), пытается расшифровать каждую запись и создает список каждой дешифрованной записи, которую она возвращает. Если расшифровка завершается неудачно, создается сообщение журнала, и вместо него в список добавляется исходная запись.
Вы можете использовать тот факт, что если выполняется блок catch, член kinesisEventReturn.getRecords () будет в возвращенном списке. Итак, ваш тестовый пример требует создания входных данных, которые, как известно, заставляют decryptLog(record)
генерировать IOException
.
Когда IOException
выбрасывается / захватывается, результат функции будет иметь по крайней мере один член из ввод Collection
. Вы можете использовать Collections.disjoint , чтобы упростить этот тест:
if (! Collections.disjoint(result, kinesisEventReturn.getRecords()) {
// Test failed
при условии, что расшифрованные записи всегда отличаются от зашифрованных записей.