Package org.jpos.iso.channel

Source Code of org.jpos.iso.channel.VAPChannelTest

/*
* jPOS Project [http://jpos.org]
* Copyright (C) 2000-2014 Alejandro P. Revilla
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program.  If not, see <http://www.gnu.org/licenses/>.
*/

package org.jpos.iso.channel;

import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertSame;
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;
import static org.mockito.BDDMockito.given;

import java.net.ServerSocket;

import org.jpos.core.Configuration;
import org.jpos.core.SimpleConfiguration;
import org.jpos.core.SubConfiguration;
import org.jpos.iso.ISOMsg;
import org.jpos.iso.ISOPackager;
import org.jpos.iso.ISOVMsg;
import org.jpos.iso.SunJSSESocketFactory;
import org.jpos.iso.header.BASE1Header;
import org.jpos.iso.header.BaseHeader;
import org.jpos.iso.packager.Base1Packager;
import org.jpos.iso.packager.Base1SubFieldPackager;
import org.jpos.iso.packager.GenericPackager;
import org.jpos.iso.packager.ISO87BPackager;
import org.jpos.iso.packager.ISO93APackager;
import org.jpos.iso.packager.XMLPackager;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mock;
import org.mockito.runners.MockitoJUnitRunner;

@RunWith(MockitoJUnitRunner.class)
public class VAPChannelTest {

    @Mock
    ISOVMsg m;

    @Test
    public void testConstructor() throws Throwable {
        VAPChannel vAPChannel = new VAPChannel();
        assertEquals("vAPChannel.getIncomingFilters().size()", 0, vAPChannel.getIncomingFilters().size());
        assertEquals("vAPChannel.getMaxPacketLength()", 100000, vAPChannel.getMaxPacketLength());
        assertEquals("vAPChannel.getPort()", 0, vAPChannel.getPort());
        assertEquals("vAPChannel.getName()", "", vAPChannel.getName());
        assertEquals("vAPChannel.getCounters().length", 3, vAPChannel.getCounters().length);
        assertEquals("vAPChannel.srcid", "000000", vAPChannel.srcid);
        assertNull("vAPChannel.getLogger()", vAPChannel.getLogger());
        assertNull("vAPChannel.getSocketFactory()", vAPChannel.getSocketFactory());
        assertNull("vAPChannel.getHeader()", vAPChannel.getHeader());
        assertEquals("vAPChannel.getOutgoingFilters().size()", 0, vAPChannel.getOutgoingFilters().size());
        assertNull("vAPChannel.getServerSocket()", vAPChannel.getServerSocket());
        assertEquals("vAPChannel.getOriginalRealm()", "org.jpos.iso.channel.VAPChannel", vAPChannel.getOriginalRealm());
        assertNull("vAPChannel.getRealm()", vAPChannel.getRealm());
        assertEquals("vAPChannel.dstid", "000000", vAPChannel.dstid);
        assertNull("vAPChannel.getHost()", vAPChannel.getHost());
    }

    @Test
    public void testConstructor1() throws Throwable {
        ISOPackager p = new ISO93APackager();
        ServerSocket serverSocket = new ServerSocket();
        VAPChannel vAPChannel = new VAPChannel(p, serverSocket);
        assertEquals("vAPChannel.getIncomingFilters().size()", 0, vAPChannel.getIncomingFilters().size());
        assertEquals("vAPChannel.getMaxPacketLength()", 100000, vAPChannel.getMaxPacketLength());
        assertSame("vAPChannel.getPackager()", p, vAPChannel.getPackager());
        assertEquals("vAPChannel.getPort()", 0, vAPChannel.getPort());
        assertEquals("vAPChannel.getName()", "", vAPChannel.getName());
        assertEquals("vAPChannel.getCounters().length", 3, vAPChannel.getCounters().length);
        assertNull("vAPChannel.getLogger()", vAPChannel.getLogger());
        assertNull("vAPChannel.getSocketFactory()", vAPChannel.getSocketFactory());
        assertNull("vAPChannel.getHeader()", vAPChannel.getHeader());
        assertEquals("vAPChannel.getOutgoingFilters().size()", 0, vAPChannel.getOutgoingFilters().size());
        assertSame("vAPChannel.getServerSocket()", serverSocket, vAPChannel.getServerSocket());
        assertEquals("vAPChannel.getOriginalRealm()", "org.jpos.iso.channel.VAPChannel", vAPChannel.getOriginalRealm());
        assertNull("vAPChannel.getRealm()", vAPChannel.getRealm());
        assertNull("vAPChannel.getHost()", vAPChannel.getHost());
    }

