Package org.mule.el.context

Source Code of org.mule.el.context.ServerContextTestCase

/*
* Copyright (c) MuleSoft, Inc.  All rights reserved.  http://www.mulesoft.com
* The software in this package is published under the terms of the CPAL v1.0
* license, a copy of which has been included with this distribution in the
* LICENSE.txt file.
*/
package org.mule.el.context;

import static org.junit.Assert.assertEquals;

import org.mule.DefaultMuleMessage;
import org.mule.api.MuleMessage;
import org.mule.el.datetime.DateTime;

import java.net.InetAddress;
import java.net.UnknownHostException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.Locale;
import java.util.TimeZone;

import javax.xml.bind.DatatypeConverter;

import junit.framework.Assert;

import org.apache.commons.lang.LocaleUtils;
import org.junit.Test;

public class ServerContextTestCase extends AbstractELTestCase
{
    public ServerContextTestCase(Variant variant, String mvelOptimizer)
    {
        super(variant, mvelOptimizer);
    }

    @Test
    public void host() throws UnknownHostException
    {
        Assert.assertEquals(InetAddress.getLocalHost().getCanonicalHostName(), evaluate("server.host"));
    }

    @Test
    public void assignValueToHost()
    {
        assertFinalProperty("server.host='1'");
    }

    @Test
    public void ip() throws UnknownHostException
    {
        Assert.assertEquals(InetAddress.getLocalHost().getHostAddress(), evaluate("server.ip"));
    }

    @Test
    public void assignValueToIp()
    {
        assertFinalProperty("server.ip='1'");
    }

    @Test
    public void javaSystemProperties()
    {
        Assert.assertEquals(System.getProperties(), evaluate("server.systemProperties"));
    }

    @Test
    public void assignValueToJavaSystemProperties()
    {
        assertFinalProperty("server.systemProperties='1'");
    }

    @Test
    public void tmpDir()
    {
        Assert.assertEquals(System.getProperty("java.io.tmpdir"), evaluate("server.tmpDir"));
    }

    @Test
    public void assignValueToTmpdir()
    {
        assertFinalProperty("server.tmpDir='1'");
    }

    @Test
    public void fileSeperator()
    {
        Assert.assertEquals(System.getProperty("file.separator"), evaluate("server.fileSeparator"));
    }

    @Test
    public void assignValueToFileseperator()
    {
        assertFinalProperty("server.fileSeparator='1'");
    }

    @Test
    public void osName()
    {
        Assert.assertEquals(System.getProperty("os.name"), evaluate("server.osName"));
    }

    @Test
    public void assignValueToOsName()
    {
        assertFinalProperty("server.osName='1'");
    }

    @Test
    public void osArch()
    {
        Assert.assertEquals(System.getProperty("os.arch"), evaluate("server.osArch"));
    }

    @Test
    public void assignValueToOsArch()
    {
        assertFinalProperty("server.osArch='1'");
    }

    @Test
    public void osVersion()
    {
        Assert.assertEquals(System.getProperty("os.version"), evaluate("server.osVersion"));
    }

    @Test
    public void assignValueToOsVersion()
    {
        assertFinalProperty("server.os.version='1'");
    }

    @Test
    public void javaVersion()
    {
        Assert.assertEquals(System.getProperty("java.version"), evaluate("server.javaVersion"));
    }

    @Test
    public void assignValueToJavaVersion()
    {
        assertFinalProperty("server.javaVersion='1'");
    }

    @Test
    public void javaVendor()
    {
        Assert.assertEquals(System.getProperty("java.vendor"), evaluate("server.javaVendor"));
    }

    @Test
    public void assignValueToJavaVendor()
    {
        assertFinalProperty("server.javaVendor='1'");
    }

    @Test
    public void env()
    {
        Assert.assertEquals(System.getenv(), evaluate("server.env"));
    }

    @Test
    public void assignValueToEnv()
    {
        assertFinalProperty("server.env='1'");
    }

