Узел PACT - ConsumerVersionSelector - Участник и версия не соблюдаются
- ОС: Mac OSX 10.15.7_
- Пакт: 9.15.5
- Версия узла Пакта: 10.12.2
- Версия узла: 12.13.0
Я уверен, что делаю что-то не так, но не знаю, как заставить это работать.
У меня 2 клиента (и
ClientB
), у которых есть контракты (каждый помечен как 'master'), опубликованные брокеру (версия 2.79.1) с поставщиком
DemoService
.
Матрица пакт-брокера (упрощенная):
Я пытаюсь настроить
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");
});
});
});
Похоже, что
version
а также
pacticipant
не почитается. Контракты для обоих потребителей снимаются с брокера пакта. В журнале есть следующая запись:
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'
Спасибо за комментарий.