    @Test
    public void testConstructor2() throws Throwable {
        ISOPackager p = new GenericPackager();
        VAPChannel vAPChannel = new VAPChannel(p);
        assertEquals("vAPChannel.getIncomingFilters().size()", 0, vAPChannel.getIncomingFilters().size());
        assertEquals("vAPChannel.getMaxPacketLength()", 100000, vAPChannel.getMaxPacketLength());
        assertSame("vAPChannel.getPackager()", p, vAPChannel.getPackager());
        assertEquals("vAPChannel.getPort()", 0, vAPChannel.getPort());
        assertEquals("vAPChannel.getName()", "", vAPChannel.getName());
        assertEquals("vAPChannel.getCounters().length", 3, vAPChannel.getCounters().length);
        assertNull("vAPChannel.getLogger()", vAPChannel.getLogger());
        assertNull("vAPChannel.getSocketFactory()", vAPChannel.getSocketFactory());
        assertNull("vAPChannel.getHeader()", vAPChannel.getHeader());
        assertEquals("vAPChannel.getOutgoingFilters().size()", 0, vAPChannel.getOutgoingFilters().size());
        assertNull("vAPChannel.getServerSocket()", vAPChannel.getServerSocket());
        assertEquals("vAPChannel.getOriginalRealm()", "org.jpos.iso.channel.VAPChannel", vAPChannel.getOriginalRealm());
        assertNull("vAPChannel.getRealm()", vAPChannel.getRealm());
        assertNull("vAPChannel.getHost()", vAPChannel.getHost());
    }

    @Test
    public void testGetDynamicHeader() throws Throwable {
        VAPChannel vAPChannel = new VAPChannel();
        byte[] image = new byte[0];
        BASE1Header result = (BASE1Header) vAPChannel.getDynamicHeader(image);
        assertNotNull(result);
        assertTrue("Test completed without Exception", true);
    }

    @Test
    public void testGetDynamicHeaderThrowsNullPointerException() throws Throwable {
        VAPChannel vAPChannel = new VAPChannel();
        try {
            vAPChannel.getDynamicHeader((byte[]) null);
            fail("Expected NullPointerException to be thrown");
        } catch (NullPointerException ex) {
            assertNull("ex.getMessage()", ex.getMessage());
        }
    }

    @Test
    public void testGetMessageLengthThrowsNullPointerException() throws Throwable {
        VAPChannel vAPChannel = new VAPChannel();
        try {
            vAPChannel.getMessageLength();
            fail("Expected NullPointerException to be thrown");
        } catch (NullPointerException ex) {
            assertNull("ex.getMessage()", ex.getMessage());
        }
    }

    @Test
    public void testReadHeaderThrowsNullPointerException() throws Throwable {
        VAPChannel vAPChannel = new VAPChannel();
        try {
            vAPChannel.readHeader(100);
            fail("Expected NullPointerException to be thrown");
        } catch (NullPointerException ex) {
            assertNull("ex.getMessage()", ex.getMessage());
        }
    }

    @Test
    public void testSendMessageHeaderThrowsArrayIndexOutOfBoundsException() throws Throwable {
        VAPChannel vAPChannel = new VAPChannel();
        final byte[] image = new byte[2];
        VAPChannel vAPChannel2 = new VAPChannel(new ISO87BPackager());
        final BASE1Header dynamicHeader = (BASE1Header) vAPChannel2.getDynamicHeader(image);

        given(m.getHeader()).willReturn(image);
        given(m.getISOHeader()).willReturn(dynamicHeader);

        try {
            vAPChannel.sendMessageHeader(m, 100);
            fail("Expected ArrayIndexOutOfBoundsException to be thrown");
        } catch (ArrayIndexOutOfBoundsException ex) {
            assertEquals("ex.getMessage()", "3", ex.getMessage());
        }
    }

    @Test
    public void testSendMessageHeaderThrowsNullPointerException() throws Throwable {
        VAPChannel vAPChannel = new VAPChannel();
        ISOMsg m = new ISOMsg("testVAPChannelMti");
        byte[] b = new byte[0];
        m.setHeader(b);
        try {
            vAPChannel.sendMessageHeader(m, 100);
            fail("Expected NullPointerException to be thrown");
        } catch (NullPointerException ex) {
            assertNull("ex.getMessage()", ex.getMessage());
            assertEquals("m.getDirection()", 0, m.getDirection());
        }
    }

    @Test
    public void testSendMessageHeaderThrowsNullPointerException1() throws Throwable {
        ISOMsg m = new ISOMsg(100);
        VAPChannel vAPChannel = new VAPChannel(new Base1Packager());
        vAPChannel.setConfiguration(new SimpleConfiguration());
        try {
            vAPChannel.sendMessageHeader(m, 100);
            fail("Expected NullPointerException to be thrown");
        } catch (NullPointerException ex) {
            assertNull("ex.getMessage()", ex.getMessage());
        }
    }

    @Test
    public void testSendMessageHeaderThrowsNullPointerException2() throws Throwable {
        VAPChannel vAPChannel = new VAPChannel("testVAPChannelHost", 100, new XMLPackager());
        ISOMsg m = new ISOMsg("testVAPChannelMti");
        m.setHeader(new BaseHeader());
        try {
            vAPChannel.sendMessageHeader(m, 100);
            fail("Expected NullPointerException to be thrown");
        } catch (NullPointerException ex) {
            assertNull("ex.getMessage()", ex.getMessage());
            assertEquals("m.getDirection()", 0, m.getDirection());
        }
    }