    @Test
    public void timeZone()
    {
        Assert.assertEquals(Calendar.getInstance().getTimeZone(), evaluate("server.timeZone"));
    }

    @Test
    public void assignValueToTimeZone()
    {
        assertFinalProperty("server.timeZone='1'");
    }

    @Test
    public void locale()
    {
        Assert.assertEquals(Locale.getDefault(), evaluate("server.locale"));
    }

    @Test
    public void assignValueToLocal()
    {
        assertFinalProperty("server.locale='1'");
    }

    @Test
    public void userName()
    {
        Assert.assertEquals(System.getProperty("user.name"), evaluate("server.userName"));
    }

    @Test
    public void assignValueToUserName()
    {
        assertFinalProperty("server.userName='1'");
    }

    @Test
    public void userHome()
    {
        Assert.assertEquals(System.getProperty("user.home"), evaluate("server.userHome"));
    }

    @Test
    public void assignValueToUserHome()
    {
        assertFinalProperty("server.userHome='1'");
    }

    @Test
    public void userDir()
    {
        Assert.assertEquals(System.getProperty("user.dir"), evaluate("server.userDir"));
    }

    @Test
    public void assignValueToUserDir()
    {
        assertFinalProperty("server.userDir='1'");
    }

    @Test
    public void dateTime()
    {
        Assert.assertEquals(DateTime.class, evaluate("server.dateTime").getClass());
    }

    @Test
    public void assignValueToDateTime()
    {
        assertFinalProperty("server.dateTime='1'");
    }

    private void checkDatePart(int expected, int tolerance, int maxValue, String expression )
    {
        int current = (int) evaluate(expression);
        current = current >= expected ? current : (current + maxValue);
        Assert.assertTrue(current-expected <= tolerance);
    }

    @Test
    public void dateTimeMilliSeconds()
    {
        checkDatePart(Calendar.getInstance().get(Calendar.MILLISECOND), 1000, 1000, "(int) server.dateTime.milliSeconds");
    }

    @Test
    public void dateTimeIsBefore()
    {
        Calendar cal = Calendar.getInstance();
        cal.add(Calendar.DATE, 1);
        MuleMessage message = new DefaultMuleMessage(new DateTime(cal), muleContext);
        Assert.assertTrue((Boolean) evaluate("server.dateTime.isBefore(payload)", message));

    }

    @Test
    public void dateTimeIsAfter()
    {
        MuleMessage message = new DefaultMuleMessage(new DateTime(Calendar.getInstance()), muleContext);
        Assert.assertTrue((Boolean) evaluate("server.dateTime.isAfter(payload)", message));
    }

    @Test
    public void dateTimeFormat()
    {
        Assert.assertEquals(new SimpleDateFormat("EEE, MMM d, yyyy").format(new Date()),
            evaluate("server.dateTime.format('EEE, MMM d, yyyy')"));
        Assert.assertEquals(
            new SimpleDateFormat("EEE, MMM d, yyyy", LocaleUtils.toLocale("en_US")).format(new Date()),
            evaluate("server.dateTime.withLocale('en_US').format('EEE, MMM d, yyyy')"));
    }

    @Test
    public void dateTimeZone()
    {
        Assert.assertEquals(TimeZone.getDefault().getDisplayName(), evaluate("server.dateTime.timeZone"));
    }

    @Test
    public void dateTimeAddSeconds()
    {
        checkDatePart((Calendar.getInstance().get(Calendar.SECOND) + 1) % 60, 1, 60, "(int) server.dateTime.plusSeconds(1).format('s')");
    }

    @Test
    public void dateTimeAddMinutes()
    {
        checkDatePart((Calendar.getInstance().get(Calendar.MINUTE) + 1) % 60, 1, 60, "(int) server.dateTime.plusMinutes(1).minutes");
    }

