Camel 如何对测试用例“body null”或“body空字符串”执行junit测试

rdlzhqv9  于 2022-11-07  发布在  Apache
关注(0)|答案(1)|浏览(163)

这是一个散列处理器,我想在其中使用SHA-1算法对FileInputStream进行散列,然后将散列添加到“HashValue”下的交换标头中
@Component
公共类FileContentHashExpression实现表达式{

@Override
    public <T> T evaluate(Exchange exchange, Class<T> type) {
        // TODO Check for String type and generic file message
        if (type != String.class){
            throw new IllegalArgumentException("This is String only expression");
        }
        try (FileInputStream fileInputStream = new FileInputStream(((File)exchange.getIn(GenericFileMessage.class).getGenericFile().getFile()))) {
            exchange.getIn().setHeader("HashValue", DigestUtils.sha1(fileInputStream));
            return (T) (DigestUtils.sha1(fileInputStream));
        } catch (IOException e) {
            throw new RuntimeException(e);
        }
    }
osh3o9ms

osh3o9ms1#

这是一个单元测试,因此您所需要做的就是编写一个测试,该测试生成一个具有null(或空)输入Message正文的Exchange,然后调用方法。测试您所期望的条件。

相关问题