MappingExceptionTestpublic class MappingExceptionTest extends org.hibernate.junit.UnitTestCase Test for various mapping exceptions thrown when mappings are not found or invalid. |
Constructors Summary |
---|
public MappingExceptionTest(String name)
super( name );
|
Methods Summary |
---|
void | copy(java.io.InputStream in, java.io.File dst)
OutputStream out = new FileOutputStream( dst );
// Transfer bytes from in to out
byte[] buf = new byte[1024];
int len;
while ( ( len = in.read( buf ) ) > 0 ) {
out.write( buf, 0, len );
}
in.close();
out.close();
| public static junit.framework.Test | suite()
return new TestSuite( MappingExceptionTest.class );
| public void | testDuplicateMapping()
String resourceName = "org/hibernate/test/mappingexception/User.hbm.xml";
Configuration cfg = new Configuration();
cfg.addResource( resourceName );
try {
cfg.addResource( resourceName );
fail();
}
catch ( InvalidMappingException inv ) {
assertEquals( inv.getType(), "resource" );
assertEquals( inv.getPath(), resourceName );
assertClassAssignability( inv.getCause().getClass(), DuplicateMappingException.class );
}
| public void | testInvalidMapping()
String resourceName = "org/hibernate/test/mappingexception/InvalidMapping.hbm.xml";
File file = File.createTempFile( "TempInvalidMapping", ".hbm.xml" );
file.deleteOnExit();
copy( ConfigHelper.getConfigStream( resourceName ), file );
Configuration cfg = new Configuration();
try {
cfg.addCacheableFile( file.getAbsolutePath() );
fail();
}
catch ( InvalidMappingException inv ) {
assertEquals( inv.getType(), "file" );
assertNotNull( inv.getPath() );
assertTrue( inv.getPath().endsWith( ".hbm.xml" ) );
assertTrue( !( inv.getCause() instanceof MappingNotFoundException ) );
}
try {
cfg.addCacheableFile( file );
fail();
}
catch ( InvalidMappingException inv ) {
assertEquals( inv.getType(), "file" );
assertNotNull( inv.getPath() );
assertTrue( inv.getPath().endsWith( ".hbm.xml" ) );
assertTrue( !( inv.getCause() instanceof MappingNotFoundException ) );
}
try {
cfg.addClass( InvalidMapping.class );
fail();
}
catch ( InvalidMappingException inv ) {
assertEquals( inv.getType(), "resource" );
assertEquals( inv.getPath(), "org/hibernate/test/mappingexception/InvalidMapping.hbm.xml" );
assertTrue( !( inv.getCause() instanceof MappingNotFoundException ) );
}
try {
cfg.addFile( file.getAbsolutePath() );
fail();
}
catch ( InvalidMappingException inv ) {
assertEquals( inv.getType(), "file" );
assertEquals( inv.getPath(), file.getPath() );
assertTrue( !( inv.getCause() instanceof MappingNotFoundException ) );
}
try {
cfg.addFile( file );
fail();
}
catch ( InvalidMappingException inv ) {
assertEquals( inv.getType(), "file" );
assertEquals( inv.getPath(), file.getPath() );
assertTrue( !( inv.getCause() instanceof MappingNotFoundException ) );
}
try {
cfg.addInputStream( ConfigHelper.getResourceAsStream( resourceName ) );
fail();
}
catch ( InvalidMappingException inv ) {
assertEquals( inv.getType(), "input stream" );
assertEquals( inv.getPath(), null );
assertTrue( !( inv.getCause() instanceof MappingNotFoundException ) );
}
try {
cfg.addResource( resourceName );
fail();
}
catch ( InvalidMappingException inv ) {
assertEquals( inv.getType(), "resource" );
assertEquals( inv.getPath(), resourceName );
assertTrue( !( inv.getCause() instanceof MappingNotFoundException ) );
}
try {
cfg.addResource( resourceName, getClass().getClassLoader() );
fail();
}
catch ( InvalidMappingException inv ) {
assertEquals( inv.getType(), "resource" );
assertEquals( inv.getPath(), resourceName );
assertTrue( !( inv.getCause() instanceof MappingNotFoundException ) );
}
try {
cfg.addURL( ConfigHelper.findAsResource( resourceName ) );
fail();
}
catch ( InvalidMappingException inv ) {
assertEquals( inv.getType(), "URL" );
assertTrue( inv.getPath().endsWith( "InvalidMapping.hbm.xml" ) );
assertTrue( !( inv.getCause() instanceof MappingNotFoundException ) );
}
| public void | testNotFound()
Configuration cfg = new Configuration();
try {
cfg.addCacheableFile( "completelybogus.hbm.xml" );
fail();
}
catch ( MappingNotFoundException e ) {
assertEquals( e.getType(), "file" );
assertEquals( e.getPath(), "completelybogus.hbm.xml" );
}
try {
cfg.addCacheableFile( new File( "completelybogus.hbm.xml" ) );
fail();
}
catch ( MappingNotFoundException e ) {
assertEquals( e.getType(), "file" );
assertEquals( e.getPath(), "completelybogus.hbm.xml" );
}
try {
cfg.addClass( Hibernate.class ); // TODO: String.class result in npe, because no classloader exists for it
fail();
}
catch ( MappingNotFoundException inv ) {
assertEquals( inv.getType(), "resource" );
assertEquals( inv.getPath(), "org/hibernate/Hibernate.hbm.xml" );
}
try {
cfg.addFile( "completelybogus.hbm.xml" );
fail();
}
catch ( MappingNotFoundException e ) {
assertEquals( e.getType(), "file" );
assertEquals( e.getPath(), "completelybogus.hbm.xml" );
}
try {
cfg.addFile( new File( "completelybogus.hbm.xml" ) );
fail();
}
catch ( MappingNotFoundException inv ) {
assertEquals( inv.getType(), "file" );
assertEquals( inv.getPath(), "completelybogus.hbm.xml" );
}
try {
cfg.addInputStream( new ByteArrayInputStream( new byte[0] ) );
fail();
}
catch ( InvalidMappingException inv ) {
assertEquals( inv.getType(), "input stream" );
assertEquals( inv.getPath(), null );
}
try {
cfg.addResource( "nothere" );
fail();
}
catch ( MappingNotFoundException inv ) {
assertEquals( inv.getType(), "resource" );
assertEquals( inv.getPath(), "nothere" );
}
try {
cfg.addResource( "nothere", getClass().getClassLoader() );
fail();
}
catch ( MappingNotFoundException inv ) {
assertEquals( inv.getType(), "resource" );
assertEquals( inv.getPath(), "nothere" );
}
try {
cfg.addURL( new URL( "file://nothere" ) );
fail();
}
catch ( InvalidMappingException inv ) {
assertEquals( inv.getType(), "URL" );
assertEquals( inv.getPath(), "file://nothere" );
}
|
|