    @Test
    public void testSendMessageHeaderThrowsNullPointerException3() throws Throwable {
        VAPChannel vAPChannel = new VAPChannel();
        try {
            vAPChannel.sendMessageHeader(null, 100);
            fail("Expected NullPointerException to be thrown");
        } catch (NullPointerException ex) {
            assertNull("ex.getMessage()", ex.getMessage());
        }
    }

    @Test
    public void testSetConfiguration() throws Throwable {
        VAPChannel vAPChannel = new VAPChannel(new Base1Packager());
        vAPChannel.setSocketFactory(new SunJSSESocketFactory());
        vAPChannel.setConfiguration(new SimpleConfiguration());
        assertEquals("vAPChannel.srcid", "000000", vAPChannel.srcid);
        assertEquals("vAPChannel.dstid", "000000", vAPChannel.dstid);
        assertEquals("vAPChannel.getMaxPacketLength()", 100000, vAPChannel.getMaxPacketLength());
        assertEquals("vAPChannel.getPort()", 0, vAPChannel.getPort());
        assertNull("vAPChannel.getSocket()", vAPChannel.getSocket());
        assertEquals("vAPChannel.getTimeout()", 300000, vAPChannel.getTimeout());
        assertFalse("vAPChannel.isOverrideHeader()", vAPChannel.isOverrideHeader());
        assertNull("vAPChannel.getHost()", vAPChannel.getHost());
    }

    @Test
    public void testSetConfiguration1() throws Throwable {
        VAPChannel vAPChannel = new VAPChannel(new Base1SubFieldPackager());
        vAPChannel.setConfiguration(new SimpleConfiguration());
        assertEquals("vAPChannel.srcid", "000000", vAPChannel.srcid);
        assertEquals("vAPChannel.dstid", "000000", vAPChannel.dstid);
        assertEquals("vAPChannel.getMaxPacketLength()", 100000, vAPChannel.getMaxPacketLength());
        assertEquals("vAPChannel.getPort()", 0, vAPChannel.getPort());
        assertNull("vAPChannel.getSocket()", vAPChannel.getSocket());
        assertEquals("vAPChannel.getTimeout()", 300000, vAPChannel.getTimeout());
        assertFalse("vAPChannel.isOverrideHeader()", vAPChannel.isOverrideHeader());
        assertNull("vAPChannel.getHost()", vAPChannel.getHost());
    }

    @Test
    public void testSetConfigurationThrowsNullPointerException() throws Throwable {
        VAPChannel vAPChannel = new VAPChannel(new GenericPackager());
        Configuration cfg = new SubConfiguration();
        try {
            vAPChannel.setConfiguration(cfg);
            fail("Expected NullPointerException to be thrown");
        } catch (NullPointerException ex) {
            assertNull("ex.getMessage()", ex.getMessage());
            assertEquals("vAPChannel.getMaxPacketLength()", 100000, vAPChannel.getMaxPacketLength());
            assertEquals("vAPChannel.getPort()", 0, vAPChannel.getPort());
            assertNull("vAPChannel.getSocket()", vAPChannel.getSocket());
            assertEquals("vAPChannel.getTimeout()", 0, vAPChannel.getTimeout());
            assertEquals("vAPChannel.srcid", "000000", vAPChannel.srcid);
            assertFalse("vAPChannel.isOverrideHeader()", vAPChannel.isOverrideHeader());
            assertNull("vAPChannel.getHost()", vAPChannel.getHost());
            assertEquals("vAPChannel.dstid", "000000", vAPChannel.dstid);
        }
    }

    @Test
    public void testShouldIgnore() throws Throwable {
        VAPChannel vAPChannel = new VAPChannel();
        byte[] b = new byte[3];
        b[2] = (byte) 3;
        boolean result = vAPChannel.shouldIgnore(b);
        assertTrue("result", result);
    }

    @Test
    public void testShouldIgnore1() throws Throwable {
        byte[] b = new byte[3];
        VAPChannel vAPChannel = new VAPChannel();
        boolean result = vAPChannel.shouldIgnore(b);
        assertFalse("result", result);
    }

    @Test
    public void testShouldIgnore2() throws Throwable {
        VAPChannel vAPChannel = new VAPChannel(new GenericPackager());
        boolean result = vAPChannel.shouldIgnore((byte[]) null);
        assertFalse("result", result);
    }

    @Test
    public void testShouldIgnoreThrowsArrayIndexOutOfBoundsException() throws Throwable {
        VAPChannel vAPChannel = new VAPChannel();
        byte[] b = new byte[0];
        try {
            vAPChannel.shouldIgnore(b);
            fail("Expected ArrayIndexOutOfBoundsException to be thrown");
        } catch (ArrayIndexOutOfBoundsException ex) {
            assertEquals("ex.getMessage()", "2", ex.getMessage());
        }
    }
}
TOP

Related Classes of org.jpos.iso.channel.VAPChannelTest

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.