Package com.consol.citrus.validation.script

Examples of com.consol.citrus.validation.script.GroovyScriptMessageBuilder


    /**
     * @param messageElement
     * @return
     */
    private GroovyScriptMessageBuilder parseScriptBuilder(Element messageElement) {
        GroovyScriptMessageBuilder scriptMessageBuilder = null;
       
        Element builderElement = DomUtils.getChildElementByTagName(messageElement, "builder");
        if (builderElement != null) {
            String builderType = builderElement.getAttribute("type");
           
            if (!StringUtils.hasText(builderType)) {
                throw new BeanCreationException("Missing message builder type - please define valid type " +
                        "attribute for message builder");
            } else if (builderType.equals("groovy")) {
                scriptMessageBuilder = new GroovyScriptMessageBuilder();
            } else {
                throw new BeanCreationException("Unsupported message builder type: '" + builderType + "'");
            }
           
            String scriptResourcePath = builderElement.getAttribute("file");
            if (StringUtils.hasText(scriptResourcePath)) {
                scriptMessageBuilder.setScriptResourcePath(scriptResourcePath);
            } else {
                scriptMessageBuilder.setScriptData(DomUtils.getTextValue(builderElement));
            }
        }
       
        return scriptMessageBuilder;
    }
View Full Code Here


        assertActionCount(8);
        assertActionClassAndName(ReceiveMessageAction.class, "receive");
       
        ControlMessageValidationContext validationContext;
        PayloadTemplateMessageBuilder messageBuilder;
        GroovyScriptMessageBuilder groovyMessageBuilder;
       
        // 1st action
        ReceiveMessageAction action = getNextTestActionFromTest();
        Assert.assertTrue(action.getMessageSelector().isEmpty());
        Assert.assertNull(action.getMessageSelectorString());
        Assert.assertEquals(action.getEndpoint(), beanDefinitionContext.getBean("myMessageEndpoint", Endpoint.class));
        Assert.assertNull(action.getEndpointUri());
       
        Assert.assertEquals(action.getValidationContexts().size(), 2);
        Assert.assertTrue(action.getValidationContexts().get(0) instanceof ControlMessageValidationContext);
        validationContext = (ControlMessageValidationContext)action.getValidationContexts().get(0);
       
        Assert.assertTrue(validationContext.getMessageBuilder() instanceof PayloadTemplateMessageBuilder);
        messageBuilder = (PayloadTemplateMessageBuilder)validationContext.getMessageBuilder();
       
        Assert.assertNull(messageBuilder.getPayloadResourcePath());
        Assert.assertNotNull(messageBuilder.getPayloadData());
        Assert.assertEquals(messageBuilder.getPayloadData().trim(), "<TestMessage>Hello Citrus</TestMessage>");
        Assert.assertEquals(messageBuilder.getMessageHeaders().size(), 1);
        Assert.assertEquals(messageBuilder.getMessageHeaders().get("operation"), "Test");
        Assert.assertEquals(messageBuilder.getMessageInterceptors().size(), 0);

        Assert.assertNull(action.getDataDictionary());

        // 2nd action
        action = getNextTestActionFromTest();
        Assert.assertEquals(action.getMessageSelector().size(), 1);
        Assert.assertEquals(action.getMessageSelector().get("operation"), "Test");
        Assert.assertNull(action.getMessageSelectorString());
        Assert.assertEquals(action.getEndpoint(), beanDefinitionContext.getBean("myMessageEndpoint", Endpoint.class));
        Assert.assertNull(action.getEndpointUri());
       
        Assert.assertEquals(action.getValidationContexts().size(), 2);
        Assert.assertTrue(action.getValidationContexts().get(0) instanceof ControlMessageValidationContext);
        validationContext = (ControlMessageValidationContext)action.getValidationContexts().get(0);
       
        Assert.assertTrue(validationContext.getMessageBuilder() instanceof PayloadTemplateMessageBuilder);
        messageBuilder = (PayloadTemplateMessageBuilder)validationContext.getMessageBuilder();
       
        Assert.assertNotNull(messageBuilder.getPayloadResourcePath());
        Assert.assertEquals(messageBuilder.getPayloadResourcePath(), "classpath:com/consol/citrus/actions/test-request-payload.xml");
        Assert.assertNull(messageBuilder.getPayloadData());
        Assert.assertEquals(messageBuilder.getMessageHeaders().size(), 0);
        Assert.assertEquals(messageBuilder.getMessageInterceptors().size(), 0);
       
        // 3rd action
        action = getNextTestActionFromTest();
        Assert.assertTrue(action.getMessageSelector().isEmpty());
        Assert.assertEquals(action.getMessageSelectorString(), "operation = 'Test'");
        Assert.assertEquals(action.getEndpoint(), beanDefinitionContext.getBean("myMessageEndpoint", Endpoint.class));
        Assert.assertNull(action.getEndpointUri());
       
        // 4th action
        action = getNextTestActionFromTest();
        Assert.assertTrue(action.getMessageSelector().isEmpty());
        Assert.assertNull(action.getMessageSelectorString());
        Assert.assertEquals(action.getEndpoint(), beanDefinitionContext.getBean("myMessageEndpoint", Endpoint.class));
        Assert.assertNull(action.getEndpointUri());
       
        Assert.assertEquals(action.getValidationContexts().size(), 2);
        Assert.assertTrue(action.getValidationContexts().get(0) instanceof ControlMessageValidationContext);
        validationContext = (ControlMessageValidationContext)action.getValidationContexts().get(0);
       
        Assert.assertTrue(validationContext.getMessageBuilder() instanceof GroovyScriptMessageBuilder);
        groovyMessageBuilder = (GroovyScriptMessageBuilder)validationContext.getMessageBuilder();
       
        Assert.assertNull(groovyMessageBuilder.getScriptResourcePath());
        Assert.assertNotNull(groovyMessageBuilder.getScriptData());
        Assert.assertEquals(groovyMessageBuilder.getScriptData().trim(), "println '<TestMessage>Hello Citrus</TestMessage>'");
        Assert.assertEquals(groovyMessageBuilder.getMessageHeaders().size(), 2);
        Assert.assertEquals(groovyMessageBuilder.getMessageHeaders().get("header1"), "Test");
        Assert.assertEquals(groovyMessageBuilder.getMessageHeaders().get("header2"), "Test");
       
        // 5th action
        action = getNextTestActionFromTest();
        Assert.assertTrue(action.getMessageSelector().isEmpty());
        Assert.assertNull(action.getMessageSelectorString());
        Assert.assertEquals(action.getEndpoint(), beanDefinitionContext.getBean("myMessageEndpoint", Endpoint.class));
        Assert.assertNull(action.getEndpointUri());
       
        Assert.assertEquals(action.getValidationContexts().size(), 2);
        Assert.assertTrue(action.getValidationContexts().get(0) instanceof ControlMessageValidationContext);
        validationContext = (ControlMessageValidationContext)action.getValidationContexts().get(0);
       
        Assert.assertTrue(validationContext.getMessageBuilder() instanceof GroovyScriptMessageBuilder);
        groovyMessageBuilder = (GroovyScriptMessageBuilder)validationContext.getMessageBuilder();
       
        Assert.assertNotNull(groovyMessageBuilder.getScriptResourcePath());
        Assert.assertEquals(groovyMessageBuilder.getScriptResourcePath(), "classpath:com/consol/citrus/script/example.groovy");
        Assert.assertNull(groovyMessageBuilder.getScriptData());
       
        // 6th action
        action = getNextTestActionFromTest();
        Assert.assertEquals(action.getVariableExtractors().size(), 2);
        Assert.assertTrue(action.getVariableExtractors().get(0) instanceof MessageHeaderVariableExtractor);
