use of org.easymock.IMocksControl in project cxf by apache.
the class CXFBusImplTest method testConstructionWithExtensions.
@Test
public void testConstructionWithExtensions() throws BusException {
IMocksControl control;
BindingFactoryManager bindingFactoryManager;
InstrumentationManager instrumentationManager;
PhaseManager phaseManager;
control = EasyMock.createNiceControl();
Map<Class<?>, Object> extensions = new HashMap<>();
bindingFactoryManager = control.createMock(BindingFactoryManager.class);
instrumentationManager = control.createMock(InstrumentationManager.class);
phaseManager = control.createMock(PhaseManager.class);
extensions.put(BindingFactoryManager.class, bindingFactoryManager);
extensions.put(InstrumentationManager.class, instrumentationManager);
extensions.put(PhaseManager.class, phaseManager);
Bus bus = new ExtensionManagerBus(extensions);
assertSame(bindingFactoryManager, bus.getExtension(BindingFactoryManager.class));
assertSame(instrumentationManager, bus.getExtension(InstrumentationManager.class));
assertSame(phaseManager, bus.getExtension(PhaseManager.class));
}
use of org.easymock.IMocksControl in project cxf by apache.
the class CXFBusLifeCycleManagerTest method testDeregistration.
@Test
public void testDeregistration() {
IMocksControl ctrl = EasyMock.createStrictControl();
BusLifeCycleListener listener1 = ctrl.createMock(BusLifeCycleListener.class);
BusLifeCycleListener listener2 = ctrl.createMock(BusLifeCycleListener.class);
CXFBusLifeCycleManager mgr = new CXFBusLifeCycleManager();
mgr.registerLifeCycleListener(listener2);
mgr.registerLifeCycleListener(listener1);
mgr.unregisterLifeCycleListener(listener2);
ctrl.reset();
listener1.initComplete();
ctrl.replay();
mgr.initComplete();
ctrl.verify();
ctrl.reset();
listener1.preShutdown();
ctrl.replay();
mgr.preShutdown();
ctrl.verify();
ctrl.reset();
listener1.postShutdown();
ctrl.replay();
mgr.postShutdown();
ctrl.verify();
}
use of org.easymock.IMocksControl in project cxf by apache.
the class ManagedConnectionImplTest method testHandleEqualsMethod.
/**
* Verify the connection handle's equals() method
*/
@Test
public void testHandleEqualsMethod() throws Exception {
BusFactory.setDefaultBus(null);
IMocksControl control = EasyMock.createNiceControl();
ManagedConnectionFactoryImpl mcf = control.createMock(ManagedConnectionFactoryImpl.class);
CXFConnectionSpec cxRequestInfo = new CXFConnectionSpec();
cxRequestInfo.setWsdlURL(getClass().getResource("/wsdl/hello_world.wsdl"));
cxRequestInfo.setServiceClass(Greeter.class);
cxRequestInfo.setEndpointName(new QName("http://apache.org/hello_world_soap_http", "SoapPort"));
cxRequestInfo.setServiceName(new QName("http://apache.org/hello_world_soap_http", "SOAPService"));
control.replay();
Subject subject = new Subject();
ManagedConnectionImpl conn = new ManagedConnectionImpl(mcf, cxRequestInfo, subject);
Object handle1 = conn.getConnection(subject, cxRequestInfo);
Object handle2 = conn.getConnection(subject, cxRequestInfo);
assertEquals(handle1, handle1);
assertEquals(handle2, handle2);
assertFalse(handle1.equals(handle2));
}
use of org.easymock.IMocksControl in project cxf by apache.
the class LogicalHandlerInterceptorTest method xtestReturnFalseClientSide.
// JAX-WS spec: If handler returns false, for a request-response MEP, if the message
// direction is reversed during processing of a request message then the message
// becomes a response message.
// NOTE: commented out as this has been covered by other tests.
@Test
@org.junit.Ignore
public void xtestReturnFalseClientSide() throws Exception {
@SuppressWarnings("rawtypes") List<Handler> list = new ArrayList<>();
list.add(new LogicalHandler<LogicalMessageContext>() {
public void close(MessageContext arg0) {
}
public boolean handleFault(LogicalMessageContext messageContext) {
return true;
}
public boolean handleMessage(LogicalMessageContext messageContext) {
LogicalMessage msg = messageContext.getMessage();
AddNumbersResponse resp = new AddNumbersResponse();
resp.setReturn(11);
msg.setPayload(resp, null);
return false;
}
});
HandlerChainInvoker invoker1 = new HandlerChainInvoker(list);
IMocksControl control1 = createNiceControl();
Binding binding1 = control1.createMock(Binding.class);
@SuppressWarnings("rawtypes") List<Handler> hList = CastUtils.cast(list);
expect(binding1.getHandlerChain()).andReturn(hList).anyTimes();
Exchange exchange1 = control1.createMock(Exchange.class);
expect(exchange1.get(HandlerChainInvoker.class)).andReturn(invoker1).anyTimes();
Message outMessage = new MessageImpl();
outMessage.setExchange(exchange1);
InterceptorChain chain = control1.createMock(InterceptorChain.class);
outMessage.setInterceptorChain(chain);
chain.abort();
EasyMock.expectLastCall();
MessageObserver observer = control1.createMock(MessageObserver.class);
expect(exchange1.get(MessageObserver.class)).andReturn(observer).anyTimes();
observer.onMessage(isA(Message.class));
EasyMock.expectLastCall();
control1.replay();
LogicalHandlerInInterceptor li = new LogicalHandlerInInterceptor(binding1);
li.handleMessage(outMessage);
control1.verify();
}
use of org.easymock.IMocksControl in project cxf by apache.
the class SOAPHandlerInterceptorTest method testChangeSOAPHeaderInBound.
@Test
public void testChangeSOAPHeaderInBound() throws Exception {
@SuppressWarnings("rawtypes") List<Handler> list = new ArrayList<>();
list.add(new SOAPHandler<SOAPMessageContext>() {
public boolean handleMessage(SOAPMessageContext smc) {
try {
Boolean outboundProperty = (Boolean) smc.get(MessageContext.MESSAGE_OUTBOUND_PROPERTY);
if (!outboundProperty.booleanValue()) {
// change mustUnderstand to false
SOAPMessage message = smc.getMessage();
SOAPHeader soapHeader = message.getSOAPHeader();
Element headerElementNew = (Element) soapHeader.getFirstChild();
SoapVersion soapVersion = Soap11.getInstance();
Attr attr = headerElementNew.getOwnerDocument().createAttributeNS(soapVersion.getNamespace(), "SOAP-ENV:mustUnderstand");
attr.setValue("false");
headerElementNew.setAttributeNodeNS(attr);
}
} catch (Exception e) {
throw new Fault(e);
}
return true;
}
public boolean handleFault(SOAPMessageContext smc) {
return true;
}
public Set<QName> getHeaders() {
return null;
}
public void close(MessageContext messageContext) {
}
});
HandlerChainInvoker invoker = new HandlerChainInvoker(list);
IMocksControl control = createNiceControl();
Binding binding = control.createMock(Binding.class);
expect(binding.getHandlerChain()).andReturn(list).anyTimes();
Exchange exchange = control.createMock(Exchange.class);
expect(exchange.get(HandlerChainInvoker.class)).andReturn(invoker).anyTimes();
// This is to set direction to inbound
expect(exchange.getOutMessage()).andReturn(null);
SoapMessage message = new SoapMessage(new MessageImpl());
message.setExchange(exchange);
XMLStreamReader reader = preparemXMLStreamReader("resources/greetMeRpcLitReq.xml");
message.setContent(XMLStreamReader.class, reader);
Object[] headerInfo = prepareSOAPHeader();
message.setContent(Node.class, headerInfo[0]);
Node node = ((Element) headerInfo[1]).getFirstChild();
message.getHeaders().add(new Header(new QName(node.getNamespaceURI(), node.getLocalName()), node));
control.replay();
SOAPHandlerInterceptor li = new SOAPHandlerInterceptor(binding);
li.handleMessage(message);
control.verify();
// Verify SOAPMessage header
SOAPMessage soapMessageNew = message.getContent(SOAPMessage.class);
Element headerElementNew = DOMUtils.getFirstElement(soapMessageNew.getSOAPHeader());
SoapVersion soapVersion = Soap11.getInstance();
assertEquals("false", headerElementNew.getAttributeNS(soapVersion.getNamespace(), "mustUnderstand"));
// Verify XMLStreamReader
XMLStreamReader xmlReader = message.getContent(XMLStreamReader.class);
QName qn = xmlReader.getName();
assertEquals("sendReceiveData", qn.getLocalPart());
// Verify Header Element
Iterator<Header> iter = message.getHeaders().iterator();
Element requiredHeader = null;
while (iter.hasNext()) {
Header localHdr = iter.next();
if (localHdr.getObject() instanceof Element) {
Element elem = (Element) localHdr.getObject();
if (elem.getNamespaceURI().equals("http://apache.org/hello_world_rpclit/types") && elem.getLocalName().equals("header1")) {
requiredHeader = (Element) localHdr.getObject();
break;
}
}
}
assertNotNull("Should have found header1", requiredHeader);
assertEquals("false", requiredHeader.getAttributeNS(soapVersion.getNamespace(), "mustUnderstand"));
}
Aggregations