Package com.muleinaction

Source Code of com.muleinaction.JsonTestCase

package com.muleinaction;

import static org.hamcrest.CoreMatchers.instanceOf;
import static org.hamcrest.CoreMatchers.is;
import static org.hamcrest.CoreMatchers.notNullValue;
import static org.hamcrest.CoreMatchers.nullValue;
import static org.junit.Assert.assertThat;

import java.util.Map;

import org.external.ExternalItem;
import org.junit.Test;
import org.mule.api.MuleMessage;
import org.mule.module.client.MuleClient;
import org.mule.tck.junit4.FunctionalTestCase;

import com.prancingdonkey.model.json.Provider;

public class JsonTestCase extends FunctionalTestCase
{

    @Override
    protected String getConfigResources()
    {
        return "json.xml";
    }

    @Test
    public void testRegularJson() throws Exception
    {
        MuleClient muleClient = new MuleClient(muleContext);

        Provider payload = new Provider();
        payload.setName("test name");

        MuleMessage result = muleClient.send("vm://json-marshalling.in", payload, null);
        assertThat(result, is(notNullValue()));
        assertThat(result.getPayload(), is(notNullValue()));
        assertThat(result.getPayload(), is(instanceOf(Provider.class)));
    }

    @Test
    public void testMixinJson() throws Exception
    {
        MuleClient muleClient = new MuleClient(muleContext);

        ExternalItem payload = new ExternalItem();

        payload.setItemNumber("1234");
        payload.setUnwantedValue("notWanted");

        MuleMessage result = muleClient.send("vm://json-marshalling-mixin.in", payload, null);
        assertThat(result, is(notNullValue()));
        assertThat(result.getPayload(), is(notNullValue()));
        assertThat(result.getPayload(), is(instanceOf(ExternalItem.class)));
        assertThat(((ExternalItem) result.getPayload()).getUnwantedValue(), is(nullValue()));
    }
   
  @Test
  @SuppressWarnings({ "rawtypes" })
    public void testJsonQuery() throws Exception
    {
        MuleClient muleClient = new MuleClient(muleContext);

        String payload = "{ \"requestType\":\"availability\", \"products\":[{ \"productId\":\"100345\", \"requestedUnits\":\"10\" } ] }";

        MuleMessage result = muleClient.send("vm://json-query.in", payload, null);
        assertThat(result, is(notNullValue()));
        assertThat(result.getPayload(), is(notNullValue()));
        assertThat(result.getPayload(), is(instanceOf(Map.class)));
       
        Map mapResult = (Map) result.getPayload();
        assertThat(mapResult.get("requestType"), is(instanceOf(String.class)));
        assertThat((String) mapResult.get("requestType"), is("availability"));
    }

}
TOP

Related Classes of com.muleinaction.JsonTestCase

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.