use of org.apache.cxf.transport.http.policy.impl.ClientPolicyCalculator in project cxf by apache.
the class ClientPolicyCalculatorTest method testLongTimeouts.
@Test
public void testLongTimeouts() {
ClientPolicyCalculator calc = new ClientPolicyCalculator();
HTTPClientPolicy p1 = new HTTPClientPolicy();
HTTPClientPolicy p2 = new HTTPClientPolicy();
p2.setReceiveTimeout(120000);
p2.setConnectionTimeout(60000);
HTTPClientPolicy p = calc.intersect(p1, p2);
assertEquals(120000, p.getReceiveTimeout());
assertEquals(60000, p.getConnectionTimeout());
p1 = new HTTPClientPolicy();
p2 = new HTTPClientPolicy();
p1.setReceiveTimeout(120000);
p1.setConnectionTimeout(60000);
p = calc.intersect(p1, p2);
assertEquals(120000, p.getReceiveTimeout());
assertEquals(60000, p.getConnectionTimeout());
p2.setReceiveTimeout(50000);
p2.setConnectionTimeout(20000);
p = calc.intersect(p1, p2);
// p1 should have priority
assertEquals(120000, p.getReceiveTimeout());
assertEquals(60000, p.getConnectionTimeout());
// reverse intersect
p = calc.intersect(p2, p1);
// p2 should have priority
assertEquals(50000, p.getReceiveTimeout());
assertEquals(20000, p.getConnectionTimeout());
}
use of org.apache.cxf.transport.http.policy.impl.ClientPolicyCalculator in project cxf by apache.
the class ClientPolicyCalculatorTest method testCompatibleClientPolicies.
@Test
public void testCompatibleClientPolicies() {
ClientPolicyCalculator calc = new ClientPolicyCalculator();
HTTPClientPolicy p1 = new HTTPClientPolicy();
assertTrue("Policy is not compatible with itself.", calc.compatible(p1, p1));
HTTPClientPolicy p2 = new HTTPClientPolicy();
assertTrue("Policies are not compatible.", calc.compatible(p1, p2));
p1.setBrowserType("browser");
assertTrue("Policies are not compatible.", calc.compatible(p1, p2));
p1.setBrowserType(null);
p1.setConnectionTimeout(10000);
assertTrue("Policies are not compatible.", calc.compatible(p1, p2));
p1.setAllowChunking(false);
p2.setAllowChunking(true);
assertTrue("Policies are compatible.", !calc.compatible(p1, p2));
p2.setAllowChunking(false);
assertTrue("Policies are compatible.", calc.compatible(p1, p2));
}
use of org.apache.cxf.transport.http.policy.impl.ClientPolicyCalculator in project cxf by apache.
the class HTTPClientAssertionBuilderTest method testBuildAssertion.
@Test
public void testBuildAssertion() throws Exception {
HTTPClientAssertionBuilder ab = new HTTPClientAssertionBuilder();
Assertion a = ab.buildAssertion();
assertTrue(a instanceof JaxbAssertion);
assertTrue(a instanceof HTTPClientAssertionBuilder.HTTPClientPolicyAssertion);
assertEquals(new ClientPolicyCalculator().getDataClassName(), a.getName());
assertTrue(!a.isOptional());
}
use of org.apache.cxf.transport.http.policy.impl.ClientPolicyCalculator in project cxf by apache.
the class PolicyUtilsTest method testAssertPolicyNoop.
void testAssertPolicyNoop(boolean isRequestor) {
PolicyDataEngine pde = new PolicyDataEngineImpl(null);
Message message = control.createMock(Message.class);
EasyMock.expect(message.get(AssertionInfoMap.class)).andReturn(null);
control.replay();
pde.assertMessage(message, null, new ClientPolicyCalculator());
control.verify();
control.reset();
Collection<PolicyAssertion> as = new ArrayList<>();
AssertionInfoMap aim = new AssertionInfoMap(as);
EasyMock.expect(message.get(AssertionInfoMap.class)).andReturn(aim);
control.replay();
if (isRequestor) {
pde.assertMessage(message, null, new ClientPolicyCalculator());
} else {
pde.assertMessage(message, null, new ServerPolicyCalculator());
}
control.verify();
}
use of org.apache.cxf.transport.http.policy.impl.ClientPolicyCalculator in project cxf by apache.
the class HTTPConduit method getClient.
public HTTPClientPolicy getClient(Message message) {
ClientPolicyCalculator cpc = new ClientPolicyCalculator();
HTTPClientPolicy pol = message.get(HTTPClientPolicy.class);
updateClientPolicy(message);
if (pol != null) {
pol = cpc.intersect(pol, clientSidePolicy);
} else {
pol = clientSidePolicy;
}
PolicyDataEngine policyDataEngine = bus.getExtension(PolicyDataEngine.class);
if (policyDataEngine == null) {
return pol;
}
return policyDataEngine.getPolicy(message, pol, cpc);
}
Aggregations