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();
}