### Question:
FIXIncomingMessageHandler implements Application { 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 { 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); } } FIXIncomingMessageHandler(ConfigurationContext cfgCtx, WorkerPool workerPool,
                                     AxisService service, boolean acceptor); void setOutgoingMessageContext(MessageContext msgCtx); void acquire(); void onCreate(SessionID sessionID); void onLogon(SessionID sessionID); void onLogout(SessionID sessionID); void toAdmin(Message message, SessionID sessionID); void fromAdmin(Message message, SessionID sessionID); void toApp(Message message, SessionID sessionID); void fromApp(Message message, SessionID sessionID);  }### Answer:
@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); }