Java 如何使用pact jvm提供程序junit+;http基本身份验证+;EclipseTPC/IP监视器?

Java 如何使用pact jvm提供程序junit+;http基本身份验证+;EclipseTPC/IP监视器?,java,eclipse,junit,basic-authentication,pact,Java,Eclipse,Junit,Basic Authentication,Pact,我想这样做: private static final String protocol = "http"; // host verification via http basic auth, http://username:passwort@url ... private static final String host = "http://username:password@myservice.com"; private static final int port = 80; privat

我想这样做:

private static final String protocol = "http";

// host verification via http basic auth, http://username:passwort@url ...
private static final String host = "http://username:password@myservice.com";
private static final int port = 80;

private static final String path = "/";

@TestTarget
public final Target target = new HttpTarget(protocol, host, port, path);
@TargetRequestFilter
public void exampleRequestFilter(HttpRequest request) {
    request.addHeader("Authorization", "OAUTH hdsagasjhgdjashgdah...");
}
问题是: 我想通过TCP/IP监视器分析我的连接,但似乎没有机会使用http基本身份验证。 如何使用http basic auth通过TCP/IP监视器转发连接

我可以为每个标题设置必要的参数吗?也许是这样的:

private static final String protocol = "http";

// host verification via http basic auth, http://username:passwort@url ...
private static final String host = "http://username:password@myservice.com";
private static final int port = 80;

private static final String path = "/";

@TestTarget
public final Target target = new HttpTarget(protocol, host, port, path);
@TargetRequestFilter
public void exampleRequestFilter(HttpRequest request) {
    request.addHeader("Authorization", "OAUTH hdsagasjhgdjashgdah...");
}
或者还有其他选项可以使用http基本身份验证+TCP/IP监视器吗


提前谢谢

我通过base64编码时发现我可以使用http基本身份验证。 解决方案应如下所示:

@TargetRequestFilter
public void exampleRequestFilter(HttpRequest request) {
    // Authorization header Base64 encoded...
    String encoded = Base64.getEncoder()
            .encodeToString((username + ":" + password).getBytes(StandardCharsets.UTF_8));
    request.addHeader("Authorization", "Basic " + encoded);
}

当我通过base64编码时,我发现我可以使用http基本身份验证。 解决方案应如下所示:

@TargetRequestFilter
public void exampleRequestFilter(HttpRequest request) {
    // Authorization header Base64 encoded...
    String encoded = Base64.getEncoder()
            .encodeToString((username + ":" + password).getBytes(StandardCharsets.UTF_8));
    request.addHeader("Authorization", "Basic " + encoded);
}

对于Junit 5,这是不同的做法,如下所示:

@TestTemplate
@ExtendWith(pactVerificationJournationContextProvider.class)
void testTemplate(PactVerificationContext上下文,HttpRequest请求){
//这将为请求添加一个标题
addHeader(“X-Auth-Token”,“1234”);
verifyInteraction();
}

对于Junit 5,这是不同的做法,如下所示:

@TestTemplate
@ExtendWith(pactVerificationJournationContextProvider.class)
void testTemplate(PactVerificationContext上下文,HttpRequest请求){
//这将为请求添加一个标题
addHeader(“X-Auth-Token”,“1234”);
verifyInteraction();
}