This is what I have so far. It works but I would appreciate a little peer review (particularly regarding how I set up my session and the logged in user)
Thanks! ************************************************ @Resource private CardPaymentAction cardPaymentAction; ActionContext actionContext; ServletActionContext servletActionContext; private HttpServletRequest request; private HttpServletResponse response; private MockServletContext servletContext; public CardPaymentActionTest() {} @Test public void testPayment() { setupContext(); // Mastercard payment which requires authentication CustomerPaymentDetails details = new CustomerPaymentDetails(); details.setAccountNumber("955784322"); cardPaymentAction.setCustomerPaymentDetails(details); String result = cardPaymentAction.makePayment(); assertTrue(BaseAction.Results.ACS_HANDLER.equals(result)); } /** * Setup the context (request, session etc) for our action tests * (Move to setUp() when I figure out why it's not being executed) */ private void setupContext() { Map extraContext = new HashMap(); request = new MockHttpServletRequest(); response = new MockHttpServletResponse(); servletContext = new MockServletContext(); extraContext.put(HTTP_REQUEST, request); extraContext.put(HTTP_RESPONSE, response); extraContext.put(SERVLET_CONTEXT, servletContext); Map session = new org.apache.struts2.dispatcher.SessionMap(request); session.put("profile", createCustomer()); // fake a logged in user extraContext.put("session", session); actionContext = new ActionContext(extraContext); ServletActionContext.setContext(actionContext); } As a responsible corporate citizen, London Scottish Bank plc asks you to consider the environment before printing this email. *** Disclaimer *** This electronic communication is confidential and for the exclusive use of the addressee. It may contain private and confidential information. The information, attachments and opinions contained in this E-mail are those of its author only and do not necessarily represent those of London Scottish Bank PLC or any other members of the London Scottish Group. If you are not the intended addressee, you are prohibited from any disclosure, distribution or further copying or use of this communication or the information in it or taking any action in reliance on it. If you have received this communication in error please notify the Information Security Manager at [EMAIL PROTECTED] as soon as possible and delete the message from all places in your computer where it is stored. We utilise virus scanning software but we cannot guarantee the security of electronic communications and you are advised to check any attachments for viruses. We do not accept liability for any loss resulting from any corruption or alteration of data or importation of any virus as a result of receiving this electronic communication. Replies to this E-mail may be monitored for operational or business reasons. London Scottish Bank PLC is authorised and regulated by the Financial Services Authority. London Scottish Bank plc, Registered Office: 201 Deansgate, Manchester M3 3NW Registered Number 973008 England. Subsidiary Companies:- London Scottish Finance Limited, Registered Office: 201 Deansgate, Manchester M3 3NW Registered Number 233259 England. London Scottish Broking Limited, Registered Office: 201 Deansgate, Manchester M3 3NW Registered Number 230110 England. Robinson Way & Company Limited, Registered Office: 201 Deansgate, Manchester M3 3NW Registered Number 885896 England. ______________________________________________________________________ This email has been scanned by the MessageLabs Email Security System. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]