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

templates.util.ObjectUtilTest.ftl Maven / Gradle / Ivy

Go to download

Maven plugin to generate Java classes from StoredProcedure and Functions in Database

There is a newer version: 1.8.20
Show newest version
package ${javaPackage}.util;

import java.sql.Connection;
import java.sql.SQLException;
<#if driverName == 'oracle'>

import oracle.jdbc.OracleConnection;
<#if driverVersionName != 'ojdbc6' >
import java.sql.Struct;



import org.junit.Assert;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.InjectMocks;
import org.mockito.Mock;
import org.mockito.Mockito;
import org.mockito.runners.MockitoJUnitRunner;

@RunWith(MockitoJUnitRunner.class)
public class ObjectUtilTest {

    @InjectMocks
    ObjectUtilImpl objectUtil;
<#if driverName == 'oracle'>

    @Mock
    private OracleConnection oracleConnection;
<#if driverVersionName != 'ojdbc6' >

    @Mock
    private Struct struct;



    @Mock
    private Connection connection;
<#if driverName == 'oracle' && driverVersionName != 'ojdbc6' >

    @Test
    public void testProcessObject() throws SQLException {
        Object[] objects = new Object[0];

        Mockito.when(connection.unwrap(Mockito.eq(OracleConnection.class))).thenReturn(oracleConnection);
        Mockito.when(oracleConnection.createStruct(Mockito.eq("NAME"), Mockito.same(objects))).thenReturn(struct);

        Object result = objectUtil.process(connection, "NAME", objects);

        Assert.assertNotNull(result);
        Assert.assertSame(struct, result);
    }


    @Test(expected = SQLException.class)
    public void testProcessObjectError() throws SQLException {
        Object[] objects = new Object[0];
<#if driverName == 'oracle' >

        Mockito.when(connection.unwrap(Mockito.eq(OracleConnection.class))).thenReturn(oracleConnection);
<#if driverVersionName != 'ojdbc6' >
        Mockito.when(oracleConnection.createStruct(Mockito.eq("NAME"), Mockito.same(objects))).thenThrow(new RuntimeException());



        objectUtil.process(connection, "NAME", objects);
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy