moved jca.* unit tests from .testsuite -> .transaction
This commit is contained in:
@@ -1,147 +0,0 @@
|
||||
/*
|
||||
* Copyright 2002-2005 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.springframework.jca.cci;
|
||||
|
||||
import static org.easymock.EasyMock.*;
|
||||
import static org.junit.Assert.assertTrue;
|
||||
|
||||
import javax.resource.ResourceException;
|
||||
import javax.resource.cci.Connection;
|
||||
import javax.resource.cci.ConnectionFactory;
|
||||
import javax.resource.cci.Interaction;
|
||||
import javax.resource.cci.InteractionSpec;
|
||||
import javax.resource.cci.LocalTransaction;
|
||||
import javax.resource.cci.Record;
|
||||
|
||||
import org.junit.Test;
|
||||
import org.springframework.dao.DataRetrievalFailureException;
|
||||
import org.springframework.jca.cci.core.CciTemplate;
|
||||
import org.springframework.transaction.TransactionStatus;
|
||||
import org.springframework.transaction.support.TransactionCallback;
|
||||
import org.springframework.transaction.support.TransactionCallbackWithoutResult;
|
||||
import org.springframework.transaction.support.TransactionSynchronizationManager;
|
||||
import org.springframework.transaction.support.TransactionTemplate;
|
||||
|
||||
/**
|
||||
* @author Thierry Templier
|
||||
* @author Chris Beams
|
||||
*/
|
||||
public class CciLocalTransactionTests {
|
||||
|
||||
/**
|
||||
* Test if a transaction ( begin / commit ) is executed on the
|
||||
* LocalTransaction when CciLocalTransactionManager is specified as
|
||||
* transaction manager.
|
||||
*/
|
||||
@Test
|
||||
public void testLocalTransactionCommit() throws ResourceException {
|
||||
final ConnectionFactory connectionFactory = createMock(ConnectionFactory.class);
|
||||
Connection connection = createMock(Connection.class);
|
||||
Interaction interaction = createMock(Interaction.class);
|
||||
LocalTransaction localTransaction = createMock(LocalTransaction.class);
|
||||
final Record record = createMock(Record.class);
|
||||
final InteractionSpec interactionSpec = createMock(InteractionSpec.class);
|
||||
|
||||
expect(connectionFactory.getConnection()).andReturn(connection);
|
||||
|
||||
expect(connection.getLocalTransaction()).andReturn(localTransaction);
|
||||
|
||||
localTransaction.begin();
|
||||
|
||||
expect(connection.createInteraction()).andReturn(interaction);
|
||||
|
||||
expect(interaction.execute(interactionSpec, record, record)).andReturn(true);
|
||||
|
||||
interaction.close();
|
||||
|
||||
expect(connection.getLocalTransaction()).andReturn(localTransaction);
|
||||
|
||||
localTransaction.commit();
|
||||
|
||||
connection.close();
|
||||
|
||||
replay(connectionFactory, connection, localTransaction, interaction, record);
|
||||
|
||||
org.springframework.jca.cci.connection.CciLocalTransactionManager tm = new org.springframework.jca.cci.connection.CciLocalTransactionManager();
|
||||
tm.setConnectionFactory(connectionFactory);
|
||||
TransactionTemplate tt = new TransactionTemplate(tm);
|
||||
|
||||
tt.execute(new TransactionCallbackWithoutResult() {
|
||||
protected void doInTransactionWithoutResult(TransactionStatus status) {
|
||||
assertTrue("Has thread connection", TransactionSynchronizationManager.hasResource(connectionFactory));
|
||||
CciTemplate ct = new CciTemplate(connectionFactory);
|
||||
ct.execute(interactionSpec, record, record);
|
||||
}
|
||||
});
|
||||
|
||||
verify(connectionFactory, connection, localTransaction, interaction, record);
|
||||
}
|
||||
|
||||
/**
|
||||
* Test if a transaction ( begin / rollback ) is executed on the
|
||||
* LocalTransaction when CciLocalTransactionManager is specified as
|
||||
* transaction manager and a non-checked exception is thrown.
|
||||
*/
|
||||
@Test
|
||||
public void testLocalTransactionRollback() throws ResourceException {
|
||||
final ConnectionFactory connectionFactory = createMock(ConnectionFactory.class);
|
||||
Connection connection = createMock(Connection.class);
|
||||
Interaction interaction = createMock(Interaction.class);
|
||||
LocalTransaction localTransaction = createMock(LocalTransaction.class);
|
||||
final Record record = createMock(Record.class);
|
||||
final InteractionSpec interactionSpec = createMock(InteractionSpec.class);
|
||||
|
||||
expect(connectionFactory.getConnection()).andReturn(connection);
|
||||
|
||||
expect(connection.getLocalTransaction()).andReturn(localTransaction);
|
||||
|
||||
localTransaction.begin();
|
||||
|
||||
expect(connection.createInteraction()).andReturn(interaction);
|
||||
|
||||
expect(interaction.execute(interactionSpec, record, record)).andReturn(true);
|
||||
|
||||
interaction.close();
|
||||
|
||||
expect(connection.getLocalTransaction()).andReturn(localTransaction);
|
||||
|
||||
localTransaction.rollback();
|
||||
|
||||
connection.close();
|
||||
|
||||
replay(connectionFactory, connection, localTransaction, interaction, record);
|
||||
|
||||
org.springframework.jca.cci.connection.CciLocalTransactionManager tm = new org.springframework.jca.cci.connection.CciLocalTransactionManager();
|
||||
tm.setConnectionFactory(connectionFactory);
|
||||
TransactionTemplate tt = new TransactionTemplate(tm);
|
||||
|
||||
try {
|
||||
tt.execute(new TransactionCallback() {
|
||||
public Object doInTransaction(TransactionStatus status) {
|
||||
assertTrue("Has thread connection", TransactionSynchronizationManager.hasResource(connectionFactory));
|
||||
CciTemplate ct = new CciTemplate(connectionFactory);
|
||||
ct.execute(interactionSpec, record, record);
|
||||
throw new DataRetrievalFailureException("error");
|
||||
}
|
||||
});
|
||||
}
|
||||
catch (Exception ex) {
|
||||
}
|
||||
|
||||
verify(connectionFactory, connection, localTransaction, interaction, record);
|
||||
}
|
||||
}
|
||||
@@ -1,656 +0,0 @@
|
||||
/*
|
||||
* Copyright 2002-2005 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.springframework.jca.cci;
|
||||
|
||||
import static org.easymock.EasyMock.*;
|
||||
import static org.junit.Assert.*;
|
||||
|
||||
import java.sql.SQLException;
|
||||
|
||||
import javax.resource.NotSupportedException;
|
||||
import javax.resource.ResourceException;
|
||||
import javax.resource.cci.Connection;
|
||||
import javax.resource.cci.ConnectionFactory;
|
||||
import javax.resource.cci.ConnectionSpec;
|
||||
import javax.resource.cci.IndexedRecord;
|
||||
import javax.resource.cci.Interaction;
|
||||
import javax.resource.cci.InteractionSpec;
|
||||
import javax.resource.cci.MappedRecord;
|
||||
import javax.resource.cci.Record;
|
||||
import javax.resource.cci.RecordFactory;
|
||||
import javax.resource.cci.ResultSet;
|
||||
|
||||
import org.junit.Test;
|
||||
import org.springframework.jca.cci.connection.ConnectionSpecConnectionFactoryAdapter;
|
||||
import org.springframework.jca.cci.connection.NotSupportedRecordFactory;
|
||||
import org.springframework.jca.cci.core.CciTemplate;
|
||||
import org.springframework.jca.cci.core.ConnectionCallback;
|
||||
import org.springframework.jca.cci.core.InteractionCallback;
|
||||
import org.springframework.jca.cci.core.RecordCreator;
|
||||
import org.springframework.jca.cci.core.RecordExtractor;
|
||||
|
||||
/**
|
||||
* @author Thierry Templier
|
||||
* @author Juergen Hoeller
|
||||
* @author Chris Beams
|
||||
*/
|
||||
public class CciTemplateTests {
|
||||
|
||||
@Test
|
||||
public void testCreateIndexedRecord() throws ResourceException {
|
||||
ConnectionFactory connectionFactory = createMock(ConnectionFactory.class);
|
||||
RecordFactory recordFactory = createMock(RecordFactory.class);
|
||||
IndexedRecord indexedRecord = createMock(IndexedRecord.class);
|
||||
|
||||
expect(connectionFactory.getRecordFactory()).andReturn(recordFactory);
|
||||
|
||||
expect(recordFactory.createIndexedRecord("name")).andReturn(indexedRecord);
|
||||
|
||||
replay(connectionFactory, recordFactory);
|
||||
|
||||
CciTemplate ct = new CciTemplate(connectionFactory);
|
||||
ct.createIndexedRecord("name");
|
||||
|
||||
verify(connectionFactory, recordFactory);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testCreateMappedRecord() throws ResourceException {
|
||||
ConnectionFactory connectionFactory = createMock(ConnectionFactory.class);
|
||||
RecordFactory recordFactory = createMock(RecordFactory.class);
|
||||
MappedRecord mappedRecord = createMock(MappedRecord.class);
|
||||
|
||||
expect(connectionFactory.getRecordFactory()).andReturn(recordFactory);
|
||||
|
||||
expect(recordFactory.createMappedRecord("name")).andReturn(mappedRecord);
|
||||
|
||||
replay(connectionFactory, recordFactory);
|
||||
|
||||
CciTemplate ct = new CciTemplate(connectionFactory);
|
||||
ct.createMappedRecord("name");
|
||||
|
||||
verify(connectionFactory, recordFactory);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testTemplateExecuteInputOutput() throws ResourceException {
|
||||
ConnectionFactory connectionFactory = createMock(ConnectionFactory.class);
|
||||
Connection connection = createMock(Connection.class);
|
||||
Interaction interaction = createMock(Interaction.class);
|
||||
|
||||
Record inputRecord = createMock(Record.class);
|
||||
Record outputRecord = createMock(Record.class);
|
||||
|
||||
InteractionSpec interactionSpec = createMock(InteractionSpec.class);
|
||||
|
||||
expect(connectionFactory.getConnection()).andReturn(connection);
|
||||
|
||||
expect(connection.createInteraction()).andReturn(interaction);
|
||||
|
||||
expect(interaction.execute(interactionSpec, inputRecord, outputRecord)).andReturn(true);
|
||||
|
||||
interaction.close();
|
||||
|
||||
connection.close();
|
||||
|
||||
replay(connectionFactory, connection, interaction);
|
||||
|
||||
CciTemplate ct = new CciTemplate(connectionFactory);
|
||||
ct.execute(interactionSpec, inputRecord, outputRecord);
|
||||
|
||||
verify(connectionFactory, connection, interaction);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testTemplateExecuteWithCreatorAndRecordFactoryNotSupported() throws ResourceException {
|
||||
ConnectionFactory connectionFactory = createMock(ConnectionFactory.class);
|
||||
Connection connection = createMock(Connection.class);
|
||||
Interaction interaction = createMock(Interaction.class);
|
||||
|
||||
Record inputRecord = createMock(Record.class);
|
||||
final Record outputRecord = createMock(Record.class);
|
||||
|
||||
InteractionSpec interactionSpec = createMock(InteractionSpec.class);
|
||||
|
||||
expect(connectionFactory.getConnection()).andReturn(connection);
|
||||
|
||||
expect(connectionFactory.getRecordFactory()).andThrow(new NotSupportedException("not supported"));
|
||||
|
||||
expect(connection.createInteraction()).andReturn(interaction);
|
||||
|
||||
expect(interaction.execute(interactionSpec, inputRecord, outputRecord)).andReturn(true);
|
||||
|
||||
interaction.close();
|
||||
|
||||
connection.close();
|
||||
|
||||
replay(connectionFactory, connection, interaction);
|
||||
|
||||
CciTemplate ct = new CciTemplate(connectionFactory);
|
||||
ct.setOutputRecordCreator(new RecordCreator() {
|
||||
public Record createRecord(RecordFactory recordFactory) {
|
||||
assertTrue(recordFactory instanceof NotSupportedRecordFactory);
|
||||
return outputRecord;
|
||||
}
|
||||
});
|
||||
ct.execute(interactionSpec, inputRecord);
|
||||
|
||||
verify(connectionFactory, connection, interaction);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testTemplateExecuteInputTrueWithCreator2() throws ResourceException {
|
||||
ConnectionFactory connectionFactory = createMock(ConnectionFactory.class);
|
||||
RecordFactory recordFactory = createMock(RecordFactory.class);
|
||||
Connection connection = createMock(Connection.class);
|
||||
Interaction interaction = createMock(Interaction.class);
|
||||
RecordCreator creator = createMock(RecordCreator.class);
|
||||
|
||||
Record inputRecord = createMock(Record.class);
|
||||
final Record outputRecord = createMock(Record.class);
|
||||
|
||||
InteractionSpec interactionSpec = createMock(InteractionSpec.class);
|
||||
|
||||
expect(connectionFactory.getConnection()).andReturn(connection);
|
||||
|
||||
expect(connectionFactory.getRecordFactory()).andReturn(recordFactory);
|
||||
|
||||
expect(connection.createInteraction()).andReturn(interaction);
|
||||
|
||||
expect(creator.createRecord(recordFactory)).andReturn(outputRecord);
|
||||
|
||||
expect(interaction.execute(interactionSpec, inputRecord, outputRecord)).andReturn(true);
|
||||
|
||||
interaction.close();
|
||||
|
||||
connection.close();
|
||||
|
||||
replay(connectionFactory, connection, interaction, creator);
|
||||
|
||||
CciTemplate ct = new CciTemplate(connectionFactory);
|
||||
ct.setOutputRecordCreator(creator);
|
||||
ct.execute(interactionSpec, inputRecord);
|
||||
|
||||
verify(connectionFactory, connection, interaction, creator);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testTemplateExecuteInputFalse() throws ResourceException {
|
||||
ConnectionFactory connectionFactory = createMock(ConnectionFactory.class);
|
||||
Connection connection = createMock(Connection.class);
|
||||
Interaction interaction = createMock(Interaction.class);
|
||||
|
||||
Record inputRecord = createMock(Record.class);
|
||||
Record outputRecord = createMock(Record.class);
|
||||
|
||||
InteractionSpec interactionSpec = createMock(InteractionSpec.class);
|
||||
|
||||
expect(connectionFactory.getConnection()).andReturn(connection);
|
||||
|
||||
expect(connection.createInteraction()).andReturn(interaction);
|
||||
|
||||
expect(interaction.execute(interactionSpec, inputRecord)).andReturn(outputRecord);
|
||||
|
||||
interaction.close();
|
||||
|
||||
connection.close();
|
||||
|
||||
replay(connectionFactory, connection, interaction);
|
||||
|
||||
CciTemplate ct = new CciTemplate(connectionFactory);
|
||||
ct.execute(interactionSpec, inputRecord);
|
||||
|
||||
verify(connectionFactory, connection, interaction);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testTemplateExecuteInputExtractorTrueWithCreator() throws ResourceException, SQLException {
|
||||
ConnectionFactory connectionFactory = createMock(ConnectionFactory.class);
|
||||
RecordFactory recordFactory = createMock(RecordFactory.class);
|
||||
Connection connection = createMock(Connection.class);
|
||||
Interaction interaction = createMock(Interaction.class);
|
||||
RecordExtractor<?> extractor = createMock(RecordExtractor.class);
|
||||
RecordCreator creator = createMock(RecordCreator.class);
|
||||
|
||||
Record inputRecord = createMock(Record.class);
|
||||
Record outputRecord = createMock(Record.class);
|
||||
|
||||
InteractionSpec interactionSpec = createMock(InteractionSpec.class);
|
||||
|
||||
expect(connectionFactory.getConnection()).andReturn(connection);
|
||||
|
||||
expect(connection.createInteraction()).andReturn(interaction);
|
||||
|
||||
expect(connectionFactory.getRecordFactory()).andReturn(recordFactory);
|
||||
|
||||
expect(creator.createRecord(recordFactory)).andReturn(outputRecord);
|
||||
|
||||
expect(interaction.execute(interactionSpec, inputRecord, outputRecord)).andReturn(true);
|
||||
|
||||
expect(extractor.extractData(outputRecord)).andStubReturn(new Object());
|
||||
|
||||
interaction.close();
|
||||
|
||||
connection.close();
|
||||
|
||||
replay(connectionFactory, connection, interaction, extractor, creator);
|
||||
|
||||
CciTemplate ct = new CciTemplate(connectionFactory);
|
||||
ct.setOutputRecordCreator(creator);
|
||||
ct.execute(interactionSpec, inputRecord, extractor);
|
||||
|
||||
verify(connectionFactory, connection, interaction, extractor, creator);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testTemplateExecuteInputExtractorFalse() throws ResourceException, SQLException {
|
||||
ConnectionFactory connectionFactory = createMock(ConnectionFactory.class);
|
||||
Connection connection = createMock(Connection.class);
|
||||
Interaction interaction = createMock(Interaction.class);
|
||||
RecordExtractor<?> extractor = createMock(RecordExtractor.class);
|
||||
|
||||
Record inputRecord = createMock(Record.class);
|
||||
Record outputRecord = createMock(Record.class);
|
||||
|
||||
InteractionSpec interactionSpec = createMock(InteractionSpec.class);
|
||||
|
||||
expect(connectionFactory.getConnection()).andReturn(connection);
|
||||
|
||||
expect(connection.createInteraction()).andReturn(interaction);
|
||||
|
||||
expect(interaction.execute(interactionSpec, inputRecord)).andReturn(outputRecord);
|
||||
|
||||
expect(extractor.extractData(outputRecord)).andStubReturn(new Object());
|
||||
|
||||
interaction.close();
|
||||
|
||||
connection.close();
|
||||
|
||||
replay(connectionFactory, connection, interaction, extractor);
|
||||
|
||||
CciTemplate ct = new CciTemplate(connectionFactory);
|
||||
ct.execute(interactionSpec, inputRecord, extractor);
|
||||
|
||||
verify(connectionFactory, connection, interaction, extractor);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testTemplateExecuteInputGeneratorTrueWithCreator() throws ResourceException {
|
||||
ConnectionFactory connectionFactory = createMock(ConnectionFactory.class);
|
||||
RecordFactory recordFactory = createMock(RecordFactory.class);
|
||||
Connection connection = createMock(Connection.class);
|
||||
Interaction interaction = createMock(Interaction.class);
|
||||
RecordCreator generator = createMock(RecordCreator.class);
|
||||
RecordCreator creator = createMock(RecordCreator.class);
|
||||
|
||||
Record inputRecord = createMock(Record.class);
|
||||
Record outputRecord = createMock(Record.class);
|
||||
|
||||
InteractionSpec interactionSpec = createMock(InteractionSpec.class);
|
||||
|
||||
expect(connectionFactory.getRecordFactory()).andReturn(recordFactory);
|
||||
|
||||
expect(generator.createRecord(recordFactory)).andReturn(inputRecord);
|
||||
|
||||
expect(connectionFactory.getConnection()).andReturn(connection);
|
||||
|
||||
expect(connection.createInteraction()).andReturn(interaction);
|
||||
|
||||
expect(creator.createRecord(recordFactory)).andReturn(outputRecord);
|
||||
|
||||
expect(connectionFactory.getRecordFactory()).andReturn(recordFactory);
|
||||
|
||||
expect(interaction.execute(interactionSpec, inputRecord, outputRecord)).andReturn(true);
|
||||
|
||||
interaction.close();
|
||||
|
||||
connection.close();
|
||||
|
||||
replay(connectionFactory, connection, interaction, generator, creator);
|
||||
|
||||
CciTemplate ct = new CciTemplate(connectionFactory);
|
||||
ct.setOutputRecordCreator(creator);
|
||||
ct.execute(interactionSpec, generator);
|
||||
|
||||
verify(connectionFactory, connection, interaction, generator, creator);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testTemplateExecuteInputGeneratorFalse() throws ResourceException {
|
||||
ConnectionFactory connectionFactory = createMock(ConnectionFactory.class);
|
||||
RecordFactory recordFactory = createMock(RecordFactory.class);
|
||||
Connection connection = createMock(Connection.class);
|
||||
Interaction interaction = createMock(Interaction.class);
|
||||
RecordCreator generator = createMock(RecordCreator.class);
|
||||
|
||||
Record inputRecord = createMock(Record.class);
|
||||
Record outputRecord = createMock(Record.class);
|
||||
|
||||
InteractionSpec interactionSpec = createMock(InteractionSpec.class);
|
||||
|
||||
expect(connectionFactory.getRecordFactory()).andReturn(recordFactory);
|
||||
|
||||
expect(connectionFactory.getConnection()).andReturn(connection);
|
||||
|
||||
expect(connection.createInteraction()).andReturn(interaction);
|
||||
|
||||
expect(generator.createRecord(recordFactory)).andReturn(inputRecord);
|
||||
|
||||
expect(interaction.execute(interactionSpec, inputRecord)).andReturn(outputRecord);
|
||||
|
||||
interaction.close();
|
||||
|
||||
connection.close();
|
||||
|
||||
replay(connectionFactory, connection, interaction, generator);
|
||||
|
||||
CciTemplate ct = new CciTemplate(connectionFactory);
|
||||
ct.execute(interactionSpec, generator);
|
||||
|
||||
verify(connectionFactory, connection, interaction, generator);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testTemplateExecuteInputGeneratorExtractorTrueWithCreator() throws ResourceException, SQLException {
|
||||
ConnectionFactory connectionFactory = createMock(ConnectionFactory.class);
|
||||
RecordFactory recordFactory = createMock(RecordFactory.class);
|
||||
Connection connection = createMock(Connection.class);
|
||||
Interaction interaction = createMock(Interaction.class);
|
||||
RecordCreator generator = createMock(RecordCreator.class);
|
||||
RecordExtractor<?> extractor = createMock(RecordExtractor.class);
|
||||
RecordCreator creator = createMock(RecordCreator.class);
|
||||
|
||||
Record inputRecord = createMock(Record.class);
|
||||
Record outputRecord = createMock(Record.class);
|
||||
|
||||
Object obj = new Object();
|
||||
|
||||
InteractionSpec interactionSpec = createMock(InteractionSpec.class);
|
||||
|
||||
expect(connectionFactory.getRecordFactory()).andReturn(recordFactory);
|
||||
|
||||
expect(connectionFactory.getConnection()).andReturn(connection);
|
||||
|
||||
expect(connection.createInteraction()).andReturn(interaction);
|
||||
|
||||
expect(creator.createRecord(recordFactory)).andReturn(outputRecord);
|
||||
|
||||
expect(connectionFactory.getRecordFactory()).andReturn(recordFactory);
|
||||
|
||||
expect(generator.createRecord(recordFactory)).andReturn(inputRecord);
|
||||
|
||||
expect(interaction.execute(interactionSpec, inputRecord, outputRecord)).andReturn(true);
|
||||
|
||||
expect(extractor.extractData(outputRecord)).andStubReturn(obj);
|
||||
|
||||
interaction.close();
|
||||
|
||||
connection.close();
|
||||
|
||||
replay(connectionFactory, connection, interaction, generator, creator, extractor);
|
||||
|
||||
CciTemplate ct = new CciTemplate(connectionFactory);
|
||||
ct.setOutputRecordCreator(creator);
|
||||
assertEquals(obj, ct.execute(interactionSpec, generator, extractor));
|
||||
|
||||
verify(connectionFactory, connection, interaction, generator, creator, extractor);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testTemplateExecuteInputGeneratorExtractorFalse() throws ResourceException, SQLException {
|
||||
ConnectionFactory connectionFactory = createMock(ConnectionFactory.class);
|
||||
RecordFactory recordFactory = createMock(RecordFactory.class);
|
||||
Connection connection = createMock(Connection.class);
|
||||
Interaction interaction = createMock(Interaction.class);
|
||||
RecordCreator generator = createMock(RecordCreator.class);
|
||||
RecordExtractor<?> extractor = createMock(RecordExtractor.class);
|
||||
|
||||
Record inputRecord = createMock(Record.class);
|
||||
Record outputRecord = createMock(Record.class);
|
||||
|
||||
InteractionSpec interactionSpec = createMock(InteractionSpec.class);
|
||||
|
||||
expect(connectionFactory.getRecordFactory()).andReturn(recordFactory);
|
||||
|
||||
expect(connectionFactory.getConnection()).andReturn(connection);
|
||||
|
||||
expect(connection.createInteraction()).andReturn(interaction);
|
||||
|
||||
expect(generator.createRecord(recordFactory)).andReturn(inputRecord);
|
||||
|
||||
expect(interaction.execute(interactionSpec, inputRecord)).andReturn(outputRecord);
|
||||
|
||||
expect(extractor.extractData(outputRecord)).andStubReturn(new Object());
|
||||
|
||||
interaction.close();
|
||||
|
||||
connection.close();
|
||||
|
||||
replay(connectionFactory, connection, interaction, generator, extractor);
|
||||
|
||||
CciTemplate ct = new CciTemplate(connectionFactory);
|
||||
ct.execute(interactionSpec, generator, extractor);
|
||||
|
||||
verify(connectionFactory, connection, interaction, generator, extractor);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testTemplateExecuteInputOutputConnectionSpec() throws ResourceException {
|
||||
ConnectionFactory connectionFactory = createMock(ConnectionFactory.class);
|
||||
ConnectionSpec connectionSpec = createMock(ConnectionSpec.class);
|
||||
Connection connection = createMock(Connection.class);
|
||||
Interaction interaction = createMock(Interaction.class);
|
||||
|
||||
Record inputRecord = createMock(Record.class);
|
||||
Record outputRecord = createMock(Record.class);
|
||||
|
||||
InteractionSpec interactionSpec = createMock(InteractionSpec.class);
|
||||
|
||||
|
||||
expect(connectionFactory.getConnection(connectionSpec)).andReturn(connection);
|
||||
|
||||
expect(connection.createInteraction()).andReturn(interaction);
|
||||
|
||||
expect(interaction.execute(interactionSpec, inputRecord, outputRecord)).andReturn(true);
|
||||
|
||||
interaction.close();
|
||||
|
||||
connection.close();
|
||||
|
||||
replay(connectionFactory, connection, interaction);
|
||||
|
||||
ConnectionSpecConnectionFactoryAdapter adapter = new ConnectionSpecConnectionFactoryAdapter();
|
||||
adapter.setTargetConnectionFactory(connectionFactory);
|
||||
adapter.setConnectionSpec(connectionSpec);
|
||||
CciTemplate ct = new CciTemplate(adapter);
|
||||
ct.execute(interactionSpec, inputRecord, outputRecord);
|
||||
|
||||
verify(connectionFactory, connection, interaction);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testTemplateExecuteInputOutputResultsSetFalse() throws ResourceException, SQLException {
|
||||
ConnectionFactory connectionFactory = createMock(ConnectionFactory.class);
|
||||
RecordFactory recordFactory = createMock(RecordFactory.class);
|
||||
Connection connection = createMock(Connection.class);
|
||||
Interaction interaction = createMock(Interaction.class);
|
||||
Record record = createMock(Record.class);
|
||||
ResultSet resultset = createMock(ResultSet.class);
|
||||
RecordCreator generator = createMock(RecordCreator.class);
|
||||
RecordExtractor<?> extractor = createMock(RecordExtractor.class);
|
||||
|
||||
InteractionSpec interactionSpec = createMock(InteractionSpec.class);
|
||||
|
||||
expect(connectionFactory.getRecordFactory()).andReturn(recordFactory);
|
||||
|
||||
expect(connectionFactory.getConnection()).andReturn(connection);
|
||||
|
||||
expect(connection.createInteraction()).andReturn(interaction);
|
||||
|
||||
expect(generator.createRecord(recordFactory)).andReturn(record);
|
||||
|
||||
expect(interaction.execute(interactionSpec, record)).andReturn(resultset);
|
||||
|
||||
expect(extractor.extractData(resultset)).andStubReturn(new Object());
|
||||
|
||||
resultset.close();
|
||||
|
||||
interaction.close();
|
||||
|
||||
connection.close();
|
||||
|
||||
replay(connectionFactory, connection, interaction, generator, extractor, resultset);
|
||||
|
||||
CciTemplate ct = new CciTemplate(connectionFactory);
|
||||
ct.execute(interactionSpec, generator, extractor);
|
||||
|
||||
verify(connectionFactory, connection, interaction, generator, extractor, resultset);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testTemplateExecuteConnectionCallback() throws ResourceException, SQLException {
|
||||
ConnectionFactory connectionFactory = createMock(ConnectionFactory.class);
|
||||
Connection connection = createMock(Connection.class);
|
||||
ConnectionCallback<?> connectionCallback = createMock(ConnectionCallback.class);
|
||||
|
||||
expect(connectionFactory.getConnection()).andReturn(connection);
|
||||
|
||||
expect(connectionCallback.doInConnection(connection, connectionFactory)).andStubReturn(new Object());
|
||||
|
||||
connection.close();
|
||||
|
||||
replay(connectionFactory, connection, connectionCallback);
|
||||
|
||||
CciTemplate ct = new CciTemplate(connectionFactory);
|
||||
ct.execute(connectionCallback);
|
||||
|
||||
verify(connectionFactory, connection, connectionCallback);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testTemplateExecuteInteractionCallback() throws ResourceException, SQLException {
|
||||
ConnectionFactory connectionFactory = createMock(ConnectionFactory.class);
|
||||
Connection connection = createMock(Connection.class);
|
||||
Interaction interaction = createMock(Interaction.class);
|
||||
InteractionCallback<?> interactionCallback = createMock(InteractionCallback.class);
|
||||
|
||||
expect(connectionFactory.getConnection()).andReturn(connection);
|
||||
|
||||
expect(connection.createInteraction()).andReturn(interaction);
|
||||
|
||||
expect(interactionCallback.doInInteraction(interaction, connectionFactory)).andStubReturn(new Object());
|
||||
|
||||
interaction.close();
|
||||
|
||||
connection.close();
|
||||
|
||||
replay(connectionFactory, connection, interaction, interactionCallback);
|
||||
|
||||
CciTemplate ct = new CciTemplate(connectionFactory);
|
||||
ct.execute(interactionCallback);
|
||||
|
||||
verify(connectionFactory, connection, interaction, interactionCallback);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testTemplateExecuteInputTrueTrueWithCreator() throws ResourceException {
|
||||
ConnectionFactory connectionFactory = createMock(ConnectionFactory.class);
|
||||
Connection connection = createMock(Connection.class);
|
||||
Interaction interaction = createMock(Interaction.class);
|
||||
RecordCreator creator = createMock(RecordCreator.class);
|
||||
|
||||
Record inputOutputRecord = createMock(Record.class);
|
||||
|
||||
InteractionSpec interactionSpec = createMock(InteractionSpec.class);
|
||||
|
||||
expect(connectionFactory.getConnection()).andReturn(connection);
|
||||
|
||||
expect(connection.createInteraction()).andReturn(interaction);
|
||||
|
||||
expect(interaction.execute(interactionSpec, inputOutputRecord, inputOutputRecord)).andReturn(true);
|
||||
|
||||
interaction.close();
|
||||
|
||||
connection.close();
|
||||
|
||||
replay(connectionFactory, connection, interaction, creator);
|
||||
|
||||
CciTemplate ct = new CciTemplate(connectionFactory);
|
||||
ct.setOutputRecordCreator(creator);
|
||||
ct.execute(interactionSpec, inputOutputRecord, inputOutputRecord);
|
||||
|
||||
verify(connectionFactory, connection, interaction, creator);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testTemplateExecuteInputTrueTrue() throws ResourceException {
|
||||
ConnectionFactory connectionFactory = createMock(ConnectionFactory.class);
|
||||
Connection connection = createMock(Connection.class);
|
||||
Interaction interaction = createMock(Interaction.class);
|
||||
|
||||
Record inputOutputRecord = createMock(Record.class);
|
||||
|
||||
InteractionSpec interactionSpec = createMock(InteractionSpec.class);
|
||||
|
||||
expect(connectionFactory.getConnection()).andReturn(connection);
|
||||
|
||||
expect(connection.createInteraction()).andReturn(interaction);
|
||||
|
||||
expect(interaction.execute(interactionSpec, inputOutputRecord, inputOutputRecord)).andReturn(true);
|
||||
|
||||
interaction.close();
|
||||
|
||||
connection.close();
|
||||
|
||||
replay(connectionFactory, connection, interaction);
|
||||
|
||||
CciTemplate ct = new CciTemplate(connectionFactory);
|
||||
ct.execute(interactionSpec, inputOutputRecord, inputOutputRecord);
|
||||
|
||||
verify(connectionFactory, connection, interaction);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testTemplateExecuteInputFalseTrue() throws ResourceException {
|
||||
ConnectionFactory connectionFactory = createMock(ConnectionFactory.class);
|
||||
Connection connection = createMock(Connection.class);
|
||||
Interaction interaction = createMock(Interaction.class);
|
||||
|
||||
Record inputOutputRecord = createMock(Record.class);
|
||||
|
||||
InteractionSpec interactionSpec = createMock(InteractionSpec.class);
|
||||
|
||||
expect(connectionFactory.getConnection()).andReturn(connection);
|
||||
|
||||
expect(connection.createInteraction()).andReturn(interaction);
|
||||
|
||||
expect(interaction.execute(interactionSpec, inputOutputRecord)).andReturn(null);
|
||||
|
||||
interaction.close();
|
||||
|
||||
connection.close();
|
||||
|
||||
replay(connectionFactory, connection, interaction);
|
||||
|
||||
CciTemplate ct = new CciTemplate(connectionFactory);
|
||||
Record tmpOutputRecord = (Record) ct.execute(interactionSpec, inputOutputRecord);
|
||||
assertNull(tmpOutputRecord);
|
||||
|
||||
verify(connectionFactory, connection, interaction);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,253 +0,0 @@
|
||||
/*
|
||||
* Copyright 2002-2005 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.springframework.jca.cci;
|
||||
|
||||
import static org.easymock.EasyMock.*;
|
||||
import static org.junit.Assert.assertSame;
|
||||
|
||||
import javax.resource.ResourceException;
|
||||
import javax.resource.cci.Connection;
|
||||
import javax.resource.cci.ConnectionFactory;
|
||||
import javax.resource.cci.Interaction;
|
||||
import javax.resource.cci.InteractionSpec;
|
||||
import javax.resource.cci.Record;
|
||||
import javax.resource.cci.RecordFactory;
|
||||
|
||||
import org.junit.Test;
|
||||
import org.springframework.jca.cci.core.RecordCreator;
|
||||
import org.springframework.jca.cci.object.MappingRecordOperation;
|
||||
import org.springframework.jca.cci.object.SimpleRecordOperation;
|
||||
|
||||
/**
|
||||
* @author Thierry Templier
|
||||
* @author Chris Beams
|
||||
*/
|
||||
public class EisOperationTests {
|
||||
|
||||
@Test
|
||||
public void testSimpleRecordOperation() throws ResourceException {
|
||||
ConnectionFactory connectionFactory = createMock(ConnectionFactory.class);
|
||||
Connection connection = createMock(Connection.class);
|
||||
Interaction interaction = createMock(Interaction.class);
|
||||
|
||||
Record inputRecord = createMock(Record.class);
|
||||
Record outputRecord = createMock(Record.class);
|
||||
|
||||
InteractionSpec interactionSpec = createMock(InteractionSpec.class);
|
||||
|
||||
SimpleRecordOperation query = new SimpleRecordOperation(connectionFactory, interactionSpec);
|
||||
|
||||
expect(connectionFactory.getConnection()).andReturn(connection);
|
||||
|
||||
expect(connection.createInteraction()).andReturn(interaction);
|
||||
|
||||
expect(interaction.execute(interactionSpec, inputRecord)).andReturn(outputRecord);
|
||||
|
||||
interaction.close();
|
||||
|
||||
connection.close();
|
||||
|
||||
replay(connectionFactory, connection, interaction);
|
||||
|
||||
query.execute(inputRecord);
|
||||
|
||||
verify(connectionFactory, connection, interaction);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testSimpleRecordOperationWithExplicitOutputRecord() throws ResourceException {
|
||||
ConnectionFactory connectionFactory = createMock(ConnectionFactory.class);
|
||||
Connection connection = createMock(Connection.class);
|
||||
Interaction interaction = createMock(Interaction.class);
|
||||
|
||||
Record inputRecord = createMock(Record.class);
|
||||
Record outputRecord = createMock(Record.class);
|
||||
|
||||
InteractionSpec interactionSpec = createMock(InteractionSpec.class);
|
||||
|
||||
SimpleRecordOperation operation = new SimpleRecordOperation(connectionFactory, interactionSpec);
|
||||
|
||||
expect(connectionFactory.getConnection()).andReturn(connection);
|
||||
|
||||
expect(connection.createInteraction()).andReturn(interaction);
|
||||
|
||||
expect(interaction.execute(interactionSpec, inputRecord, outputRecord)).andReturn(true);
|
||||
|
||||
interaction.close();
|
||||
|
||||
connection.close();
|
||||
|
||||
replay(connectionFactory, connection, interaction);
|
||||
|
||||
operation.execute(inputRecord, outputRecord);
|
||||
|
||||
verify(connectionFactory, connection, interaction);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testSimpleRecordOperationWithInputOutputRecord() throws ResourceException {
|
||||
ConnectionFactory connectionFactory = createMock(ConnectionFactory.class);
|
||||
Connection connection = createMock(Connection.class);
|
||||
Interaction interaction = createMock(Interaction.class);
|
||||
|
||||
Record inputOutputRecord = createMock(Record.class);
|
||||
|
||||
InteractionSpec interactionSpec = createMock(InteractionSpec.class);
|
||||
|
||||
SimpleRecordOperation query = new SimpleRecordOperation(connectionFactory, interactionSpec);
|
||||
|
||||
expect(connectionFactory.getConnection()).andReturn(connection);
|
||||
|
||||
expect(connection.createInteraction()).andReturn(interaction);
|
||||
|
||||
expect(interaction.execute(interactionSpec, inputOutputRecord, inputOutputRecord)).andReturn(true);
|
||||
|
||||
interaction.close();
|
||||
|
||||
connection.close();
|
||||
|
||||
replay(connectionFactory, connection, interaction);
|
||||
|
||||
query.execute(inputOutputRecord, inputOutputRecord);
|
||||
|
||||
verify(connectionFactory, connection, interaction);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testMappingRecordOperation() throws ResourceException {
|
||||
ConnectionFactory connectionFactory = createMock(ConnectionFactory.class);
|
||||
Connection connection = createMock(Connection.class);
|
||||
Interaction interaction = createMock(Interaction.class);
|
||||
RecordFactory recordFactory = createMock(RecordFactory.class);
|
||||
|
||||
Record inputRecord = createMock(Record.class);
|
||||
Record outputRecord = createMock(Record.class);
|
||||
|
||||
InteractionSpec interactionSpec = createMock(InteractionSpec.class);
|
||||
|
||||
QueryCallDetector callDetector = createMock(QueryCallDetector.class);
|
||||
|
||||
MappingRecordOperationImpl query = new MappingRecordOperationImpl(connectionFactory, interactionSpec);
|
||||
query.setCallDetector(callDetector);
|
||||
|
||||
Object inObj = new Object();
|
||||
Object outObj = new Object();
|
||||
|
||||
expect(connectionFactory.getRecordFactory()).andReturn(recordFactory);
|
||||
|
||||
expect(callDetector.callCreateInputRecord(recordFactory, inObj)).andReturn(inputRecord);
|
||||
|
||||
expect(connectionFactory.getConnection()).andReturn(connection);
|
||||
|
||||
expect(connection.createInteraction()).andReturn(interaction);
|
||||
|
||||
expect(interaction.execute(interactionSpec, inputRecord)).andReturn(outputRecord);
|
||||
|
||||
expect(callDetector.callExtractOutputData(outputRecord)).andReturn(outObj);
|
||||
|
||||
interaction.close();
|
||||
|
||||
connection.close();
|
||||
|
||||
replay(connectionFactory, connection, interaction, callDetector);
|
||||
|
||||
assertSame(outObj, query.execute(inObj));
|
||||
|
||||
verify(connectionFactory, connection, interaction, callDetector);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testMappingRecordOperationWithOutputRecordCreator() throws ResourceException {
|
||||
ConnectionFactory connectionFactory = createMock(ConnectionFactory.class);
|
||||
Connection connection = createMock(Connection.class);
|
||||
Interaction interaction = createMock(Interaction.class);
|
||||
RecordFactory recordFactory = createMock(RecordFactory.class);
|
||||
|
||||
Record inputRecord = createMock(Record.class);
|
||||
Record outputRecord = createMock(Record.class);
|
||||
|
||||
RecordCreator outputCreator = createMock(RecordCreator.class);
|
||||
|
||||
InteractionSpec interactionSpec = createMock(InteractionSpec.class);
|
||||
|
||||
QueryCallDetector callDetector = createMock(QueryCallDetector.class);
|
||||
|
||||
MappingRecordOperationImpl query = new MappingRecordOperationImpl(connectionFactory, interactionSpec);
|
||||
query.setOutputRecordCreator(outputCreator);
|
||||
query.setCallDetector(callDetector);
|
||||
|
||||
Object inObj = new Object();
|
||||
Object outObj = new Object();
|
||||
|
||||
expect(connectionFactory.getRecordFactory()).andReturn(recordFactory);
|
||||
|
||||
expect(callDetector.callCreateInputRecord(recordFactory, inObj)).andReturn(inputRecord);
|
||||
|
||||
expect(connectionFactory.getConnection()).andReturn(connection);
|
||||
|
||||
expect(connection.createInteraction()).andReturn(interaction);
|
||||
|
||||
expect(connectionFactory.getRecordFactory()).andReturn(recordFactory);
|
||||
|
||||
expect(outputCreator.createRecord(recordFactory)).andReturn(outputRecord);
|
||||
|
||||
expect(interaction.execute(interactionSpec, inputRecord, outputRecord)).andReturn(true);
|
||||
|
||||
expect(callDetector.callExtractOutputData(outputRecord)).andReturn(outObj);
|
||||
|
||||
interaction.close();
|
||||
|
||||
connection.close();
|
||||
|
||||
replay(connectionFactory, connection, interaction, outputCreator, callDetector);
|
||||
|
||||
assertSame(outObj, query.execute(inObj));
|
||||
|
||||
verify(connectionFactory, connection, interaction, outputCreator, callDetector);
|
||||
}
|
||||
|
||||
|
||||
private class MappingRecordOperationImpl extends MappingRecordOperation {
|
||||
|
||||
private QueryCallDetector callDetector;
|
||||
|
||||
public MappingRecordOperationImpl(ConnectionFactory connectionFactory, InteractionSpec interactionSpec) {
|
||||
super(connectionFactory, interactionSpec);
|
||||
}
|
||||
|
||||
public void setCallDetector(QueryCallDetector callDetector) {
|
||||
this.callDetector = callDetector;
|
||||
}
|
||||
|
||||
protected Record createInputRecord(RecordFactory recordFactory, Object inputObject) {
|
||||
return this.callDetector.callCreateInputRecord(recordFactory, inputObject);
|
||||
}
|
||||
|
||||
protected Object extractOutputData(Record outputRecord) throws ResourceException {
|
||||
return this.callDetector.callExtractOutputData(outputRecord);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private interface QueryCallDetector {
|
||||
|
||||
Record callCreateInputRecord(RecordFactory recordFactory, Object inputObject);
|
||||
|
||||
Object callExtractOutputData(Record outputRecord);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,92 +0,0 @@
|
||||
/*
|
||||
* Copyright 2002-2006 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.springframework.jca.support;
|
||||
|
||||
import junit.framework.TestCase;
|
||||
import org.easymock.MockControl;
|
||||
import org.springframework.test.AssertThrows;
|
||||
|
||||
import javax.resource.spi.ConnectionManager;
|
||||
import javax.resource.spi.ManagedConnectionFactory;
|
||||
|
||||
/**
|
||||
* Unit tests for the {@link LocalConnectionFactoryBean} class.
|
||||
*
|
||||
* @author Rick Evans
|
||||
*/
|
||||
public final class LocalConnectionFactoryBeanTests extends TestCase {
|
||||
|
||||
public void testManagedConnectionFactoryIsRequired() throws Exception {
|
||||
new AssertThrows(IllegalArgumentException.class) {
|
||||
public void test() throws Exception {
|
||||
new LocalConnectionFactoryBean().afterPropertiesSet();
|
||||
}
|
||||
}.runTest();
|
||||
}
|
||||
|
||||
public void testIsSingleton() throws Exception {
|
||||
LocalConnectionFactoryBean factory = new LocalConnectionFactoryBean();
|
||||
assertTrue(factory.isSingleton());
|
||||
}
|
||||
|
||||
public void testGetObjectTypeIsNullIfConnectionFactoryHasNotBeenConfigured() throws Exception {
|
||||
LocalConnectionFactoryBean factory = new LocalConnectionFactoryBean();
|
||||
assertNull(factory.getObjectType());
|
||||
}
|
||||
|
||||
public void testCreatesVanillaConnectionFactoryIfNoConnectionManagerHasBeenConfigured() throws Exception {
|
||||
|
||||
final Object CONNECTION_FACTORY = new Object();
|
||||
|
||||
MockControl mockManagedConnectionFactory = MockControl.createControl(ManagedConnectionFactory.class);
|
||||
ManagedConnectionFactory managedConnectionFactory = (ManagedConnectionFactory) mockManagedConnectionFactory.getMock();
|
||||
|
||||
managedConnectionFactory.createConnectionFactory();
|
||||
mockManagedConnectionFactory.setReturnValue(CONNECTION_FACTORY);
|
||||
mockManagedConnectionFactory.replay();
|
||||
|
||||
LocalConnectionFactoryBean factory = new LocalConnectionFactoryBean();
|
||||
factory.setManagedConnectionFactory(managedConnectionFactory);
|
||||
factory.afterPropertiesSet();
|
||||
assertEquals(CONNECTION_FACTORY, factory.getObject());
|
||||
|
||||
mockManagedConnectionFactory.verify();
|
||||
}
|
||||
|
||||
public void testCreatesManagedConnectionFactoryIfAConnectionManagerHasBeenConfigured() throws Exception {
|
||||
MockControl mockManagedConnectionFactory = MockControl.createControl(ManagedConnectionFactory.class);
|
||||
ManagedConnectionFactory managedConnectionFactory = (ManagedConnectionFactory) mockManagedConnectionFactory.getMock();
|
||||
|
||||
MockControl mockConnectionManager = MockControl.createControl(ConnectionManager.class);
|
||||
ConnectionManager connectionManager = (ConnectionManager) mockConnectionManager.getMock();
|
||||
|
||||
managedConnectionFactory.createConnectionFactory(connectionManager);
|
||||
mockManagedConnectionFactory.setReturnValue(null);
|
||||
|
||||
mockConnectionManager.replay();
|
||||
mockManagedConnectionFactory.replay();
|
||||
|
||||
LocalConnectionFactoryBean factory = new LocalConnectionFactoryBean();
|
||||
factory.setManagedConnectionFactory(managedConnectionFactory);
|
||||
factory.setConnectionManager(connectionManager);
|
||||
factory.afterPropertiesSet();
|
||||
|
||||
mockManagedConnectionFactory.verify();
|
||||
mockConnectionManager.verify();
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user