При создании теста проверки договора я использую метод HttpsTestTarget. Но проблема в том, что моей службе необходимо отправить токен аутентификации при вызове. Как мы можем это запустить? пожалуйста, сообщите.
Подробнее: проект использует расширения Java, Pact и Quarkus (io.quarkiverse.pact:quarkus-pact-provider и io.quarkus-pact-provider и io.quarkus-pact-consumer). .
Ниже мой cURL:
curl --location 'https://gateway.production.xpto.io/xpto ... pto_client' \
--header 'Authorization: Bearer 3rdcD=V8KoW!eJaPjWx04lhuVUqXFyr2Bz-HjANr7Fy9eUzOW!7JJXeVwPe6NTSAlPxxn4C!qXzsqz!UzSrj/gH2o-BL=S?IsbMrb/zG00pjOWm7U=08PYz5UPko1JttfuI!v6rRH4P8fsJ-M6E0kR0Ds7tsqbRbjGGt8NsdzO4VPG1/U3uIYZ7IG/yWG8-1tUyq8V4DPmwtmxM/5CieFaPHhUJyRyjR!24K-7m4FGNd??gCr!t57JTvW2vrjEpj'
Ниже мой проверочный тест:
package com.company.pact.provider;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.TestTemplate;
import org.junit.jupiter.api.extension.ExtendWith;
import au.com.dius.pact.provider.junit5.HttpsTestTarget;
import au.com.dius.pact.provider.junit5.PactVerificationContext;
import au.com.dius.pact.provider.junit5.PactVerificationInvocationContextProvider;
import au.com.dius.pact.provider.junitsupport.Provider;
import au.com.dius.pact.provider.junitsupport.State;
import au.com.dius.pact.provider.junitsupport.loader.PactBroker;
import io.quarkus.test.junit.QuarkusTest;
@QuarkusTest
@Provider("XPTOProvider")
@PactBroker(host = "localhost", port = "9292")
public class XPTOProviderContractTest {
@BeforeEach
void beforeEach(PactVerificationContext context) {
context.setTarget(new HttpsTestTarget("gateway.production.xpto.io", 443, "/xpto/v2/xpto?attribute=%23xpto_client"));
}
@TestTemplate
@ExtendWith(PactVerificationInvocationContextProvider.class)
void pactVerificationTestTemplate(PactVerificationContext context) {
context.verifyInteraction();
}
@State("test GET")
public void testGet() {
System.out.println("test GET");
}
}
Подробнее здесь: https://stackoverflow.com/questions/783 ... using-pact