package org.ovirt.engine.api.common.util; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.util.List; import java.util.jar.JarOutputStream; import java.util.zip.ZipEntry; import junit.framework.Assert; import org.junit.Test; public class ReflectionHelperTest { @Test public void getClasses() throws ClassNotFoundException, IOException { List<Class<?>> classes = ReflectionHelper.getClasses(ReflectionHelper.class.getPackage().getName()); Assert.assertFalse("ReflectionHelper's package can not be empty since at least Reflectionhelper is in it", classes.isEmpty()); Assert.assertTrue("ReflectionHelper's should be in it's own package", classes.contains(ReflectionHelper.class)); } @Test public void getClassNamesInJarPackage() throws IOException { File temp = File.createTempFile("test-", ".jar"); JarOutputStream jar = new JarOutputStream(new FileOutputStream(temp)); ZipEntry helloworld = new ZipEntry(ReflectionHelperTest.class.getName().replaceAll("\\.", "/") + ".class"); jar.putNextEntry(helloworld); jar.write("fake".getBytes("UTF-8")); jar.close(); for(int i = 0; i < 2048; i++) { ReflectionHelper.getClassNamesInJarPackage(Thread.currentThread().getContextClassLoader(), temp.getAbsolutePath(), ReflectionHelperTest.class.getPackage().getName()); } temp.delete(); } }