You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by an...@apache.org on 2007/03/20 18:10:13 UTC
svn commit: r520484 - in /incubator/cxf/trunk/rt/ws/policy/src:
main/java/org/apache/cxf/ws/policy/ test/java/org/apache/cxf/ws/policy/
test/resources/samples/
Author: andreasmyth
Date: Tue Mar 20 10:10:12 2007
New Revision: 520484
URL: http://svn.apache.org/viewvc?view=rev&rev=520484
Log:
Increased test coverage for org.apache.cxf.ws.policy package.
Added:
incubator/cxf/trunk/rt/ws/policy/src/test/java/org/apache/cxf/ws/policy/PolicyInterceptorProviderRegistryImplTest.java (with props)
incubator/cxf/trunk/rt/ws/policy/src/test/java/org/apache/cxf/ws/policy/PolicyRegistryImplTest.java (with props)
incubator/cxf/trunk/rt/ws/policy/src/test/resources/samples/test28.xml (with props)
Modified:
incubator/cxf/trunk/rt/ws/policy/src/main/java/org/apache/cxf/ws/policy/PolicyEngine.java
incubator/cxf/trunk/rt/ws/policy/src/test/java/org/apache/cxf/ws/policy/OutPolicyInfoTest.java
incubator/cxf/trunk/rt/ws/policy/src/test/java/org/apache/cxf/ws/policy/PolicyBuilderTest.java
incubator/cxf/trunk/rt/ws/policy/src/test/java/org/apache/cxf/ws/policy/PolicyEngineTest.java
incubator/cxf/trunk/rt/ws/policy/src/test/java/org/apache/cxf/ws/policy/PolicyInterceptorsTest.java
Modified: incubator/cxf/trunk/rt/ws/policy/src/main/java/org/apache/cxf/ws/policy/PolicyEngine.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/ws/policy/src/main/java/org/apache/cxf/ws/policy/PolicyEngine.java?view=diff&rev=520484&r1=520483&r2=520484
==============================================================================
--- incubator/cxf/trunk/rt/ws/policy/src/main/java/org/apache/cxf/ws/policy/PolicyEngine.java (original)
+++ incubator/cxf/trunk/rt/ws/policy/src/main/java/org/apache/cxf/ws/policy/PolicyEngine.java Tue Mar 20 10:10:12 2007
@@ -59,29 +59,48 @@
private Collection<PolicyProvider> policyProviders;
private boolean registerInterceptors;
- private Map<BindingOperation, OutPolicyInfo> clientRequestInfo
- = new ConcurrentHashMap<BindingOperation, OutPolicyInfo>();
+ private Map<BindingOperation, OutPolicyInfo> clientRequestInfo;
- private Map<BindingOperation, OutPolicyInfo> clientResponseInfo
- = new ConcurrentHashMap<BindingOperation, OutPolicyInfo>();
+ private Map<BindingOperation, OutPolicyInfo> clientResponseInfo;
- private Map<BindingFault, OutPolicyInfo> clientFaultInfo
- = new ConcurrentHashMap<BindingFault, OutPolicyInfo>();
+ private Map<BindingFault, OutPolicyInfo> clientFaultInfo;
- private Map<Endpoint, EndpointPolicyInfo> endpointInfo
- = new ConcurrentHashMap<Endpoint, EndpointPolicyInfo>();
+ private Map<Endpoint, EndpointPolicyInfo> endpointInfo;
- private Map<BindingOperation, OutPolicyInfo> serverRequestInfo
- = new ConcurrentHashMap<BindingOperation, OutPolicyInfo>();
+ private Map<BindingOperation, OutPolicyInfo> serverRequestInfo;
- private Map<BindingOperation, OutPolicyInfo> serverResponseInfo
- = new ConcurrentHashMap<BindingOperation, OutPolicyInfo>();
+ private Map<BindingOperation, OutPolicyInfo> serverResponseInfo;
- private Map<BindingFault, OutPolicyInfo> serverFaultInfo
- = new ConcurrentHashMap<BindingFault, OutPolicyInfo>();
+ private Map<BindingFault, OutPolicyInfo> serverFaultInfo;
- public PolicyEngine() {
+ public PolicyEngine() {
+ init();
+ }
+
+ protected final void init() {
+
registry = new PolicyRegistryImpl();
+
+ clientRequestInfo
+ = new ConcurrentHashMap<BindingOperation, OutPolicyInfo>();
+
+ clientResponseInfo
+ = new ConcurrentHashMap<BindingOperation, OutPolicyInfo>();
+
+ clientFaultInfo
+ = new ConcurrentHashMap<BindingFault, OutPolicyInfo>();
+
+ endpointInfo
+ = new ConcurrentHashMap<Endpoint, EndpointPolicyInfo>();
+
+ serverRequestInfo
+ = new ConcurrentHashMap<BindingOperation, OutPolicyInfo>();
+
+ serverResponseInfo
+ = new ConcurrentHashMap<BindingOperation, OutPolicyInfo>();
+
+ serverFaultInfo
+ = new ConcurrentHashMap<BindingFault, OutPolicyInfo>();
}
public Class<?> getRegistrationType() {
@@ -157,48 +176,6 @@
bus.getInFaultInterceptors().add(verifyInFault);
}
- /*
- public Collection<Assertion> getClientOutAssertions(Endpoint e, BindingOperationInfo boi, Conduit c) {
- return getClientRequestPolicyInfo(e, boi, c).getChosenAlternative();
- }
-
- public List<Interceptor> getClientOutInterceptors(Endpoint e, BindingOperationInfo boi, Conduit c) {
- return getClientRequestPolicyInfo(e, boi, c).getInterceptors();
- }
-
- public List<Interceptor> getClientInInterceptors(Endpoint e, Conduit c) {
- return getEndpointPolicyInfo(e, c).getInInterceptors();
- }
-
- public List<Interceptor> getClientInFaultInterceptors(Endpoint e, Conduit c) {
- return getEndpointPolicyInfo(e, c).getInFaultInterceptors();
- }
-
- public List<Interceptor> getServerInInterceptors(Endpoint e, Destination d) {
- return getEndpointPolicyInfo(e, d).getInInterceptors();
- }
-
- public Collection<Assertion> getServerOutAssertions(Endpoint e, BindingOperationInfo boi,
- Destination d) {
- return getServerResponsePolicyInfo(e, boi, d).getChosenAlternative();
- }
-
- public List<Interceptor> getServerOutInterceptors(Endpoint e, BindingOperationInfo boi,
- Destination d) {
- return getServerResponsePolicyInfo(e, boi, d).getInterceptors();
- }
-
- public Collection<Assertion> getServerOutFaultAssertions(Endpoint e, BindingFaultInfo bfi,
- Destination d) {
- return getServerFaultPolicyInfo(e, bfi, d).getChosenAlternative();
- }
-
- public List<Interceptor> getServerOutFaultInterceptors(Endpoint e, BindingFaultInfo bfi,
- Destination d) {
- return getServerFaultPolicyInfo(e, bfi, d).getInterceptors();
- }
- */
-
public Policy getAggregatedServicePolicy(ServiceInfo si) {
Policy aggregated = null;
for (PolicyProvider pp : getPolicyProviders()) {
@@ -326,34 +303,12 @@
}
return vocabulary;
}
-
-
- /**
- * Check if a given list of assertions can potentially be supported by
- * interceptors or by an already installed assertor (a conduit or transport
- * that implements the Assertor interface).
- *
- * @param alternative the policy alternative
- * @param Assertor the assertor
- * @return true iff the alternative can be supported
- */
- boolean supportsAlternative(List<Assertion> alternative, Assertor assertor) {
- PolicyInterceptorProviderRegistry pipr = bus.getExtension(PolicyInterceptorProviderRegistry.class);
- for (Assertion a : alternative) {
- if (!(a.isOptional()
- || (null != pipr.get(a.getName()))
- || (null != assertor && assertor.asserts(a)))) {
- return false;
- }
- }
- return true;
- }
public OutPolicyInfo getClientRequestPolicyInfo(Endpoint e, BindingOperationInfo boi, Conduit c) {
BindingOperation bo = new BindingOperation(e, boi);
OutPolicyInfo opi = clientRequestInfo.get(bo);
if (null == opi) {
- opi = new OutPolicyInfo();
+ opi = createOutPolicyInfo();
Assertor assertor = null;
if (c instanceof Assertor) {
assertor = (Assertor)c;
@@ -373,7 +328,7 @@
BindingOperation bo = new BindingOperation(e, boi);
OutPolicyInfo opi = serverRequestInfo.get(bo);
if (null == opi) {
- opi = new OutPolicyInfo();
+ opi = createOutPolicyInfo();
opi.initialisePolicy(e, boi, this, false);
serverRequestInfo.put(bo, opi);
}
@@ -389,7 +344,7 @@
BindingOperation bo = new BindingOperation(e, boi);
OutPolicyInfo opi = clientResponseInfo.get(bo);
if (null == opi) {
- opi = new OutPolicyInfo();
+ opi = createOutPolicyInfo();
opi.initialisePolicy(e, boi, this, true);
clientResponseInfo.put(bo, opi);
}
@@ -405,7 +360,7 @@
BindingFault bf = new BindingFault(e, bfi);
OutPolicyInfo opi = clientFaultInfo.get(bf);
if (null == opi) {
- opi = new OutPolicyInfo();
+ opi = createOutPolicyInfo();
opi.initialisePolicy(e, bfi, this);
clientFaultInfo.put(bf, opi);
}
@@ -436,7 +391,7 @@
}
EndpointPolicyInfo createEndpointPolicyInfo(Endpoint e, boolean isServer, Assertor assertor) {
- EndpointPolicyInfo epi = new EndpointPolicyInfo();
+ EndpointPolicyInfo epi = createEndpointPolicyInfo();
epi.initialise(e.getEndpointInfo(), isServer, this, assertor);
endpointInfo.put(e, epi);
@@ -453,7 +408,7 @@
BindingOperation bo = new BindingOperation(e, boi);
OutPolicyInfo opi = serverResponseInfo.get(bo);
if (null == opi) {
- opi = new OutPolicyInfo();
+ opi = createOutPolicyInfo();
Assertor assertor = null;
if (d instanceof Assertor) {
assertor = (Assertor)d;
@@ -474,7 +429,7 @@
BindingFault bf = new BindingFault(e, bfi);
OutPolicyInfo opi = serverFaultInfo.get(bf);
if (null == opi) {
- opi = new OutPolicyInfo();
+ opi = createOutPolicyInfo();
Assertor assertor = null;
if (d instanceof Assertor) {
assertor = (Assertor)d;
@@ -490,6 +445,28 @@
serverFaultInfo.put(bf, opi);
}
+
+ /**
+ * Check if a given list of assertions can potentially be supported by
+ * interceptors or by an already installed assertor (a conduit or transport
+ * that implements the Assertor interface).
+ *
+ * @param alternative the policy alternative
+ * @param Assertor the assertor
+ * @return true iff the alternative can be supported
+ */
+ boolean supportsAlternative(List<Assertion> alternative, Assertor assertor) {
+ PolicyInterceptorProviderRegistry pipr = bus.getExtension(PolicyInterceptorProviderRegistry.class);
+ for (Assertion a : alternative) {
+ if (!(a.isOptional()
+ || (null != pipr.get(a.getName()))
+ || (null != assertor && assertor.asserts(a)))) {
+ return false;
+ }
+ }
+ return true;
+ }
+
/**
* Class used as key in the client request policy and server response policy maps.
@@ -540,6 +517,16 @@
BindingFault other = (BindingFault)obj;
return bfi.equals(other.bfi) && endpoint.equals(other.endpoint);
}
+ }
+
+ // for test
+
+ OutPolicyInfo createOutPolicyInfo() {
+ return new OutPolicyInfo();
+ }
+
+ EndpointPolicyInfo createEndpointPolicyInfo() {
+ return new EndpointPolicyInfo();
}
Modified: incubator/cxf/trunk/rt/ws/policy/src/test/java/org/apache/cxf/ws/policy/OutPolicyInfoTest.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/ws/policy/src/test/java/org/apache/cxf/ws/policy/OutPolicyInfoTest.java?view=diff&rev=520484&r1=520483&r2=520484
==============================================================================
--- incubator/cxf/trunk/rt/ws/policy/src/test/java/org/apache/cxf/ws/policy/OutPolicyInfoTest.java (original)
+++ incubator/cxf/trunk/rt/ws/policy/src/test/java/org/apache/cxf/ws/policy/OutPolicyInfoTest.java Tue Mar 20 10:10:12 2007
@@ -82,6 +82,24 @@
}
@Test
+ public void testInitialiseFromEndpointPolicyInfo() throws NoSuchMethodException {
+ Method m = OutPolicyInfo.class.getDeclaredMethod("initialiseInterceptors",
+ new Class[] {PolicyEngine.class});
+ OutPolicyInfo opi = control.createMock(OutPolicyInfo.class, new Method[] {m});
+ EndpointPolicyInfo epi = control.createMock(EndpointPolicyInfo.class);
+ Policy p = control.createMock(Policy.class);
+ EasyMock.expect(epi.getPolicy()).andReturn(p);
+ Collection<Assertion> chosenAlternative = new ArrayList<Assertion>();
+ EasyMock.expect(epi.getChosenAlternative()).andReturn(chosenAlternative);
+ PolicyEngine pe = control.createMock(PolicyEngine.class);
+ opi.initialiseInterceptors(pe);
+ EasyMock.expectLastCall();
+ control.replay();
+ opi.initialise(epi, pe);
+ control.verify();
+ }
+
+ @Test
public void testInitialise() throws NoSuchMethodException {
Method m1 = OutPolicyInfo.class.getDeclaredMethod("initialisePolicy",
new Class[] {Endpoint.class, BindingOperationInfo.class, PolicyEngine.class, boolean.class});
Modified: incubator/cxf/trunk/rt/ws/policy/src/test/java/org/apache/cxf/ws/policy/PolicyBuilderTest.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/ws/policy/src/test/java/org/apache/cxf/ws/policy/PolicyBuilderTest.java?view=diff&rev=520484&r1=520483&r2=520484
==============================================================================
--- incubator/cxf/trunk/rt/ws/policy/src/test/java/org/apache/cxf/ws/policy/PolicyBuilderTest.java (original)
+++ incubator/cxf/trunk/rt/ws/policy/src/test/java/org/apache/cxf/ws/policy/PolicyBuilderTest.java Tue Mar 20 10:10:12 2007
@@ -75,8 +75,22 @@
is = PolicyBuilderTest.class.getResourceAsStream(name);
pr = builder.getPolicyReference(is);
- assertEquals("http://sample.org/test.wsdl#PolicyA", pr.getURI());
-
+ assertEquals("http://sample.org/test.wsdl#PolicyA", pr.getURI());
+ }
+
+ @Test
+ public void testGetPolicyWithAttributes() throws Exception {
+ String name = "/samples/test28.xml";
+ InputStream is = PolicyBuilderTest.class.getResourceAsStream(name);
+ Policy p = builder.getPolicy(is);
+ assertNotNull(p);
+ assertTrue(p.getAttributes().size() >= 2);
+ QName n1 = new QName("nonsattr");
+ Object v1 = p.getAttribute(n1);
+ assertNotNull(v1);
+ QName n2 = new QName("http://x.y.z", "nsattr");
+ Object v2 = p.getAttribute(n2);
+ assertNotNull(v2);
}
}
Modified: incubator/cxf/trunk/rt/ws/policy/src/test/java/org/apache/cxf/ws/policy/PolicyEngineTest.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/ws/policy/src/test/java/org/apache/cxf/ws/policy/PolicyEngineTest.java?view=diff&rev=520484&r1=520483&r2=520484
==============================================================================
--- incubator/cxf/trunk/rt/ws/policy/src/test/java/org/apache/cxf/ws/policy/PolicyEngineTest.java (original)
+++ incubator/cxf/trunk/rt/ws/policy/src/test/java/org/apache/cxf/ws/policy/PolicyEngineTest.java Tue Mar 20 10:10:12 2007
@@ -52,7 +52,6 @@
import org.easymock.classextension.IMocksControl;
import org.junit.Assert;
import org.junit.Before;
-import org.junit.Ignore;
import org.junit.Test;
/**
@@ -86,6 +85,10 @@
assertSame(providers, engine.getPolicyProviders());
assertSame(reg, engine.getRegistry());
assertTrue(engine.getRegisterInterceptors());
+
+ assertNotNull(engine.createOutPolicyInfo());
+ assertNotNull(engine.createEndpointPolicyInfo());
+
}
@Test
@@ -327,176 +330,6 @@
control.verify();
}
- @Ignore
- @Test
- public void testGetClientOutInterceptors() throws NoSuchMethodException {
- Method m = PolicyEngine.class.getDeclaredMethod("getClientRequestPolicyInfo",
- new Class[] {Endpoint.class,
- BindingOperationInfo.class,
- Conduit.class});
- engine = control.createMock(PolicyEngine.class, new Method[] {m});
- BindingOperationInfo boi = control.createMock(BindingOperationInfo.class);
- Endpoint e = control.createMock(Endpoint.class);
- Conduit conduit = control.createMock(Conduit.class);
- OutPolicyInfo cpi = control.createMock(OutPolicyInfo.class);
- EasyMock.expect(engine.getClientRequestPolicyInfo(e, boi, conduit)).andReturn(cpi);
- Interceptor i = control.createMock(Interceptor.class);
- List<Interceptor> li = Collections.singletonList(i);
- EasyMock.expect(cpi.getInterceptors()).andReturn(li);
-
- control.replay();
- /*
- List<Interceptor> clientInterceptors = engine.getClientOutInterceptors(e, boi, conduit);
- assertSame(li, clientInterceptors);
- */
- control.verify();
- }
-
- @Test
- @Ignore
- public void testGetClientOutAssertions() throws NoSuchMethodException {
- Method m = PolicyEngine.class.getDeclaredMethod("getClientRequestPolicyInfo",
- new Class[] {Endpoint.class,
- BindingOperationInfo.class,
- Conduit.class});
- engine = control.createMock(PolicyEngine.class, new Method[] {m});
- BindingOperationInfo boi = control.createMock(BindingOperationInfo.class);
- Endpoint e = control.createMock(Endpoint.class);
- Conduit conduit = control.createMock(Conduit.class);
- OutPolicyInfo cpi = control.createMock(OutPolicyInfo.class);
- EasyMock.expect(engine.getClientRequestPolicyInfo(e, boi, conduit)).andReturn(cpi);
- Assertion a = control.createMock(Assertion.class);
- List<Assertion> la = Collections.singletonList(a);
- EasyMock.expect(cpi.getChosenAlternative()).andReturn(la);
-
- control.replay();
- /*
- Collection<Assertion> assertions = engine.getClientOutAssertions(e, boi, conduit);
- assertSame(la, assertions);
- */
- control.verify();
- }
-
-
- @Test
- @Ignore
- public void testGetClientInInterceptors() throws NoSuchMethodException {
- doTestGetInterceptors(false, false);
- }
-
- @Test
- @Ignore
- public void testGetClientInFaultInterceptors() throws NoSuchMethodException {
- doTestGetInterceptors(false, true);
- }
-
- @Test
- @Ignore
- public void testGetServerInFaultInterceptors() throws NoSuchMethodException {
- doTestGetInterceptors(true, false);
- }
-
- @Test
- @Ignore
- public void testServerOutInterceptors() throws NoSuchMethodException {
- Method m = PolicyEngine.class.getDeclaredMethod("getServerResponsePolicyInfo",
- new Class[] {Endpoint.class,
- BindingOperationInfo.class,
- Destination.class});
- engine = control.createMock(PolicyEngine.class, new Method[] {m});
- BindingOperationInfo boi = control.createMock(BindingOperationInfo.class);
- Endpoint e = control.createMock(Endpoint.class);
- Destination destination = control.createMock(Destination.class);
- OutPolicyInfo opi = control.createMock(OutPolicyInfo.class);
- EasyMock.expect(engine.getServerResponsePolicyInfo(e, boi, destination)).andReturn(opi);
- Interceptor i = control.createMock(Interceptor.class);
- List<Interceptor> li = Collections.singletonList(i);
- EasyMock.expect(opi.getInterceptors()).andReturn(li);
-
- control.replay();
- /*
- List<Interceptor> interceptors = engine.getServerOutInterceptors(e, boi, destination);
- assertSame(li, interceptors);
- */
- control.verify();
- }
-
- @Test
- @Ignore
- public void testServerOutAssertions() throws NoSuchMethodException {
- Method m = PolicyEngine.class.getDeclaredMethod("getServerResponsePolicyInfo",
- new Class[] {Endpoint.class,
- BindingOperationInfo.class,
- Destination.class});
- engine = control.createMock(PolicyEngine.class, new Method[] {m});
- BindingOperationInfo boi = control.createMock(BindingOperationInfo.class);
- Endpoint e = control.createMock(Endpoint.class);
- Destination destination = control.createMock(Destination.class);
- OutPolicyInfo opi = control.createMock(OutPolicyInfo.class);
- EasyMock.expect(engine.getServerResponsePolicyInfo(e, boi, destination)).andReturn(opi);
- Assertion a = control.createMock(Assertion.class);
- List<Assertion> la = Collections.singletonList(a);
- EasyMock.expect(opi.getChosenAlternative()).andReturn(la);
-
- control.replay();
- /*
- Collection<Assertion> assertions = engine.getServerOutAssertions(e, boi, destination);
- assertSame(la, assertions);
- */
- control.verify();
- }
-
- @Test
- @Ignore
- public void testServerOutFaultInterceptors() throws NoSuchMethodException {
- Method m = PolicyEngine.class.getDeclaredMethod("getServerFaultPolicyInfo",
- new Class[] {Endpoint.class,
- BindingFaultInfo.class,
- Destination.class});
- engine = control.createMock(PolicyEngine.class, new Method[] {m});
- BindingFaultInfo bfi = control.createMock(BindingFaultInfo.class);
- Endpoint e = control.createMock(Endpoint.class);
- Destination destination = control.createMock(Destination.class);
- OutPolicyInfo opi = control.createMock(OutPolicyInfo.class);
- EasyMock.expect(engine.getServerFaultPolicyInfo(e, bfi, destination)).andReturn(opi);
- Interceptor i = control.createMock(Interceptor.class);
- List<Interceptor> li = Collections.singletonList(i);
- EasyMock.expect(opi.getInterceptors()).andReturn(li);
-
- control.replay();
- /*
- List<Interceptor> interceptors = engine.getServerOutFaultInterceptors(e, bfi, destination);
- assertSame(li, interceptors);
- */
- control.verify();
- }
-
- @Test
- @Ignore
- public void testServerOutFaultAssertions() throws NoSuchMethodException {
- Method m = PolicyEngine.class.getDeclaredMethod("getServerFaultPolicyInfo",
- new Class[] {Endpoint.class,
- BindingFaultInfo.class,
- Destination.class});
- engine = control.createMock(PolicyEngine.class, new Method[] {m});
- BindingFaultInfo bfi = control.createMock(BindingFaultInfo.class);
- Endpoint e = control.createMock(Endpoint.class);
- Destination destination = control.createMock(Destination.class);
- OutPolicyInfo opi = control.createMock(OutPolicyInfo.class);
- EasyMock.expect(engine.getServerFaultPolicyInfo(e, bfi, destination)).andReturn(opi);
- Assertion a = control.createMock(Assertion.class);
- List<Assertion> la = Collections.singletonList(a);
- EasyMock.expect(opi.getChosenAlternative()).andReturn(la);
-
- control.replay();
- /*
- Collection<Assertion> assertions = engine.getServerOutFaultAssertions(e, bfi, destination);
- assertSame(la, assertions);
- */
- control.verify();
- }
-
-
@Test
public void testGetAssertions() throws NoSuchMethodException {
Method m = PolicyEngine.class.getDeclaredMethod("addAssertions",
@@ -573,7 +406,6 @@
Endpoint endpoint = control.createMock(Endpoint.class);
BindingOperationInfo boi = control.createMock(BindingOperationInfo.class);
BindingFaultInfo bfi = control.createMock(BindingFaultInfo.class);
- OutPolicyInfo opi = control.createMock(OutPolicyInfo.class);
control.replay();
PolicyEngine.BindingOperation bo = engine.new BindingOperation(endpoint, boi);
@@ -581,51 +413,237 @@
PolicyEngine.BindingOperation bo2 = engine.new BindingOperation(endpoint, boi);
assertEquals(bo, bo2);
assertEquals(bo.hashCode(), bo2.hashCode());
-
- engine.setClientRequestPolicyInfo(endpoint, boi, opi);
- assertSame(opi, engine.getClientRequestPolicyInfo(endpoint, boi, null));
-
+
PolicyEngine.BindingFault bf = engine.new BindingFault(endpoint, bfi);
- assertNotNull(bf);
+ assertNotNull(bf);
+ PolicyEngine.BindingFault bf2 = engine.new BindingFault(endpoint, bfi);
+ assertEquals(bf, bf2);
+ assertEquals(bf.hashCode(), bf2.hashCode());
+
+ control.verify();
+ }
+
+ @Test
+ public void testGetClientRequestPolicyInfo() throws NoSuchMethodException {
+ Method m = PolicyEngine.class.getDeclaredMethod("createOutPolicyInfo", new Class[] {});
+ engine = control.createMock(PolicyEngine.class, new Method[] {m});
+ engine.init();
+ Endpoint endpoint = control.createMock(Endpoint.class);
+ BindingOperationInfo boi = control.createMock(BindingOperationInfo.class);
+ AssertingConduit conduit = control.createMock(AssertingConduit.class);
+ OutPolicyInfo opi = control.createMock(OutPolicyInfo.class);
+ EasyMock.expect(engine.createOutPolicyInfo()).andReturn(opi);
+ opi.initialise(endpoint, boi, engine, conduit, true);
+ EasyMock.expectLastCall();
+ control.replay();
+ assertSame(opi, engine.getClientRequestPolicyInfo(endpoint, boi, conduit));
+ assertSame(opi, engine.getClientRequestPolicyInfo(endpoint, boi, conduit));
control.verify();
}
-
- private void doTestGetInterceptors(boolean isServer, boolean fault) throws NoSuchMethodException {
- Method m = PolicyEngine.class.getDeclaredMethod("getEndpointPolicyInfo",
- new Class[] {Endpoint.class, isServer ? Destination.class : Conduit.class});
+
+ @Test
+ public void testSetClientRequestPolicyInfo() {
+ engine = new PolicyEngine();
+ Endpoint endpoint = control.createMock(Endpoint.class);
+ BindingOperationInfo boi = control.createMock(BindingOperationInfo.class);
+ OutPolicyInfo opi = control.createMock(OutPolicyInfo.class);
+ engine.setClientRequestPolicyInfo(endpoint, boi, opi);
+ assertSame(opi, engine.getClientRequestPolicyInfo(endpoint, boi, (Conduit)null));
+ }
+
+ @Test
+ public void testGetServerRequestPolicyInfo() throws NoSuchMethodException {
+ Method m = PolicyEngine.class.getDeclaredMethod("createOutPolicyInfo", new Class[] {});
engine = control.createMock(PolicyEngine.class, new Method[] {m});
- Endpoint e = control.createMock(Endpoint.class);
- Conduit conduit = null;
- Destination destination = null;
+ engine.init();
+ Endpoint endpoint = control.createMock(Endpoint.class);
+ BindingOperationInfo boi = control.createMock(BindingOperationInfo.class);
+ OutPolicyInfo opi = control.createMock(OutPolicyInfo.class);
+ EasyMock.expect(engine.createOutPolicyInfo()).andReturn(opi);
+ opi.initialisePolicy(endpoint, boi, engine, false);
+ EasyMock.expectLastCall();
+ control.replay();
+ assertSame(opi, engine.getServerRequestPolicyInfo(endpoint, boi));
+ assertSame(opi, engine.getServerRequestPolicyInfo(endpoint, boi));
+ control.verify();
+ }
+
+ @Test
+ public void testSetServerRequestPolicyInfo() {
+ engine = new PolicyEngine();
+ Endpoint endpoint = control.createMock(Endpoint.class);
+ BindingOperationInfo boi = control.createMock(BindingOperationInfo.class);
+ OutPolicyInfo opi = control.createMock(OutPolicyInfo.class);
+ engine.setServerRequestPolicyInfo(endpoint, boi, opi);
+ assertSame(opi, engine.getServerRequestPolicyInfo(endpoint, boi));
+ }
+
+ @Test
+ public void testGetClientResponsePolicyInfo() throws NoSuchMethodException {
+ Method m = PolicyEngine.class.getDeclaredMethod("createOutPolicyInfo", new Class[] {});
+ engine = control.createMock(PolicyEngine.class, new Method[] {m});
+ engine.init();
+ Endpoint endpoint = control.createMock(Endpoint.class);
+ BindingOperationInfo boi = control.createMock(BindingOperationInfo.class);
+ OutPolicyInfo opi = control.createMock(OutPolicyInfo.class);
+ EasyMock.expect(engine.createOutPolicyInfo()).andReturn(opi);
+ opi.initialisePolicy(endpoint, boi, engine, true);
+ EasyMock.expectLastCall();
+ control.replay();
+ assertSame(opi, engine.getClientResponsePolicyInfo(endpoint, boi));
+ assertSame(opi, engine.getClientResponsePolicyInfo(endpoint, boi));
+ control.verify();
+ }
+
+ @Test
+ public void testSetClientResponsePolicyInfo() {
+ engine = new PolicyEngine();
+ Endpoint endpoint = control.createMock(Endpoint.class);
+ BindingOperationInfo boi = control.createMock(BindingOperationInfo.class);
+ OutPolicyInfo opi = control.createMock(OutPolicyInfo.class);
+ engine.setClientResponsePolicyInfo(endpoint, boi, opi);
+ assertSame(opi, engine.getClientResponsePolicyInfo(endpoint, boi));
+ }
+
+ @Test
+ public void testGetClientFaultPolicyInfo() throws NoSuchMethodException {
+ Method m = PolicyEngine.class.getDeclaredMethod("createOutPolicyInfo", new Class[] {});
+ engine = control.createMock(PolicyEngine.class, new Method[] {m});
+ engine.init();
+ Endpoint endpoint = control.createMock(Endpoint.class);
+ BindingFaultInfo bfi = control.createMock(BindingFaultInfo.class);
+ OutPolicyInfo opi = control.createMock(OutPolicyInfo.class);
+ EasyMock.expect(engine.createOutPolicyInfo()).andReturn(opi);
+ opi.initialisePolicy(endpoint, bfi, engine);
+ EasyMock.expectLastCall();
+ control.replay();
+ assertSame(opi, engine.getClientFaultPolicyInfo(endpoint, bfi));
+ assertSame(opi, engine.getClientFaultPolicyInfo(endpoint, bfi));
+ control.verify();
+ }
+
+ @Test
+ public void testSetClientFaultPolicyInfo() {
+ engine = new PolicyEngine();
+ Endpoint endpoint = control.createMock(Endpoint.class);
+ BindingFaultInfo bfi = control.createMock(BindingFaultInfo.class);
+ OutPolicyInfo opi = control.createMock(OutPolicyInfo.class);
+ engine.setClientFaultPolicyInfo(endpoint, bfi, opi);
+ assertSame(opi, engine.getClientFaultPolicyInfo(endpoint, bfi));
+ }
+
+ @Test
+ public void testGetEndpointPolicyInfoClientSide() throws NoSuchMethodException {
+ Method m = PolicyEngine.class.getDeclaredMethod("createEndpointPolicyInfo",
+ new Class[] {Endpoint.class, boolean.class, Assertor.class});
+ engine = control.createMock(PolicyEngine.class, new Method[] {m});
+ engine.init();
+ Endpoint endpoint = control.createMock(Endpoint.class);
+ AssertingConduit conduit = control.createMock(AssertingConduit.class);
EndpointPolicyInfo epi = control.createMock(EndpointPolicyInfo.class);
-
- if (isServer) {
- destination = control.createMock(Destination.class);
- EasyMock.expect(engine.getEndpointPolicyInfo(e, destination)).andReturn(epi);
- } else {
- conduit = control.createMock(Conduit.class);
- EasyMock.expect(engine.getEndpointPolicyInfo(e, conduit)).andReturn(epi);
- }
-
- Interceptor i = control.createMock(Interceptor.class);
- List<Interceptor> li = Collections.singletonList(i);
- if (fault) {
- EasyMock.expect(epi.getInFaultInterceptors()).andReturn(li);
- } else {
- EasyMock.expect(epi.getInInterceptors()).andReturn(li);
- }
-
+ EasyMock.expect(engine.createEndpointPolicyInfo(endpoint, false, conduit)).andReturn(epi);
control.replay();
-
- /*
- List<Interceptor> interceptors = fault
- ? engine.getClientInFaultInterceptors(e, conduit)
- : (isServer
- ? engine.getServerInInterceptors(e, destination)
- : engine.getClientInInterceptors(e, conduit));
- assertSame(li, interceptors);
- */
- control.verify();
+ assertSame(epi, engine.getEndpointPolicyInfo(endpoint, conduit));
+ control.verify();
+ }
+
+ @Test
+ public void testGetEndpointPolicyInfoServerSide() throws NoSuchMethodException {
+ Method m = PolicyEngine.class.getDeclaredMethod("createEndpointPolicyInfo",
+ new Class[] {Endpoint.class, boolean.class, Assertor.class});
+ engine = control.createMock(PolicyEngine.class, new Method[] {m});
+ engine.init();
+ Endpoint endpoint = control.createMock(Endpoint.class);
+ AssertingDestination destination = control.createMock(AssertingDestination.class);
+ EndpointPolicyInfo epi = control.createMock(EndpointPolicyInfo.class);
+ EasyMock.expect(engine.createEndpointPolicyInfo(endpoint, true, destination)).andReturn(epi);
+ control.replay();
+ assertSame(epi, engine.getEndpointPolicyInfo(endpoint, destination));
+ control.verify();
+ }
+
+ @Test
+ public void testCreateEndpointPolicyInfo() throws NoSuchMethodException {
+ Method m = PolicyEngine.class.getDeclaredMethod("createEndpointPolicyInfo", new Class[] {});
+ engine = control.createMock(PolicyEngine.class, new Method[] {m});
+ engine.init();
+ Endpoint endpoint = control.createMock(Endpoint.class);
+ EndpointInfo ei = control.createMock(EndpointInfo.class);
+ EasyMock.expect(endpoint.getEndpointInfo()).andReturn(ei);
+ Assertor assertor = control.createMock(Assertor.class);
+ EndpointPolicyInfo epi = control.createMock(EndpointPolicyInfo.class);
+ EasyMock.expect(engine.createEndpointPolicyInfo()).andReturn(epi);
+ epi.initialise(ei, false, engine, assertor);
+ EasyMock.expectLastCall();
+ control.replay();
+ assertSame(epi, engine.createEndpointPolicyInfo(endpoint, false, assertor));
+ control.verify();
+ }
+
+ @Test
+ public void testSetEndpointPolicyInfo() {
+ engine = new PolicyEngine();
+ Endpoint endpoint = control.createMock(Endpoint.class);
+ EndpointPolicyInfo epi = control.createMock(EndpointPolicyInfo.class);
+ engine.setEndpointPolicyInfo(endpoint, epi);
+ assertSame(epi, engine.getEndpointPolicyInfo(endpoint, (Conduit)null));
+ assertSame(epi, engine.getEndpointPolicyInfo(endpoint, (Destination)null));
+ }
+
+ @Test
+ public void testGetServerResponsePolicyInfo() throws NoSuchMethodException {
+ Method m = PolicyEngine.class.getDeclaredMethod("createOutPolicyInfo", new Class[] {});
+ engine = control.createMock(PolicyEngine.class, new Method[] {m});
+ engine.init();
+ Endpoint endpoint = control.createMock(Endpoint.class);
+ BindingOperationInfo boi = control.createMock(BindingOperationInfo.class);
+ AssertingDestination destination = control.createMock(AssertingDestination.class);
+ OutPolicyInfo opi = control.createMock(OutPolicyInfo.class);
+ EasyMock.expect(engine.createOutPolicyInfo()).andReturn(opi);
+ opi.initialise(endpoint, boi, engine, destination, false);
+ EasyMock.expectLastCall();
+ control.replay();
+ assertSame(opi, engine.getServerResponsePolicyInfo(endpoint, boi, destination));
+ assertSame(opi, engine.getServerResponsePolicyInfo(endpoint, boi, destination));
+ control.verify();
+ }
+
+ @Test
+ public void testSetServerResponsePolicyInfo() {
+ engine = new PolicyEngine();
+ Endpoint endpoint = control.createMock(Endpoint.class);
+ BindingOperationInfo boi = control.createMock(BindingOperationInfo.class);
+ OutPolicyInfo opi = control.createMock(OutPolicyInfo.class);
+ engine.setServerResponsePolicyInfo(endpoint, boi, opi);
+ assertSame(opi, engine.getServerResponsePolicyInfo(endpoint, boi, (Destination)null));
+ }
+
+ @Test
+ public void testGetServerFaultPolicyInfo() throws NoSuchMethodException {
+ Method m = PolicyEngine.class.getDeclaredMethod("createOutPolicyInfo", new Class[] {});
+ engine = control.createMock(PolicyEngine.class, new Method[] {m});
+ engine.init();
+ Endpoint endpoint = control.createMock(Endpoint.class);
+ BindingFaultInfo bfi = control.createMock(BindingFaultInfo.class);
+ AssertingDestination destination = control.createMock(AssertingDestination.class);
+ OutPolicyInfo opi = control.createMock(OutPolicyInfo.class);
+ EasyMock.expect(engine.createOutPolicyInfo()).andReturn(opi);
+ opi.initialise(endpoint, bfi, engine, destination);
+ EasyMock.expectLastCall();
+ control.replay();
+ assertSame(opi, engine.getServerFaultPolicyInfo(endpoint, bfi, destination));
+ assertSame(opi, engine.getServerFaultPolicyInfo(endpoint, bfi, destination));
+ control.verify();
+ }
+
+ @Test
+ public void testSetServerFaultPolicyInfo() {
+ engine = new PolicyEngine();
+ Endpoint endpoint = control.createMock(Endpoint.class);
+ BindingFaultInfo bfi = control.createMock(BindingFaultInfo.class);
+ OutPolicyInfo opi = control.createMock(OutPolicyInfo.class);
+ engine.setServerFaultPolicyInfo(endpoint, bfi, opi);
+ assertSame(opi, engine.getServerFaultPolicyInfo(endpoint, bfi, (Destination)null));
}
private Set<String> getInterceptorIds(List<Interceptor> interceptors) {
@@ -634,6 +652,12 @@
ids.add(((PhaseInterceptor)i).getId());
}
return ids;
+ }
+
+ interface AssertingConduit extends Assertor, Conduit {
+ }
+
+ interface AssertingDestination extends Assertor, Destination {
}
Added: incubator/cxf/trunk/rt/ws/policy/src/test/java/org/apache/cxf/ws/policy/PolicyInterceptorProviderRegistryImplTest.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/ws/policy/src/test/java/org/apache/cxf/ws/policy/PolicyInterceptorProviderRegistryImplTest.java?view=auto&rev=520484
==============================================================================
--- incubator/cxf/trunk/rt/ws/policy/src/test/java/org/apache/cxf/ws/policy/PolicyInterceptorProviderRegistryImplTest.java (added)
+++ incubator/cxf/trunk/rt/ws/policy/src/test/java/org/apache/cxf/ws/policy/PolicyInterceptorProviderRegistryImplTest.java Tue Mar 20 10:10:12 2007
@@ -0,0 +1,36 @@
+/**
+ * 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 junit.framework.TestCase;
+import org.junit.Test;
+
+/**
+ *
+ */
+public class PolicyInterceptorProviderRegistryImplTest extends TestCase {
+
+ @Test
+ public void testConstructors() {
+ PolicyInterceptorProviderRegistryImpl reg = new PolicyInterceptorProviderRegistryImpl();
+ assertNotNull(reg);
+ assertEquals(PolicyInterceptorProviderRegistry.class, reg.getRegistrationType());
+ }
+}
Propchange: incubator/cxf/trunk/rt/ws/policy/src/test/java/org/apache/cxf/ws/policy/PolicyInterceptorProviderRegistryImplTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/cxf/trunk/rt/ws/policy/src/test/java/org/apache/cxf/ws/policy/PolicyInterceptorProviderRegistryImplTest.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Modified: incubator/cxf/trunk/rt/ws/policy/src/test/java/org/apache/cxf/ws/policy/PolicyInterceptorsTest.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/ws/policy/src/test/java/org/apache/cxf/ws/policy/PolicyInterceptorsTest.java?view=diff&rev=520484&r1=520483&r2=520484
==============================================================================
--- incubator/cxf/trunk/rt/ws/policy/src/test/java/org/apache/cxf/ws/policy/PolicyInterceptorsTest.java (original)
+++ incubator/cxf/trunk/rt/ws/policy/src/test/java/org/apache/cxf/ws/policy/PolicyInterceptorsTest.java Tue Mar 20 10:10:12 2007
@@ -258,8 +258,12 @@
boi = control.createMock(BindingOperationInfo.class);
EasyMock.expect(message.get(BindingFaultInfo.class)).andReturn(null);
BindingFaultInfo bfi = control.createMock(BindingFaultInfo.class);
- Collection<BindingFaultInfo> bfis = CastUtils.cast(Collections.singletonList(bfi));
+ Collection<BindingFaultInfo> bfis = CastUtils.cast(Collections.EMPTY_LIST);
EasyMock.expect(boi.getFaults()).andReturn(bfis);
+ BindingOperationInfo wrappedBoi = control.createMock(BindingOperationInfo.class);
+ EasyMock.expect(boi.getWrappedOperation()).andReturn(wrappedBoi).times(2);
+ Collection<BindingFaultInfo> wrappedBfis = CastUtils.cast(Collections.singletonList(bfi));
+ EasyMock.expect(wrappedBoi.getFaults()).andReturn(wrappedBfis);
FaultInfo fi = control.createMock(FaultInfo.class);
EasyMock.expect(bfi.getFaultInfo()).andReturn(fi);
EasyMock.expect(fi.getProperty(Class.class.getName(), Class.class))
Added: incubator/cxf/trunk/rt/ws/policy/src/test/java/org/apache/cxf/ws/policy/PolicyRegistryImplTest.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/ws/policy/src/test/java/org/apache/cxf/ws/policy/PolicyRegistryImplTest.java?view=auto&rev=520484
==============================================================================
--- incubator/cxf/trunk/rt/ws/policy/src/test/java/org/apache/cxf/ws/policy/PolicyRegistryImplTest.java (added)
+++ incubator/cxf/trunk/rt/ws/policy/src/test/java/org/apache/cxf/ws/policy/PolicyRegistryImplTest.java Tue Mar 20 10:10:12 2007
@@ -0,0 +1,45 @@
+/**
+ * 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 junit.framework.TestCase;
+import org.apache.neethi.Policy;
+import org.easymock.classextension.EasyMock;
+import org.easymock.classextension.IMocksControl;
+import org.junit.Test;
+
+/**
+ *
+ */
+public class PolicyRegistryImplTest extends TestCase {
+
+ @Test
+ public void testAll() {
+ PolicyRegistryImpl reg = new PolicyRegistryImpl();
+ IMocksControl control = EasyMock.createNiceControl();
+ Policy policy = control.createMock(Policy.class);
+ String key = "key";
+ assertNull(reg.lookup(key));
+ reg.register(key, policy);
+ assertSame(policy, reg.lookup(key));
+ reg.remove(key);
+ assertNull(reg.lookup(key));
+ }
+}
Propchange: incubator/cxf/trunk/rt/ws/policy/src/test/java/org/apache/cxf/ws/policy/PolicyRegistryImplTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/cxf/trunk/rt/ws/policy/src/test/java/org/apache/cxf/ws/policy/PolicyRegistryImplTest.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Added: incubator/cxf/trunk/rt/ws/policy/src/test/resources/samples/test28.xml
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/ws/policy/src/test/resources/samples/test28.xml?view=auto&rev=520484
==============================================================================
--- incubator/cxf/trunk/rt/ws/policy/src/test/resources/samples/test28.xml (added)
+++ incubator/cxf/trunk/rt/ws/policy/src/test/resources/samples/test28.xml Tue Mar 20 10:10:12 2007
@@ -0,0 +1,9 @@
+<wsp:Policy
+ xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy"
+ xmlns:tst="http://sample.org/Assertions"
+ nonsattr="a"
+ ns:nsattr="b" xmlns:ns="http://x.y.z">
+ <tst:A wsp:Optional="true">A</tst:A>
+ <tst:B wsp:Optional="true">B</tst:B>
+ <tst:C wsp:Optional="true">C</tst:C>
+</wsp:Policy>
\ No newline at end of file
Propchange: incubator/cxf/trunk/rt/ws/policy/src/test/resources/samples/test28.xml
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/cxf/trunk/rt/ws/policy/src/test/resources/samples/test28.xml
------------------------------------------------------------------------------
svn:keywords = Rev Date
Propchange: incubator/cxf/trunk/rt/ws/policy/src/test/resources/samples/test28.xml
------------------------------------------------------------------------------
svn:mime-type = text/xml