    @Test
    public void dateTimeAddHours()
    {
        checkDatePart((Calendar.getInstance().get(Calendar.HOUR_OF_DAY) + 1) % 24, 1, 24, "(int) server.dateTime.plusHours(1).hours");
    }

    @Test
    public void dateTimeAddDays()
    {
        checkDatePart((Calendar.getInstance().get(Calendar.DAY_OF_YEAR) + 1) % 365, 1, 365, "(int) server.dateTime.plusDays(1).dayOfYear");
    }

    @Test
    public void dateTimeAddWeeks()
    {
        checkDatePart((Calendar.getInstance().get(Calendar.WEEK_OF_YEAR) + 1) % 52, 1, 52, "(int) server.dateTime.plusWeeks(1).weekOfYear");
    }

    @Test
    public void dateTimeAddMonths()
    {
        checkDatePart((Calendar.getInstance(Locale.US).get(Calendar.MONTH) + 1) % 12, 1, 12, "(int) server.dateTime.plusMonths(1).month");
    }

    @Test
    public void dateTimeAddYears()
    {
        checkDatePart(Calendar.getInstance(Locale.US).get(Calendar.YEAR) + 1, 1, 3000, "(int) server.dateTime.plusYears(1).format('yyyy')");
    }

    @Test
    public void dateTimeWithTimeZone()
    {
        assertEquals("Central European Time", evaluate("server.dateTime.withTimeZone('CET').timeZone"));
    }

    @Test
    public void dateTimeWithLocale()
    {
        assertEquals(new SimpleDateFormat("E").format(new Date()),
            evaluate("server.dateTime.withLocale('en_US').format('E')"));
        assertEquals(new SimpleDateFormat("E", LocaleUtils.toLocale("es_AR")).format(new Date()),
            evaluate("server.dateTime.withLocale('es_AR').format('E')"));
    }

    @Test
    public void dateTimeSeconds()
    {
        checkDatePart(Calendar.getInstance().get(Calendar.SECOND), 1, 60, "server.dateTime.seconds");
    }

    @Test
    public void dateTimeMinutes()
    {
        checkDatePart(Calendar.getInstance().get(Calendar.MINUTE), 1, 60, "server.dateTime.minutes");
    }

    @Test
    public void dateTimeHour()
    {
        checkDatePart(Calendar.getInstance().get(Calendar.HOUR_OF_DAY), 1, 24, "server.dateTime.hours");
    }

    @Test
    public void dateTimeDayOfWeek()
    {
        checkDatePart(Calendar.getInstance().get(Calendar.DAY_OF_WEEK), 1, 7, "server.dateTime.dayOfWeek");
    }

    @Test
    public void dateTimeDayOfMonth()
    {
        assertEquals(Calendar.getInstance().get(Calendar.DAY_OF_MONTH),
            evaluate("server.dateTime.dayOfMonth"));
    }

    @Test
    public void dateTimeDayOfYear()
    {
        checkDatePart(Calendar.getInstance().get(Calendar.DAY_OF_YEAR), 1, 365, "server.dateTime.dayOfYear");
    }

    @Test
    public void dateTimeWeekOfMonth()
    {
        assertEquals(Calendar.getInstance().get(Calendar.WEEK_OF_MONTH),
            evaluate("server.dateTime.weekOfMonth"));
    }

    @Test
    public void dateTimeWeekOfYear()
    {
        assertEquals(Calendar.getInstance().get(Calendar.WEEK_OF_YEAR),
            evaluate("server.dateTime.weekOfYear"));
    }

    @Test
    public void dateTimeMonthOfYear()
    {
        assertEquals(Calendar.getInstance().get(Calendar.MONTH) + 1, evaluate("server.dateTime.month"));
    }

    @Test
    public void dateTimeToString()
    {
        assertEquals(DatatypeConverter.printDateTime(Calendar.getInstance()).substring(0, 18),
            ((String) evaluate("server.dateTime").toString()).substring(0, 18));
    }

}
TOP

Related Classes of org.mule.el.context.ServerContextTestCase

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.