|
Spring Framework example source code file (TopLinkTemplateTests.java)
The Spring Framework TopLinkTemplateTests.java source code
/*
* Created on Mar 20, 2005
*
*/
package org.springframework.orm.toplink;
import junit.framework.TestCase;
import oracle.toplink.exceptions.TopLinkException;
import oracle.toplink.sessions.Session;
import org.easymock.MockControl;
import org.springframework.transaction.support.TransactionSynchronizationManager;
/**
* @author Juergen Hoeller
* @author <a href="mailto:james.x.clark@oracle.com">James Clark
* @since 28.04.2005
*/
public class TopLinkTemplateTests extends TestCase {
public void testTemplateNotAllowingCreate() {
MockControl sessionControl = MockControl.createControl(Session.class);
Session session = (Session) sessionControl.getMock();
SessionFactory factory = new SingleSessionFactory(session);
TopLinkTemplate template = new TopLinkTemplate();
template.setAllowCreate(false);
template.setSessionFactory(factory);
try {
template.execute(new TopLinkCallback() {
public Object doInTopLink(Session session) throws TopLinkException {
return null;
}
});
fail();
}
catch (Exception e) {
}
}
public void testTemplateWithCreate() {
MockControl sessionControl = MockControl.createControl(Session.class);
Session session = (Session) sessionControl.getMock();
SessionFactory factory = new SingleSessionFactory(session);
session.release();
sessionControl.setVoidCallable(1);
sessionControl.replay();
TopLinkTemplate template = new TopLinkTemplate();
template.setAllowCreate(true);
template.setSessionFactory(factory);
template.execute(new TopLinkCallback() {
public Object doInTopLink(Session session) throws TopLinkException {
assertTrue(session != null);
return null;
}
});
assertFalse(TransactionSynchronizationManager.hasResource(factory));
sessionControl.verify();
}
public void testTemplateWithExistingSessionAndNoCreate() {
MockControl sessionControl = MockControl.createControl(Session.class);
Session session = (Session) sessionControl.getMock();
SessionFactory factory = new SingleSessionFactory(session);
sessionControl.replay();
SessionHolder sessionHolder = new SessionHolder(factory.createSession());
TransactionSynchronizationManager.bindResource(factory, sessionHolder);
TopLinkTemplate template = new TopLinkTemplate();
template.setAllowCreate(false);
template.setSessionFactory(factory);
template.execute(new TopLinkCallback() {
public Object doInTopLink(Session session) throws TopLinkException {
assertTrue(session != null);
return null;
}
});
assertTrue(TransactionSynchronizationManager.hasResource(factory));
sessionControl.verify();
TransactionSynchronizationManager.unbindResource(factory);
}
public void testTemplateWithExistingSessionAndCreateAllowed() {
MockControl sessionControl = MockControl.createControl(Session.class);
Session session = (Session) sessionControl.getMock();
SessionFactory factory = new SingleSessionFactory(session);
sessionControl.replay();
SessionHolder sessionHolder = new SessionHolder(factory.createSession());
TransactionSynchronizationManager.bindResource(factory, sessionHolder);
TopLinkTemplate template = new TopLinkTemplate();
template.setAllowCreate(true);
template.setSessionFactory(factory);
template.execute(new TopLinkCallback() {
public Object doInTopLink(Session session) throws TopLinkException {
assertTrue(session != null);
return null;
}
});
assertTrue(TransactionSynchronizationManager.hasResource(factory));
sessionControl.verify();
TransactionSynchronizationManager.unbindResource(factory);
}
}
Other Spring Framework examples (source code examples)Here is a short list of links related to this Spring Framework TopLinkTemplateTests.java source code file: |
| ... this post is sponsored by my books ... | |
#1 New Release! |
FP Best Seller |
Copyright 1998-2024 Alvin Alexander, alvinalexander.com
All Rights Reserved.
A percentage of advertising revenue from
pages under the /java/jwarehouse
URI on this website is
paid back to open source projects.