微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

PACT 节点 - ConsumerVersionSelector - 参与者和版本不受尊重

如何解决PACT 节点 - ConsumerVersionSelector - 参与者和版本不受尊重

  • 操作系统:Mac OSX 10.15.7_
  • 契约:9.15.5
  • Pact Node 版本:10.12.2
  • 节点版本:12.13.0

我确定我做错了什么,但我不确定如何让它发挥作用。

我有 2 个客户端(ClientAClientB),它们的合同(每个都标记为“master”)发布到与提供者 DemoService 的契约经纪人(版本 2.79.1)。

Pact-broker 矩阵(简化):

消费者 版本 标签 提供者 版本 已验证
客户A 1.0.1-2726fe4 大师 - 演示服务 1.0.0-a6b2678
客户A 1.0.0-12ab763 大师 - 演示服务 1.0.0-a6b2678
客户B 1.0.1-6fe3cb5 大师 - 演示服务 1.0.0-a6b2678
客户B 1.0.0-ec71b62 大师 - 演示服务 1.0.0-a6b2678

我尝试设置 ConsumerVersionSelector 以验证与提供商签订的 ClientA 合同的特定版本。

import { Verifier} from "@pact-foundation/pact";
import { ConsumerVersionSelector } from "@pact-foundation/pact-node/src/verifier";

describe("PACT Verification",() => {
  test(`Validates the expectations of Provider: DemoService`,() => {   
    return new Verifier({
        providerBaseUrl: `http://${config.app_server_host}:${config.app_port}/`,pactbrokerUrl: 'https://local/pactbroker/',provider: 'DemoService',providerVersion: '1.0.0-a6b2678',providerVersionTags: 'master',logLevel: 'debug',logDir: 'log',consumerVersionSelectors: [{
          all: false,latest: false,tag: 'master',version: '1.0.0-2726fe4',pacticipant: 'ClientA'
        } as ConsumerVersionSelector],publishVerificationResult: true,pactbrokerUsername: 'admin',pactbrokerPassword: 'password',})
      .verifyProvider()
      .then((output) => {
        console.log(output);
      })
      .then(() => {
        expect("A").toEqual("A");
      });
  });
});

看起来 versionpacticipant 不受尊重。两个消费者的合同都是从契约经纪人那里提取的。日志中有如下语句:

    
    DEBUG: The pact at https://local/pactbroker/pacts/provider/DemoService/consumer/ClientA/pact-version/1d59c1e8b3944bb34c72cafd0de47e0b07162685 is being verified because it matches the following configured selection criterion: pacts for all consumer versions tagged 'master'
    DEBUG: The pact at https://local/pactbroker/pacts/provider/DemoService/consumer/ClientB/pact-version/0713c326c33c47a08901c676c575244bfefd394a is being verified because it matches the following configured selection criterion: pacts for all consumer versions tagged 'master'

感谢您的评论

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。