Package org.jbpm.designer.expressioneditor

Source Code of org.jbpm.designer.expressioneditor.ExpressionEditorMessageMarshallingTest

/**
* Copyright 2012 JBoss Inc
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
*      http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/

package org.jbpm.designer.expressioneditor;

import org.jbpm.designer.expressioneditor.marshalling.ExpressionEditorMessageJSONMarshaller;
import org.jbpm.designer.expressioneditor.marshalling.ExpressionEditorMessageJSONUnmarshaller;
import org.jbpm.designer.expressioneditor.model.Condition;
import org.jbpm.designer.expressioneditor.model.ConditionExpression;
import org.jbpm.designer.expressioneditor.model.ExpressionEditorMessage;
import org.junit.Test;

import static junit.framework.Assert.assertEquals;
import static junit.framework.Assert.assertNotNull;


public class ExpressionEditorMessageMarshallingTest {

    @Test
    public void testUnmarshalling() throws Exception {

        ExpressionEditorMessageJSONUnmarshaller unmarshaller = new ExpressionEditorMessageJSONUnmarshaller();
        ExpressionEditorMessage message = unmarshaller.unmarshall(ExpressionEditorMessageMarshallingTest.class.getResourceAsStream("condition_editor_message.json"));

        assertNotNull("json message was not marshalled", message);
        assertNotNull("condition expression was not marshalled", message.getExpression());

        assertEquals("OR", message.getExpression().getOperator());
        assertEquals(2, message.getExpression().getConditions().size());

        assertEquals("isEquals", message.getExpression().getConditions().get(0).getFunction());
        assertEquals("variableName1", message.getExpression().getConditions().get(0).getParameters().get(0));
        assertEquals("param1.1", message.getExpression().getConditions().get(0).getParameters().get(1));

        assertEquals("isBetween", message.getExpression().getConditions().get(1).getFunction());
        assertEquals("variableName2", message.getExpression().getConditions().get(1).getParameters().get(0));
        assertEquals("param2.1", message.getExpression().getConditions().get(1).getParameters().get(1));
        assertEquals("param2.2", message.getExpression().getConditions().get(1).getParameters().get(2));

        assertEquals("return true;", message.getScript());
        assertEquals("The error code", message.getErrorCode());
        assertEquals("The error message", message.getErrorMessage());

    }

    @Test
    public void testMarshalling() throws Exception {
        ExpressionEditorMessageJSONMarshaller marshaller = new ExpressionEditorMessageJSONMarshaller();

        ExpressionEditorMessage message = new ExpressionEditorMessage();

        ConditionExpression expression = new ConditionExpression("OR");
        message.setExpression(expression);

        Condition condition1 = new Condition();
        condition1.setFunction("isEquals");
        condition1.getParameters().add("variableName1");
        condition1.getParameters().add("param1.1");

        expression.getConditions().add(condition1);


        Condition condition2 = new Condition();
        condition2.setFunction("isBetween");
        condition2.getParameters().add("variableName2");
        condition2.getParameters().add("param2.1");
        condition2.getParameters().add("param2.2");

        expression.getConditions().add(condition2);

        message.setScript("return true;");
        message.setErrorCode("The error code");
        message.setErrorMessage("The error message");

        String expectedResult = "{\"operator\":\"OR\"," +
                "\"conditions\":[" +
                "{" +
                "\"condition\":\"isEquals\"," +
                "\"parameters\":[\"variableName1\",\"param1.1\"]" +
                "}," +
                "{" +
                "\"condition\":\"isBetween\"," +
                "\"parameters\":[\"variableName2\",\"param2.1\",\"param2.2\"]" +
                "}" +
                "]," +
                "\"script\":\"return true;\"," +
                "\"errorCode\":\"The error code\"," +
                "\"errorMessage\":\"The error message\"" +
                "}";

        String result = marshaller.marshall(message);

        assertEquals(expectedResult, result);

    }
}
TOP

Related Classes of org.jbpm.designer.expressioneditor.ExpressionEditorMessageMarshallingTest

TOP
Copyright © 2018 www.massapi.com. 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.