use of quickfix.field.SenderCompID in project wso2-synapse by wso2.
the class FIXTransportSenderTest method testFIXTransportSenderSendMessage.
@Test()
public void testFIXTransportSenderSendMessage() throws Exception {
String BEGIN_STRING = "FIX.4.1";
String SENDER_ID = "BANZAI";
String TARGET_ID = "SYNAPSE";
int SEQ_NUM = 5;
String SYMBOL = "APACHE";
String CLORD_ID = "12345";
String CHECKSUM = "67890";
String TX_DATE = new Date().toString();
String SESSION_ID = "FIX.4.1:BANZAI->SYNAPSE";
Message message = new NewOrderSingle();
message.getHeader().setField(new BeginString(BEGIN_STRING));
message.getHeader().setField(new SenderCompID(SENDER_ID));
message.getHeader().setField(new TargetCompID(TARGET_ID));
message.getHeader().setField(new MsgSeqNum(SEQ_NUM));
message.setField(new Symbol(SYMBOL));
message.setField(new ClOrdID(CLORD_ID));
message.setField(new TradeOriginationDate(TX_DATE));
message.getTrailer().setField(new CheckSum(CHECKSUM));
MessageContext msgCtx = new MessageContext();
msgCtx.setProperty(FIXConstants.FIX_SERVICE_NAME, "sampleService");
Map trpHeaders = new HashMap();
trpHeaders.put(FIXConstants.FIX_MESSAGE_APPLICATION, "sampleApplication");
msgCtx.setProperty(MessageContext.TRANSPORT_HEADERS, trpHeaders);
FIXUtils.getInstance().setSOAPEnvelope(message, SEQ_NUM, SESSION_ID, msgCtx);
OutTransportInfo info = new FIXOutTransportInfo("fix://dummyEPR");
FIXTransportSender spy = PowerMockito.spy(new FIXTransportSender());
PowerMockito.doReturn(true).when(spy, "sendUsingEPR", anyString(), anyString(), any(), anyString(), anyInt(), any());
spy.sendMessage(msgCtx, "fix://dummyEPR", info);
PowerMockito.verifyPrivate(spy, times(1)).invoke("sendUsingEPR", anyString(), anyString(), any(), anyString(), anyInt(), any());
}
use of quickfix.field.SenderCompID in project wso2-synapse by wso2.
the class FIXIncomingMessageHandlerTest method testFromAdmin.
@Test
public void testFromAdmin() throws Exception {
SessionID id = new SessionID(new BeginString("FIX.4.1"), new SenderCompID("SYNAPSE"), new TargetCompID("BANZAI"), "FIX.4.1:SYNAPSE->BANZAI");
Message message = new NewOrderSingle();
message.getHeader().setField(new BeginString("FIX.4.1"));
message.getHeader().setField(new SenderCompID("SYNAPSE"));
message.getHeader().setField(new TargetCompID("BANZAI"));
message.getHeader().setField(new MsgSeqNum(1));
message.getHeader().setField(new MsgType("A"));
ConfigurationContext cfgCtx = new ConfigurationContext(new AxisConfiguration());
WorkerPool pool = new NativeWorkerPool(3, 4, 10, 10, "name", "id");
FIXIncomingMessageHandler handler = new FIXIncomingMessageHandler(cfgCtx, pool, service, true);
handler.fromAdmin(message, id);
}
use of quickfix.field.SenderCompID in project wso2-synapse by wso2.
the class FIXIncomingMessageHandlerTest method testToAdmin.
@Test
public void testToAdmin() throws Exception {
initMocks(this);
SessionID id = new SessionID(new BeginString("FIX.4.1"), new SenderCompID("SYNAPSE"), new TargetCompID("BANZAI"), "FIX.4.1:SYNAPSE->BANZAI");
Message message = new NewOrderSingle();
message.getHeader().setField(new BeginString("FIX.4.1"));
message.getHeader().setField(new SenderCompID("SYNAPSE"));
message.getHeader().setField(new TargetCompID("BANZAI"));
message.getHeader().setField(new MsgSeqNum(1));
message.getHeader().setField(new MsgType("A"));
PowerMockito.when(service.getParameter(FIXConstants.FIX_USERNAME)).thenReturn(new Parameter(FIXConstants.FIX_USERNAME, "wos2"));
PowerMockito.when(service.getParameter(FIXConstants.FIX_PASSWORD)).thenReturn(new Parameter(FIXConstants.FIX_PASSWORD, "wos2"));
ConfigurationContext cfgCtx = new ConfigurationContext(new AxisConfiguration());
WorkerPool pool = new NativeWorkerPool(3, 4, 10, 10, "name", "id");
FIXIncomingMessageHandler handler = new FIXIncomingMessageHandler(cfgCtx, pool, service, true);
handler.toAdmin(message, id);
}
use of quickfix.field.SenderCompID in project wso2-synapse by wso2.
the class FIXIncomingMessageHandlerTest method testToApp.
@Test
public void testToApp() throws Exception {
SessionID id = new SessionID(new BeginString("FIX.4.1"), new SenderCompID("SYNAPSE"), new TargetCompID("BANZAI"), "FIX.4.1:SYNAPSE->BANZAI");
Message message = new NewOrderSingle();
message.getHeader().setField(new BeginString("FIX.4.1"));
message.getHeader().setField(new SenderCompID("SYNAPSE"));
message.getHeader().setField(new TargetCompID("BANZAI"));
message.getHeader().setField(new MsgSeqNum(1));
message.getHeader().setField(new MsgType("A"));
ConfigurationContext cfgCtx = new ConfigurationContext(new AxisConfiguration());
WorkerPool pool = new NativeWorkerPool(3, 4, 10, 10, "name", "id");
FIXIncomingMessageHandler handler = new FIXIncomingMessageHandler(cfgCtx, pool, service, true);
handler.toApp(message, id);
}
use of quickfix.field.SenderCompID in project wso2-synapse by wso2.
the class FIXIncomingMessageHandler method toAdmin.
/**
* This callback provides Synapse with a peek at the administrative messages
* that are being sent from your FIX engine to the counter party. This is
* normally not useful for an application however it is provided for any
* logging one may wish to do.
*
* @param message QuickFIX message
* @param sessionID QuickFIX session ID
*/
public void toAdmin(Message message, SessionID sessionID) {
if (log.isDebugEnabled()) {
StringBuffer sb = new StringBuffer();
try {
sb.append("Sending admin level FIX message to ").append(message.getHeader().getField(new TargetCompID()).getValue());
sb.append("\nMessage Type: ").append(message.getHeader().getField(new MsgType()).getValue());
sb.append("\nMessage Sequence Number: ").append(message.getHeader().getField(new MsgSeqNum()).getValue());
sb.append("\nSender ID: ").append(message.getHeader().getField(new SenderCompID()).getValue());
} catch (FieldNotFound e) {
sb.append("Sending admin level FIX message...");
log.warn("One or more required fields are not found in the response message", e);
}
log.debug(sb.toString());
if (log.isTraceEnabled()) {
log.trace("Message: " + message.toString());
}
}
try {
// Before FIX server sends (35=A) admin login message get username/password values from proxy configuration
if (message.getHeader().getField(new StringField(FIXConstants.FIX_MESSAGE_TYPE)).getValue().equals(FIXConstants.LOGON)) {
Parameter userName = service.getParameter(FIXConstants.FIX_USERNAME);
Parameter passWord = service.getParameter(FIXConstants.FIX_PASSWORD);
if (userName != null && passWord != null) {
message.setString(FIXConstants.USERNAME_TAG, userName.getValue().toString());
message.setString(FIXConstants.PASSWORD_TAG, passWord.getValue().toString());
}
if (log.isDebugEnabled()) {
log.debug("Username:" + userName + " or password:" + passWord + "from proxy configuration..");
}
}
} catch (FieldNotFound e) {
log.error("One or more required fields are not found in the response message", e);
}
if (eventHandler != null) {
eventHandler.toAdmin(this, message, sessionID);
}
}
Aggregations