View Full Code Here

    public void testSendMessageActionParser() {
        assertActionCount(6);
        assertActionClassAndName(SendMessageAction.class, "send");
       
        PayloadTemplateMessageBuilder messageBuilder;
        GroovyScriptMessageBuilder groovyMessageBuilder;
       
        // 1st action
        SendMessageAction action = getNextTestActionFromTest();
        messageBuilder = (PayloadTemplateMessageBuilder)action.getMessageBuilder();
       
        Assert.assertNull(messageBuilder.getPayloadResourcePath());
        Assert.assertNotNull(messageBuilder.getPayloadData());
        Assert.assertEquals(messageBuilder.getPayloadData().trim(), "<TestMessage>Hello Citrus</TestMessage>");
        Assert.assertEquals(messageBuilder.getMessageHeaders().size(), 1);
        Assert.assertEquals(messageBuilder.getMessageHeaders().get("operation"), "Test");
        Assert.assertEquals(messageBuilder.getMessageInterceptors().size(), 0);
        Assert.assertEquals(action.getEndpoint(), beanDefinitionContext.getBean("myMessageEndpoint", Endpoint.class));
        Assert.assertNull(action.getEndpointUri());

        Assert.assertNull(action.getDataDictionary());

        // 2nd action
        action = getNextTestActionFromTest();
        messageBuilder = (PayloadTemplateMessageBuilder)action.getMessageBuilder();
       
        Assert.assertNotNull(messageBuilder.getPayloadResourcePath());
        Assert.assertEquals(messageBuilder.getPayloadResourcePath(), "classpath:com/consol/citrus/actions/test-request-payload.xml");
        Assert.assertNull(messageBuilder.getPayloadData());
        Assert.assertEquals(messageBuilder.getMessageHeaders().size(), 0);
        Assert.assertEquals(messageBuilder.getMessageInterceptors().size(), 0);
        Assert.assertEquals(action.getEndpoint(), beanDefinitionContext.getBean("myMessageEndpoint", Endpoint.class));
        Assert.assertNull(action.getEndpointUri());

        // 3rd action
        action = getNextTestActionFromTest();
        groovyMessageBuilder = (GroovyScriptMessageBuilder)action.getMessageBuilder();
       
        Assert.assertNull(groovyMessageBuilder.getScriptResourcePath());
        Assert.assertNotNull(groovyMessageBuilder.getScriptData());
        Assert.assertEquals(groovyMessageBuilder.getScriptData().trim(), "println '<TestMessage>Hello Citrus</TestMessage>'");
        Assert.assertEquals(groovyMessageBuilder.getMessageHeaders().size(), 2);
        Assert.assertEquals(groovyMessageBuilder.getMessageHeaders().get("header1"), "Test");
        Assert.assertEquals(groovyMessageBuilder.getMessageHeaders().get("header2"), "Test");
        Assert.assertEquals(action.getEndpoint(), beanDefinitionContext.getBean("myMessageEndpoint", Endpoint.class));
        Assert.assertNull(action.getEndpointUri());

        // 4th action
        action = getNextTestActionFromTest();
        groovyMessageBuilder = (GroovyScriptMessageBuilder)action.getMessageBuilder();
       
        Assert.assertNotNull(groovyMessageBuilder.getScriptResourcePath());
        Assert.assertEquals(groovyMessageBuilder.getScriptResourcePath(), "classpath:com/consol/citrus/script/example.groovy");
        Assert.assertNull(groovyMessageBuilder.getScriptData());
        Assert.assertEquals(action.getEndpoint(), beanDefinitionContext.getBean("myMessageEndpoint", Endpoint.class));
        Assert.assertNull(action.getEndpointUri());

        // 5th action
        action = getNextTestActionFromTest();
View Full Code Here

    StringBuilder sb = new StringBuilder();
    sb.append("markupBuilder.TestRequest(){\n");
    sb.append("Message('Hello World!')\n");
    sb.append("}");
   
    GroovyScriptMessageBuilder scriptMessageBuidler = new GroovyScriptMessageBuilder();
    scriptMessageBuidler.setScriptData(sb.toString());
   
    sendAction.setMessageBuilder(scriptMessageBuidler);
   
    final Message controlMessage = new DefaultMessage("<TestRequest><Message>Hello World!</Message></TestRequest>");
View Full Code Here

        StringBuilder sb = new StringBuilder();
        sb.append("markupBuilder.TestRequest(){\n");
        sb.append("Message('${text}')\n");
        sb.append("}");
       
        GroovyScriptMessageBuilder scriptMessageBuidler = new GroovyScriptMessageBuilder();
        scriptMessageBuidler.setScriptData(sb.toString());
       
        sendAction.setMessageBuilder(scriptMessageBuidler);
       
        final Message controlMessage = new DefaultMessage("<TestRequest><Message>Hello World!</Message></TestRequest>");
View Full Code Here

    @SuppressWarnings("rawtypes")
    public void testSendMessageWithMessageBuilderScriptResource() {
        SendMessageAction sendAction = new SendMessageAction();
        sendAction.setEndpoint(endpoint);
       
        GroovyScriptMessageBuilder scriptMessageBuidler = new GroovyScriptMessageBuilder();
        scriptMessageBuidler.setScriptResourcePath("classpath:com/consol/citrus/actions/test-request-payload.groovy");
       
        sendAction.setMessageBuilder(scriptMessageBuidler);
       
        final Message controlMessage = new DefaultMessage("<TestRequest><Message>Hello World!</Message></TestRequest>");
View Full Code Here

TOP

Related Classes of com.consol.citrus.validation.script.GroovyScriptMessageBuilder

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.