@Test
public void testLoadClassInOsgi() throws Exception {
String bundlePath = OsgiStandaloneTest.BROOKLYN_TEST_OSGI_ENTITIES_PATH;
String bundleUrl = OsgiStandaloneTest.BROOKLYN_TEST_OSGI_ENTITIES_URL;
String classname = OsgiTestResources.BROOKLYN_TEST_OSGI_ENTITIES_SIMPLE_ENTITY;
TestResourceUnavailableException.throwIfResourceUnavailable(getClass(), bundlePath);
mgmt = LocalManagementContextForTests.builder(true).enableOsgiReusable().build();
Bundle bundle = installBundle(mgmt, bundleUrl);
@SuppressWarnings("unchecked")
Class<? extends Entity> clazz = (Class<? extends Entity>) bundle.loadClass(classname);
Entity entity = createSimpleEntity(bundleUrl, clazz);
System.setProperty(ClassLoaderUtils.WHITE_LIST_KEY, "do.not.match.whitelist:1.0.0");
ClassLoaderUtils cluMgmt = new ClassLoaderUtils(getClass(), mgmt);
ClassLoaderUtils cluClass = new ClassLoaderUtils(clazz);
ClassLoaderUtils cluEntity = new ClassLoaderUtils(getClass(), entity);
assertLoadFails(classname, cluMgmt);
assertLoadSucceeds(bundle.getSymbolicName() + ":" + classname, clazz, cluMgmt, cluClass, cluEntity);
assertLoadSucceeds(bundle.getSymbolicName() + ":" + bundle.getVersion()+":" + classname, clazz, cluMgmt, cluClass, cluEntity);
}