|
Apache CXF example source code file (PolicyEngineTest.java)
The Apache CXF PolicyEngineTest.java source code/** * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information * regarding copyright ownership. The ASF licenses this file * to you under the Apache License, Version 2.0 (the * "License"); you may not use this file except in compliance * with the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, * software distributed under the License is distributed on an * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * KIND, either express or implied. See the License for the * specific language governing permissions and limitations * under the License. */ package org.apache.cxf.ws.policy; import java.lang.reflect.Method; import java.util.ArrayList; import java.util.Collection; import java.util.Collections; import java.util.HashSet; import java.util.List; import java.util.Set; import javax.xml.namespace.QName; import org.apache.cxf.Bus; import org.apache.cxf.bus.CXFBusImpl; import org.apache.cxf.helpers.CastUtils; import org.apache.cxf.interceptor.Interceptor; import org.apache.cxf.message.Message; import org.apache.cxf.phase.PhaseInterceptor; import org.apache.cxf.service.model.BindingFaultInfo; import org.apache.cxf.service.model.BindingMessageInfo; import org.apache.cxf.service.model.BindingOperationInfo; import org.apache.cxf.service.model.EndpointInfo; import org.apache.cxf.service.model.OperationInfo; import org.apache.cxf.service.model.ServiceInfo; import org.apache.cxf.transport.Conduit; import org.apache.cxf.transport.Destination; import org.apache.cxf.ws.policy.builder.primitive.PrimitiveAssertion; import org.apache.neethi.Constants; import org.apache.neethi.Policy; import org.apache.neethi.PolicyComponent; import org.apache.neethi.PolicyReference; import org.apache.neethi.PolicyRegistry; import org.easymock.classextension.EasyMock; import org.easymock.classextension.IMocksControl; import org.junit.Assert; import org.junit.Before; import org.junit.Test; /** * */ public class PolicyEngineTest extends Assert { private IMocksControl control; private PolicyEngineImpl engine; @Before public void setUp() { control = EasyMock.createNiceControl(); } private EndpointInfo createMockEndpointInfo() throws Exception { EndpointInfo ei = new EndpointInfo(); ei.setName(new QName("mock", "mock")); return ei; } private BindingOperationInfo createMockBindingOperationInfo() throws Exception { OperationInfo info = new OperationInfo(); BindingOperationInfo boi = new BindingOperationInfo(null, info) { public boolean isUnwrapped() { return false; } }; return boi; } @Test public void testAccessors() throws Exception { engine = new PolicyEngineImpl(false); assertNotNull(engine.getRegistry()); assertNull(engine.getBus()); assertNotNull(engine.getPolicyProviders()); assertNull(engine.getAlternativeSelector()); assertTrue(!engine.isEnabled()); Bus bus = new CXFBusImpl(); engine.setBus(bus); List<PolicyProvider> providers = CastUtils.cast(Collections.EMPTY_LIST, PolicyProvider.class); engine.setPolicyProviders(providers); PolicyRegistry reg = control.createMock(PolicyRegistry.class); engine.setRegistry(reg); engine.setEnabled(true); AlternativeSelector selector = control.createMock(AlternativeSelector.class); engine.setAlternativeSelector(selector); assertSame(bus, engine.getBus()); assertSame(reg, engine.getRegistry()); assertTrue(engine.isEnabled()); assertSame(selector, engine.getAlternativeSelector()); assertNotNull(engine.createOutPolicyInfo()); bus.shutdown(true); } @Test public void testGetEffectiveClientRequestPolicy() throws Exception { Method m = PolicyEngineImpl.class.getDeclaredMethod("createOutPolicyInfo", new Class[] {}); engine = control.createMock(PolicyEngineImpl.class, new Method[] {m}); engine.init(); EndpointInfo ei = createMockEndpointInfo(); BindingOperationInfo boi = createMockBindingOperationInfo(); AssertingConduit conduit = control.createMock(AssertingConduit.class); EffectivePolicyImpl epi = control.createMock(EffectivePolicyImpl.class); EasyMock.expect(engine.createOutPolicyInfo()).andReturn(epi); epi.initialise(ei, boi, engine, conduit, true, true); EasyMock.expectLastCall(); control.replay(); assertSame(epi, engine.getEffectiveClientRequestPolicy(ei, boi, conduit)); assertSame(epi, engine.getEffectiveClientRequestPolicy(ei, boi, conduit)); control.verify(); } @Test public void testSetEffectiveClientRequestPolicy() throws Exception { engine = new PolicyEngineImpl(); EndpointInfo ei = createMockEndpointInfo(); BindingOperationInfo boi = createMockBindingOperationInfo(); EffectivePolicy effectivePolicy = control.createMock(EffectivePolicy.class); control.replay(); engine.setEffectiveClientRequestPolicy(ei, boi, effectivePolicy); assertSame(effectivePolicy, engine.getEffectiveClientRequestPolicy(ei, boi, (Conduit)null)); control.verify(); } @Test public void testGetEffectiveServerResponsePolicy() throws Exception { Method m = PolicyEngineImpl.class.getDeclaredMethod("createOutPolicyInfo", new Class[] {}); engine = control.createMock(PolicyEngineImpl.class, new Method[] {m}); engine.init(); EndpointInfo ei = createMockEndpointInfo(); BindingOperationInfo boi = createMockBindingOperationInfo(); AssertingDestination destination = control.createMock(AssertingDestination.class); EffectivePolicyImpl epi = control.createMock(EffectivePolicyImpl.class); EasyMock.expect(engine.createOutPolicyInfo()).andReturn(epi); epi.initialise(ei, boi, engine, destination, false, false); EasyMock.expectLastCall(); control.replay(); assertSame(epi, engine.getEffectiveServerResponsePolicy(ei, boi, destination)); assertSame(epi, engine.getEffectiveServerResponsePolicy(ei, boi, destination)); control.verify(); } @Test public void testSetEffectiveServerResponsePolicy() throws Exception { engine = new PolicyEngineImpl(); EndpointInfo ei = createMockEndpointInfo(); BindingOperationInfo boi = createMockBindingOperationInfo(); EffectivePolicy effectivePolicy = control.createMock(EffectivePolicy.class); control.replay(); engine.setEffectiveServerResponsePolicy(ei, boi, effectivePolicy); assertSame(effectivePolicy, engine.getEffectiveServerResponsePolicy(ei, boi, (Destination)null)); control.verify(); } @Test public void testGetEffectiveServerFaultPolicy() throws Exception { Method m = PolicyEngineImpl.class.getDeclaredMethod("createOutPolicyInfo", new Class[] {}); engine = control.createMock(PolicyEngineImpl.class, new Method[] {m}); engine.init(); EndpointInfo ei = createMockEndpointInfo(); BindingFaultInfo bfi = new BindingFaultInfo(null, null); AssertingDestination destination = control.createMock(AssertingDestination.class); EffectivePolicyImpl epi = control.createMock(EffectivePolicyImpl.class); EasyMock.expect(engine.createOutPolicyInfo()).andReturn(epi); epi.initialise(ei, bfi, engine, destination); EasyMock.expectLastCall(); control.replay(); assertSame(epi, engine.getEffectiveServerFaultPolicy(ei, bfi, destination)); assertSame(epi, engine.getEffectiveServerFaultPolicy(ei, bfi, destination)); control.verify(); } @Test public void testSetEffectiveServerFaultPolicy() throws Exception { engine = new PolicyEngineImpl(); EndpointInfo ei = createMockEndpointInfo(); BindingFaultInfo bfi = new BindingFaultInfo(null, null); EffectivePolicy epi = control.createMock(EffectivePolicy.class); engine.setEffectiveServerFaultPolicy(ei, bfi, epi); assertSame(epi, engine.getEffectiveServerFaultPolicy(ei, bfi, (Destination)null)); } @Test public void testGetEffectiveServerRequestPolicyInfo() throws Exception { Method m = PolicyEngineImpl.class.getDeclaredMethod("createOutPolicyInfo", new Class[] {}); engine = control.createMock(PolicyEngineImpl.class, new Method[] {m}); engine.init(); EndpointInfo ei = createMockEndpointInfo(); BindingOperationInfo boi = createMockBindingOperationInfo(); EffectivePolicyImpl epi = control.createMock(EffectivePolicyImpl.class); EasyMock.expect(engine.createOutPolicyInfo()).andReturn(epi); epi.initialise(ei, boi, engine, false, true); EasyMock.expectLastCall(); control.replay(); assertSame(epi, engine.getEffectiveServerRequestPolicy(ei, boi)); assertSame(epi, engine.getEffectiveServerRequestPolicy(ei, boi)); control.verify(); } @Test public void testSetEffectiveServerRequestPolicy() throws Exception { engine = new PolicyEngineImpl(); EndpointInfo ei = createMockEndpointInfo(); BindingOperationInfo boi = createMockBindingOperationInfo(); EffectivePolicy effectivePolicy = control.createMock(EffectivePolicy.class); control.replay(); engine.setEffectiveServerRequestPolicy(ei, boi, effectivePolicy); assertSame(effectivePolicy, engine.getEffectiveServerRequestPolicy(ei, boi)); control.verify(); } @Test public void testGetEffectiveClientResponsePolicy() throws Exception { Method m = PolicyEngineImpl.class.getDeclaredMethod("createOutPolicyInfo", new Class[] {}); engine = control.createMock(PolicyEngineImpl.class, new Method[] {m}); engine.init(); EndpointInfo ei = createMockEndpointInfo(); BindingOperationInfo boi = createMockBindingOperationInfo(); EffectivePolicyImpl epi = control.createMock(EffectivePolicyImpl.class); EasyMock.expect(engine.createOutPolicyInfo()).andReturn(epi); epi.initialise(ei, boi, engine, true, false); EasyMock.expectLastCall(); control.replay(); assertSame(epi, engine.getEffectiveClientResponsePolicy(ei, boi)); assertSame(epi, engine.getEffectiveClientResponsePolicy(ei, boi)); control.verify(); } @Test public void testSetEffectiveClientResponsePolicy() throws Exception { engine = new PolicyEngineImpl(); EndpointInfo ei = createMockEndpointInfo(); BindingOperationInfo boi = createMockBindingOperationInfo(); EffectivePolicy epi = control.createMock(EffectivePolicy.class); control.replay(); engine.setEffectiveClientResponsePolicy(ei, boi, epi); assertSame(epi, engine.getEffectiveClientResponsePolicy(ei, boi)); control.verify(); } @Test public void testGetEffectiveClientFaultPolicy() throws Exception { Method m = PolicyEngineImpl.class.getDeclaredMethod("createOutPolicyInfo", new Class[] {}); engine = control.createMock(PolicyEngineImpl.class, new Method[] {m}); engine.init(); EndpointInfo ei = createMockEndpointInfo(); BindingFaultInfo bfi = new BindingFaultInfo(null, null); EffectivePolicyImpl epi = control.createMock(EffectivePolicyImpl.class); EasyMock.expect(engine.createOutPolicyInfo()).andReturn(epi); epi.initialisePolicy(ei, bfi, engine); EasyMock.expectLastCall(); control.replay(); assertSame(epi, engine.getEffectiveClientFaultPolicy(ei, bfi)); assertSame(epi, engine.getEffectiveClientFaultPolicy(ei, bfi)); control.verify(); } @Test public void testSetEffectiveClientFaultPolicy() throws Exception { engine = new PolicyEngineImpl(); EndpointInfo ei = createMockEndpointInfo(); BindingFaultInfo bfi = new BindingFaultInfo(null, null); EffectivePolicy epi = control.createMock(EffectivePolicy.class); engine.setEffectiveClientFaultPolicy(ei, bfi, epi); assertSame(epi, engine.getEffectiveClientFaultPolicy(ei, bfi)); } @Test public void testGetEndpointPolicyClientSide() throws Exception { Method m = PolicyEngineImpl.class.getDeclaredMethod("createEndpointPolicyInfo", new Class[] {EndpointInfo.class, boolean.class, Assertor.class}); engine = control.createMock(PolicyEngineImpl.class, new Method[] {m}); engine.init(); EndpointInfo ei = createMockEndpointInfo(); AssertingConduit conduit = control.createMock(AssertingConduit.class); EndpointPolicyImpl epi = control.createMock(EndpointPolicyImpl.class); EasyMock.expect(engine.createEndpointPolicyInfo(ei, true, conduit)).andReturn(epi); control.replay(); assertSame(epi, engine.getClientEndpointPolicy(ei, conduit)); control.verify(); } @Test public void testGetEndpointPolicyServerSide() throws Exception { Method m = PolicyEngineImpl.class.getDeclaredMethod("createEndpointPolicyInfo", new Class[] {EndpointInfo.class, boolean.class, Assertor.class}); engine = control.createMock(PolicyEngineImpl.class, new Method[] {m}); engine.init(); EndpointInfo ei = createMockEndpointInfo(); AssertingDestination destination = control.createMock(AssertingDestination.class); EndpointPolicyImpl epi = control.createMock(EndpointPolicyImpl.class); EasyMock.expect(engine.createEndpointPolicyInfo(ei, false, destination)).andReturn(epi); control.replay(); assertSame(epi, engine.getServerEndpointPolicy(ei, destination)); control.verify(); } @Test public void testCreateEndpointPolicyInfo() throws Exception { Method m1 = PolicyEngineImpl.class.getDeclaredMethod("createEndpointPolicyInfo", new Class[] {EndpointInfo.class, boolean.class, Assertor.class}); engine = control.createMock(PolicyEngineImpl.class, new Method[] {m1}); engine.init(); EndpointInfo ei = createMockEndpointInfo(); Assertor assertor = control.createMock(Assertor.class); EndpointPolicyImpl epi = control.createMock(EndpointPolicyImpl.class); EasyMock.expect(engine.createEndpointPolicyInfo(ei, false, assertor)).andReturn(epi); control.replay(); assertSame(epi, engine.createEndpointPolicyInfo(ei, false, assertor)); control.verify(); } @Test public void testEndpointPolicyWithEqualPolicies() throws Exception { engine = new PolicyEngineImpl(); EndpointInfo ei = createMockEndpointInfo(); ServiceInfo si = control.createMock(ServiceInfo.class); ei.setService(si); si.getExtensor(Policy.class); EasyMock.expectLastCall().andReturn(null).times(2); EndpointPolicyImpl epi = control.createMock(EndpointPolicyImpl.class); control.replay(); engine.setServerEndpointPolicy(ei, epi); engine.setClientEndpointPolicy(ei, epi); assertSame(epi, engine.getClientEndpointPolicy(ei, (Conduit)null)); assertSame(epi, engine.getServerEndpointPolicy(ei, (Destination)null)); control.reset(); ei.setService(si); Policy p = new Policy(); si.getExtensor(Policy.class); EasyMock.expectLastCall().andReturn(p).times(2); epi.getPolicy(); EasyMock.expectLastCall().andReturn(p).times(2); control.replay(); assertSame(epi, engine.getServerEndpointPolicy(ei, (Destination)null)); } @Test public void testDontAddBusInterceptors() { doTestAddBusInterceptors(false); } @Test public void testAddBusInterceptors() { doTestAddBusInterceptors(true); } private void doTestAddBusInterceptors(boolean enabled) { engine = new PolicyEngineImpl(enabled); Bus bus = control.createMock(Bus.class); List<Interceptor out = new ArrayList Other Apache CXF examples (source code examples)Here is a short list of links related to this Apache CXF PolicyEngineTest.java source code file: |
... this post is sponsored by my books ... | |
#1 New Release! |
FP Best Seller |
Copyright 1998-2021 Alvin Alexander, alvinalexander.com
All Rights Reserved.
A percentage of advertising revenue from
pages under the /java/jwarehouse
URI on this website is
paid back to open source projects.