Package com.alibaba.druid.bvt.pool.exception

Source Code of com.alibaba.druid.bvt.pool.exception.OracleExceptionSorter_userDefined_1

package com.alibaba.druid.bvt.pool.exception;

import java.sql.SQLException;

import junit.framework.TestCase;

import org.junit.Assert;

import com.alibaba.druid.pool.DruidDataSource;
import com.alibaba.druid.pool.vendor.OracleExceptionSorter;
import com.alibaba.druid.stat.JdbcStatManager;
import com.alibaba.druid.test.util.OracleMockDriver;
import com.alibaba.druid.util.JdbcUtils;

public class OracleExceptionSorter_userDefined_1 extends TestCase {

    private DruidDataSource dataSource;

    protected void setUp() throws Exception {
        Assert.assertEquals(0, JdbcStatManager.getInstance().getSqlList().size());

        dataSource = new DruidDataSource();

        dataSource.setExceptionSorter(new OracleExceptionSorter());

        dataSource.setDriver(new OracleMockDriver());
        dataSource.setUrl("jdbc:mock:xxx");
        dataSource.setPoolPreparedStatements(true);
        dataSource.setMaxOpenPreparedStatements(100);
    }

    @Override
    protected void tearDown() throws Exception {
        JdbcUtils.close(dataSource);
    }

    public void test_userDefinedErrorCodes() throws Exception {
        dataSource.init();
       
        dataSource.setConnectionProperties("druid.oracle.fatalErrorCodes=1,2,3,a,");
       
        OracleExceptionSorter sorter = (OracleExceptionSorter) dataSource.getExceptionSorter();
        Assert.assertEquals(3, sorter.getFatalErrorCodes().size());
        Assert.assertTrue(sorter.getFatalErrorCodes().contains(1));
        Assert.assertTrue(sorter.getFatalErrorCodes().contains(2));
        Assert.assertTrue(sorter.getFatalErrorCodes().contains(3));

        Assert.assertTrue(sorter.isExceptionFatal(new SQLException("xx", "xx", 1)));
        Assert.assertTrue(sorter.isExceptionFatal(new SQLException("xx", "xx", 2)));
        Assert.assertTrue(sorter.isExceptionFatal(new SQLException("xx", "xx", 3)));
        Assert.assertFalse(sorter.isExceptionFatal(new SQLException("xx", "xx", 4)));
        Assert.assertTrue(sorter.isExceptionFatal(new SQLException("xx", "xx", 28)));
    }
}
TOP

Related Classes of com.alibaba.druid.bvt.pool.exception.OracleExceptionSorter_userDefined_1

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.