问题标签 [pact-broker]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 如果 junit 5 测试失败,Pact 不会将提供者验证结果发送给 Pact 代理
我用spring创建了一个REST服务。现在我想使用 pact 和 junit 5 来测试消费者-提供者-通信。我已经有一个正在运行的 pact-broker(来自https://github.com/jaimeniswonger/pact-broker-openshift)。消费者测试工作正常并发布协议。provider-test 加载这些并尝试验证它们。但测试只有在验证成功的情况下才会上传结果。我尝试使用surefire和failsafe运行测试。
测试代码:
协议代理属性在 pom 中定义:
是否可以配置测试以通知协议代理验证失败?
junit5 - 协议提供者测试中断:pactVerificationTestTemplate » PreconditionViolation
我对 CDC 测试还很陌生,只是迈出了第一步。我已经部署了 Pact-Broker (docker-compose),在 localhost:80 运行。消费者成功将生成的契约发送给代理,但提供者似乎无法获得有效的契约(但这只是假设)。
我正在使用 spring-boot、maven、jUnit5。应用程序测试在 Ubuntu 上运行。 在本地目录中使用 PactFolder 和消费者生成的契约合同会导致成功的测试。
当我切换到 @PactBroker 注释时,提供者能够连接到代理并收到以下响应(我从调试日志中得到它):
并且测试运行结果如下:
由于使用本地 pact 文件会使测试变绿,我想原因不在我的测试类的代码中,但如果它可能有帮助,我在这里提供它:
由于不能选择使用本地 pact 文件,我真的很想知道如何修复错误,并将感谢任何有用的评论。
maven 协议依赖项:
用于发布消费者协议的 Maven 插件:
契约提供者 docker-compose.yml:
gradle - 无法在 PACT Broker 中发布“上次验证”状态
对于微服务合同测试,我将 PACT 与 gradle 4.4 一起使用,这是我的 build.gradle:
虽然能够在代理中发布协议文件并能够查看依赖关系图,但在运行 pactVerify 方法后,“上次验证”显示为空白。我看到了一些关于 'pact.verifier.publishResults=true' 的文档,并试图作为 gradle 参数传递,但我收到一条错误消息:
FAILURE:构建失败并出现异常。
- 出了什么问题:您的项目配置错误,在构建中期望一个“协议”配置,但得到一个值为 '' 的字符串。确保没有覆盖“pact”的属性。
我运行的 gradle 命令是:
请让我知道我错过了什么,不接受 pact.verifier.publishResults
java - 提供程序中 PactVerify 每次迭代中数据的持久性
当提供者的端点执行数据持久性时,执行合同测试的最佳方法是什么?
例如,客户的注册。我应该考虑回滚管道中的数据吗?
.net - 验证提供商端时无法从 dotnet 核心中的 Pact Brocker 获取 PACT
我已经在 C# dotnet core 的消费者端实现了 PACT,并且能够使用以下代码将 *.json pact 文件发布到 PactBrocker。
在提供者方面(再次在 C# dotnet core 中),当我尝试使用单元测试用例(参见下面的代码)验证相同的已发布 Pact 时:
运行该单元测试时出现以下错误。
PactNet.PactFailureException :协议验证失败。有关详细信息,请参阅输出。如果输出为空,请为您的测试框架提供自定义 config.Outputters (IOutput),因为我们无法写入控制台。在 C:\projects\pact-net\PactNet\Core\PactCoreHost.cs:line 139 中的 PactNet.Core.PactCoreHost`1.Start()
在 C:\POC\pact2\Event.Api\Event.Test\EventAPITests.cs:line 55 中的 Event.Test.EventApiTests.EnsureEventApiHonoursPactWithConsumer()
从http://domain.pact.dius.com.au/pacts/provider/Event.API/consumer/UserService.API/version/1.0.2读取文件时出错
由于目标机器主动拒绝,无法建立连接。- 连接(2)“domain.pact.dius.com.au”端口 80 C:/POC/pact2/Event.Api/Event.Test/bin/Debug/netcoreapp2.0/pact-win32/lib/ruby/ lib/ruby/2.2.0/net/http.rb:879:in `initialize'
C:/POC/pact2/Event.Api/Event.Test/bin/Debug/netcoreapp2.0/pact-win32/lib/ruby/lib/ruby/2.2.0/net/http.rb:879:in `open '
C:/POC/pact2/Event.Api/Event.Test/bin/Debug/netcoreapp2.0/pact-win32/lib/ruby/lib/ruby/2.2.0/net/http.rb:879:in `block在连接'
C:/POC/pact2/Event.Api/Event.Test/bin/Debug/netcoreapp2.0/pact-win32/lib/ruby/lib/ruby/2.2.0/timeout.rb:74:in `timeout'
C:/POC/pact2/Event.Api/Event.Test/bin/Debug/netcoreapp2.0/pact-win32/lib/ruby/lib/ruby/2.2.0/net/http.rb:878:in `connect '
C:/POC/pact2/Event.Api/Event.Test/bin/Debug/netcoreapp2.0/pact-win32/lib/ruby/lib/ruby/2.2.0/net/http.rb:863:in`do_start '
C:/POC/pact2/Event.Api/Event.Test/bin/Debug/netcoreapp2.0/pact-win32/lib/ruby/lib/ruby/2.2.0/net/http.rb:852:in`start '
有人可以帮忙解决这个错误吗?PACT 代理服务器不在我的控制范围内。我是从http://pact.dius.com.au/网站获得的。
pact-broker - 如何创建可以由协议代理中的 Provider_verification_published 事件触发的有效 webhook?
为了通过利用 pact broker webhook 自动化合同测试,我使用 jenkins 作业创建了自定义的 contract_content_changed 事件。但是当我尝试为验证结果发布触发的客户管道添加 webhook 时,它失败了几次。
删除body元素后,它创建成功。通过将主体传递给客户作业,它可以解析失败/通过并决定是否应该进行部署。
如果不允许使用正文,消费者管道如何获取结果并继续下一步(或停止部署)?
我指的是Pact Broker Webhooks。
pact - 如何运行 PACT Broker can-i-deploy 脚本?
我已经下载了 zip 文件https://github.com/pact-foundation/pact_broker-client#can-i-deploy 并在我的 bash 中运行以下命令但我收到错误,我做错了什么
我的计划是从 C# 代码运行这个 can-i-deploy 但在此之前我正在运行 curl 但面临问题,感谢 示例脚本的任何帮助:
错误:卷曲:选项--参与者:未知
pact - 契约经纪人:无法在 http://localhost:8080/ 中看到契约经纪人屏幕
我是新来的契约。按照说明https://github.com/DiUS/pact_broker-docker/blob/master/POSTGRESQL.md在 dockerized 环境中设置 pact-broker。容器启动并运行。
在浏览器中,我可以看到 postgres 在http://localhost:8080/上监听
但我无法看到以下 pact-broker 屏幕来发布/验证合同文件。有人请帮忙。我在这里错过了什么吗?
提前致谢。
pact - 用于契约代理的 PSQL 以外的数据库
我们可以使用 SQL Server 作为契约代理的数据库吗?我在任何地方都看不到任何与此相关的文档。问题是我的工作场所没有 PostgreSQL,我被要求评估 SQL 服务器是否能达到目的。请帮忙