【问题标题】:File Endpoint for Citrus FrameworkCitrus 框架的文件端点
【发布时间】:2019-09-16 01:40:05
【问题描述】:

我目前正在考虑将 Citrus 用于我们的集成测试,但是我们的集成软件使用文件消息,其中文件被写入入站文件夹,被拾取和处理,从而导致新的文件消息被写入正在写入 SQL 的出站文件夹或数据。

我想知道 Citrus 是否可以将具有特定负载的文件写入入站文件夹,然后监视文件是否出现在特定出站文件夹和/或 SQL 表中。

示例测试用例:

file()
  .folder(todoInboundFolder)
  .write()
  .payload(new ClassPathResource("templates/todo.xml"));

file()
  .folder(todoOutboundFolder)
  .read()
  .validate("/t:todo/t:correlationId", "${todocorrelationId}")
  .validate("/t:todo/t:title", "${todoName}");

query(todoDataSource)
  .statement("select count(*) as cnt from todo_entries where correlationid = '${todocorrelationId}'")
  .validate("cnt", "1");

另外 - 有没有办法指定等待文件/SQL 条目出现的超时时间?

【问题讨论】:

    标签: citrus-framework


    【解决方案1】:

    Citrus 中还没有直接实现文件端点。有一个功能请求,但由于不活动而被关闭https://github.com/citrusframework/citrus/issues/151

    您可以通过使用简单的 Apache Camel 路由进行文件传输来解决此问题。 Citrus 能够调用骆驼路线并非常轻松地使用其结果。在此处阅读更多信息https://citrusframework.org/citrus/reference/2.8.0/html/index.html#apache-camel

    这将是现在可以提供帮助的解决方法。除此之外,您可以重新打开或为该问题做出贡献。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-03-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多