@@ -0,0 +1,2316 @@
+/*%0A * Copyright (C) 2006-2013 Bitronix Software (http://www.bitronix.be)%0A * %0A * Licensed under the Apache License, Version 2.0 (the %22License%22);%0A * you may not use this file except in compliance with the License.%0A * You may obtain a copy of the License at%0A * %0A * http://www.apache.org/licenses/LICENSE-2.0%0A * %0A * Unless required by applicable law or agreed to in writing, software%0A * distributed under the License is distributed on an %22AS IS%22 BASIS,%0A * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.%0A * See the License for the specific language governing permissions and%0A * limitations under the License.%0A */%0Apackage bitronix.tm.resource.jdbc;%0A%0Aimport bitronix.tm.resource.jdbc.PoolingDataSource;%0Aimport bitronix.tm.mock.resource.jdbc.MockitoXADataSource;%0A%0Aimport java.sql.Connection;%0Aimport org.junit.Before;%0Aimport org.junit.Test;%0Aimport org.mockito.InOrder;%0A%0Aimport static org.mockito.Mockito.*;%0A%0Apublic class ConnectionCustomizerTest %7B%0A    private ConnectionCustomizer customizer;%0A%0A    @Before public void setup()%7B%0A        customizer = mock(ConnectionCustomizer.class);%0A    %7D%0A%0A    @Test public void testCustomizerCall() throws Exception%7B%0A        String name = %22pds%22;%0A        PoolingDataSource pds = new PoolingDataSource();%0A        pds.setUniqueName(name);%0A        pds.setXaDataSource(new MockitoXADataSource());%0A        pds.setMinPoolSize(1);%0A        pds.setMaxPoolSize(1);%0A        pds.setXaDataSource(new MockitoXADataSource());%0A        pds.addConnectionCustomizer(customizer);%0A        pds.init();%0A%0A        Connection connection = pds.getConnection(); // onAcquire, onLease%0A        connection.close(); // onRelease%0A%0A        connection = pds.getConnection(); // onLease%0A        connection.close(); // onRelease%0A%0A        pds.close(); // onDestroy%0A%0A        InOrder callOrder = inOrder(customizer);%0A        callOrder.verify(customizer).onAcquire(any(Connection.class), eq(name));%0A        callOrder.verify(customizer).onLease(any(Connection.class), eq(name));%0A        callOrder.verify(customizer).onRelease(any(Connection.class), eq(name));%0A        callOrder.verify(customizer).onLease(any(Connection.class), eq(name));%0A        callOrder.verify(customizer).onRelease(any(Connection.class), eq(name));%0A        callOrder.verify(customizer).onDestroy(any(Connection.class), eq(name));%0A    %7D%0A%7D%0A

Test for ConnectionCustomizer