Привет. Не судите сторго, в НТ новичок.
Была поставлена задача провести НТ интеграционной системы на моках.
Для этой цели был выбран SOAP UI (итоговый проект собран, как war файл и установлен, как приложение на weblogic). Добавил в него сервисы, из них сделал мок-сервисы, в которых на groovy написаны скрипты, которые парсят request и на основе некотрых данных из него подставляют респонз в виде xml файла в котором нужные данные.
def wsdlcontext = context.mockService.getMockedInterfaces()[0].getDefinitionContext();
def validator = new com.eviware.soapui.impl.wsdl.support.wsdl.WsdlValidator(wsdlcontext);
def msgExchange = new com.eviware.soapui.impl.wsdl.panels.mockoperation.WsdlMockRequestMessageExchange(mockRequest,mockOperation);
def errors = validator.assertRequest(msgExchange, false);
def xmlparser = new XmlParser().parseText(mockRequest.getRequestContent());
def cuid = xmlparser["*:Body"]["*:getAccounts"]["*:CUID"][0].value()[0]; /*Достаю нужное значение*/
def delay = context.mbeanServer.getAttribute(context.mbeanObjName, "Accounts")
def projectPath = new File(mockOperation.mockService.project.path).parent/*Путь к проекту на сервере*/
def respfile = new File("/tmp/Mock_noDB/Resp/getAccounts/"+String.format('%s', cuid)+".xml")/*Путь к файлу на сервере*/
sleep(delay)
requestContext.responseMessage = respfile.getText()
return (requestContext.responseMessage == null)?"Null": "getAccounts";
Подскажите, пожалуйста, насколько это жизнеспособная история, какие подводные меня могут ожидать на этом пути и стоит ли развивать это или лучше сразу забить и написать что-то подобное на питоне?
Предполагаю, что узкие места возможные подводные камни самого Soap UI и то, что response я беру из файла на сервере.
Такой путь был выбран по причине уже имеющихся наработок моков (но не используемых для НТ)на Soap UI и то, что проект можно быстро собрать в .war и задеплоить на веблоджик.