All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.mockrunner.test.connector.MockConnectionTest Maven / Gradle / Ivy

package com.mockrunner.test.connector;

import java.util.List;

import javax.resource.ResourceException;
import javax.resource.cci.Interaction;
import javax.resource.cci.LocalTransaction;

import junit.framework.TestCase;

import com.mockrunner.mock.connector.cci.MockConnection;
import com.mockrunner.mock.connector.cci.MockConnectionMetaData;
import com.mockrunner.mock.connector.cci.MockInteraction;
import com.mockrunner.mock.connector.cci.MockLocalTransaction;
import com.mockrunner.mock.connector.cci.MockResultSetInfo;

public class MockConnectionTest extends TestCase
{
    private MockConnection connection;

    protected void setUp() throws Exception
    {
        connection = new MockConnection();
    }

    protected void tearDown() throws Exception
    {
        connection = null;
    }
    
    public void testGetInteractionList() throws Exception
    {
        Interaction interaction1 = connection.createInteraction();
        Interaction interaction2 = connection.createInteraction();
        Interaction interaction3 = connection.createInteraction();
        List interactionList = connection.getInteractionList();
        assertEquals(3, interactionList.size());
        assertEquals(interaction1, interactionList.get(0));
        assertEquals(interaction2, interactionList.get(1));
        assertEquals(interaction3, interactionList.get(2));
        try
        {
            interactionList.add(new MockInteraction(connection));
            fail();
        }
        catch(RuntimeException exc)
        {
            //expected exception
        }
    }
    
    public void testClose() throws Exception
    {
        MockInteraction interaction1 = (MockInteraction)connection.createInteraction();
        MockInteraction interaction2 = (MockInteraction)connection.createInteraction();
        MockInteraction interaction3 = (MockInteraction)connection.createInteraction();
        connection.close();
        assertTrue(connection.isClosed());
        assertTrue(interaction1.isClosed());
        assertTrue(interaction2.isClosed());
        assertTrue(interaction3.isClosed());
    }
    
    public void testGetMetaData() throws Exception
    {
        assertTrue(connection.getMetaData() instanceof MockConnectionMetaData);
        MockConnectionMetaData metaData = new MockConnectionMetaData() {};
        connection.setMetaData(metaData);
        assertSame(metaData, connection.getMetaData());
    }
    
    public void testGetResultSetInfo() throws Exception
    {
        assertTrue(connection.getResultSetInfo() instanceof MockResultSetInfo);
        MockResultSetInfo resultSetInfo = new MockResultSetInfo() {};
        connection.setResultSetInfo(resultSetInfo);
        assertSame(resultSetInfo, connection.getResultSetInfo());
    }
    
    public void testGetLocalTransaction() throws Exception
    {
        assertTrue(connection.getLocalTransaction() instanceof MockLocalTransaction);
        MockLocalTransaction localTransaction = new MockLocalTransaction() {};
        connection.setLocalTransaction(localTransaction);
        assertSame(localTransaction, connection.getLocalTransaction());
        assertSame(localTransaction, connection.getMockLocalTransaction());
        LocalTransaction otherLocalTransaction = new TestLocalTransaction() {};
        connection.setLocalTransaction(otherLocalTransaction);
        assertSame(otherLocalTransaction, connection.getLocalTransaction());
        assertNull(connection.getMockLocalTransaction());
    }
    
    private class TestLocalTransaction implements LocalTransaction
    {
        public void begin() throws ResourceException
        {
            
        }

        public void commit() throws ResourceException
        {
            
        }

        public void rollback() throws ResourceException
        {
            
        }
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy