TODO test unshareable resources.
TODO test repeat calls with null/non-null Subject
| Method from org.apache.geronimo.connector.outbound.ConnectionTrackingInterceptorTest Detail: |
public void getConnection(ConnectionInfo connectionInfo) throws ResourceException {
super.getConnection(connectionInfo);
ManagedConnectionInfo managedConnectionInfo = connectionInfo.getManagedConnectionInfo();
managedConnectionInfo.setConnectionEventListener(new GeronimoConnectionEventListener(null, managedConnectionInfo));
managedConnectionInfo.setSubject(subject);
if (managedConnectionInfo.getManagedConnection() == null) {
managedConnectionInfo.setManagedConnection(managedConnection);
}
if (connectionInfo.getConnectionHandle() == null) {
connectionInfo.setConnectionHandle(new Object());
}
managedConnectionInfo.addConnectionHandle(connectionInfo);
}
|
public void handleObtained(ConnectionTrackingInterceptor connectionTrackingInterceptor,
ConnectionInfo connectionInfo) {
obtainedConnectionTrackingInterceptor = connectionTrackingInterceptor;
obtainedTrackedConnectionInfo = connectionInfo;
}
|
public void handleReleased(ConnectionTrackingInterceptor connectionTrackingInterceptor,
ConnectionInfo connectionInfo) {
releasedConnectionTrackingInterceptor = connectionTrackingInterceptor;
releasedTrackedConnectionInfo = connectionInfo;
}
|
public void setEnvironment(ConnectionInfo connectionInfo,
String key) {
//unsharable = false, app security = false;
}
|
protected void setUp() throws Exception {
super.setUp();
connectionTrackingInterceptor = new ConnectionTrackingInterceptor(this, key, this);
}
|
protected void tearDown() throws Exception {
super.tearDown();
connectionTrackingInterceptor = null;
managedConnection = null;
obtainedConnectionTrackingInterceptor = null;
obtainedTrackedConnectionInfo = null;
releasedConnectionTrackingInterceptor = null;
releasedTrackedConnectionInfo = null;
}
|
public void testConnectionRegistration() throws Exception {
ConnectionInfo connectionInfo = makeConnectionInfo();
connectionTrackingInterceptor.getConnection(connectionInfo);
assertTrue("Expected handleObtained call with our connectionTrackingInterceptor",
connectionTrackingInterceptor == obtainedConnectionTrackingInterceptor);
assertTrue("Expected handleObtained call with our connectionInfo",
connectionInfo == obtainedTrackedConnectionInfo);
//release connection handle
connectionTrackingInterceptor.returnConnection(connectionInfo, ConnectionReturnAction.RETURN_HANDLE);
assertTrue("Expected handleReleased call with our connectionTrackingInterceptor",
connectionTrackingInterceptor == releasedConnectionTrackingInterceptor);
assertTrue("Expected handleReleased call with our connectionInfo",
connectionInfo == releasedTrackedConnectionInfo);
}
|
public void testEnterWithChangedSubject() throws Exception {
testEnterWithSameSubject();
makeSubject("bar");
connectionTrackingInterceptor.enter(connectionInfos);
//expect re-association
assertTrue("Expected connection asked for", obtainedConnectionInfo != null);
//connection is returned by SubjectInterceptor
assertTrue("Expected no connection returned", returnedConnectionInfo == null);
}
|
public void testEnterWithSameSubject() throws Exception {
makeSubject("foo");
getConnectionAndReenter();
//decision on re-association happens in subject interceptor
assertTrue("Expected connection asked for", obtainedConnectionInfo != null);
assertTrue("Expected no connection returned", returnedConnectionInfo == null);
}
|
public void testExitWithDissociatableConnection() throws Exception {
managedConnection = new TestDissociatableManagedConnection();
testEnterWithSameSubject();
assertEquals("Expected one info in connectionInfos", 1, connectionInfos.size());
connectionTrackingInterceptor.exit(connectionInfos);
assertTrue("Expected connection returned", returnedConnectionInfo != null);
assertEquals("Expected no infos in connectionInfos", 0, connectionInfos.size());
}
|
public void testExitWithNonDissociatableConnection() throws Exception {
managedConnection = new TestPlainManagedConnection();
testEnterWithSameSubject();
connectionTrackingInterceptor.exit(connectionInfos);
assertTrue("Expected no connection returned", returnedConnectionInfo == null);
assertEquals("Expected one info in connectionInfos", connectionInfos.size(), 1);
}
|