public class NXRuntimeTestCase extends Object implements RuntimeHarness
The runtime service itself is conveniently available as the runtime instance variable in derived
classes.
| Modifier and Type | Field and Description |
|---|---|
protected StandaloneBundleLoader |
bundleLoader |
protected Map<String,BundleFile> |
bundles |
protected org.jmock.Mockery |
jmcontext |
protected OSGiAdapter |
osgi |
protected boolean |
restart |
protected OSGiRuntimeService |
runtime |
protected org.osgi.framework.Bundle |
runtimeBundle |
protected TargetResourceLocator |
targetResourceLocator |
protected URL[] |
urls |
protected List<WorkingDirectoryConfigurator> |
wdConfigs |
protected File |
workingDir |
| Constructor and Description |
|---|
NXRuntimeTestCase() |
NXRuntimeTestCase(Class<?> clazz) |
NXRuntimeTestCase(String name) |
| Modifier and Type | Method and Description |
|---|---|
void |
addWorkingDirectoryConfigurator(WorkingDirectoryConfigurator config) |
void |
deploy(String contrib)
Deprecated.
use
deployContrib() instead |
void |
deployBundle(String name)
Deploys a whole OSGI bundle.
|
void |
deployContrib(String contrib)
Deprecated.
use the less ambiguous
deployContrib(String, String) |
void |
deployContrib(String name,
String contrib)
Deploys a contribution from a given bundle.
|
protected void |
deployContrib(URL url) |
void |
deployFolder(File folder,
ClassLoader loader) |
RuntimeContext |
deployTestContrib(String bundle,
String contrib)
Deploy an XML contribution from outside a bundle.
|
RuntimeContext |
deployTestContrib(String bundle,
URL contrib) |
void |
fireFrameworkStarted()
Fire the event
FrameworkEvent.STARTED. |
List<String> |
getClassLoaderFiles() |
RuntimeContext |
getContext()
Runtime context for deployment
|
OSGiAdapter |
getOSGiAdapter()
OSGI bridge
|
Properties |
getProperties()
Framework properties for variable injections
|
static URL |
getResource(String name) |
File |
getWorkingDir()
Gets the framework working directory.
|
protected OSGiRuntimeService |
handleNewRuntime(OSGiRuntimeService aRuntime) |
protected void |
initOsgiRuntime() |
protected void |
initUrls() |
static URL[] |
introspectClasspath(ClassLoader loader) |
boolean |
isRestart() |
boolean |
isStarted() |
protected static boolean |
isVersionSuffix(String s) |
BundleFile |
lookupBundle(String bundleName) |
protected URL |
lookupBundleUrl(String bundle)
Resolves an URL for bundle deployment code.
|
protected BundleFile |
oldLookupBundle(String bundle)
Deprecated.
|
protected String |
readSymbolicName(BundleFile bf) |
void |
restart()
Restarts the runtime and preserve homes directory.
|
void |
setUp() |
void |
start() |
void |
stop() |
void |
tearDown() |
void |
undeploy(String contrib)
Deprecated.
use
undeployContrib(String, String) instead |
void |
undeployContrib(String contrib)
Deprecated.
use
undeployContrib(String, String) instead |
void |
undeployContrib(String name,
String contrib)
Undeploys a contribution from a given bundle.
|
protected void |
wipeRuntime()
Makes sure there is no previous runtime hanging around.
|
protected org.jmock.Mockery jmcontext
protected OSGiRuntimeService runtime
protected File workingDir
protected StandaloneBundleLoader bundleLoader
protected Map<String,BundleFile> bundles
protected boolean restart
protected OSGiAdapter osgi
protected org.osgi.framework.Bundle runtimeBundle
protected final List<WorkingDirectoryConfigurator> wdConfigs
protected final TargetResourceLocator targetResourceLocator
public NXRuntimeTestCase()
public NXRuntimeTestCase(String name)
public NXRuntimeTestCase(Class<?> clazz)
public boolean isRestart()
isRestart in interface RuntimeHarnesspublic void addWorkingDirectoryConfigurator(WorkingDirectoryConfigurator config)
addWorkingDirectoryConfigurator in interface RuntimeHarnesspublic File getWorkingDir()
RuntimeHarnessgetWorkingDir in interface RuntimeHarnesspublic void restart() throws Exception
restart in interface RuntimeHarnessExceptionpublic void start() throws Exception
start in interface RuntimeHarnessExceptionpublic void fireFrameworkStarted() throws Exception
FrameworkEvent.STARTED.fireFrameworkStarted in interface RuntimeHarnessExceptionpublic void stop() throws Exception
stop in interface RuntimeHarnessExceptionpublic boolean isStarted()
isStarted in interface RuntimeHarnessprotected void initOsgiRuntime() throws Exception
Exceptionprotected OSGiRuntimeService handleNewRuntime(OSGiRuntimeService aRuntime)
public static URL[] introspectClasspath(ClassLoader loader)
protected void wipeRuntime() throws Exception
This happens for instance if a previous test had errors in its setUp(), because
tearDown() has not been called.
Exceptionpublic static URL getResource(String name)
@Deprecated public void deploy(String contrib)
deployContrib() insteaddeploy in interface RuntimeHarnessprotected void deployContrib(URL url)
@Deprecated public void deployContrib(String contrib)
deployContrib(String, String)The first contribution file found by the class loader will be used. You have no guarantee in case of name collisions.
deployContrib in interface RuntimeHarnesscontrib - the relative path to the contribution filepublic void deployContrib(String name, String contrib) throws Exception
The path will be relative to the bundle root. Example:
deployContrib("org.nuxeo.ecm.core", "OSGI-INF/CoreExtensions.xml")
For compatibility reasons the name of the bundle may be a jar name, but this use is discouraged and deprecated.
deployContrib in interface RuntimeHarnessname - the name of the bundle to peek the contrib incontrib - the path to contrib in the bundle.Exceptionpublic RuntimeContext deployTestContrib(String bundle, String contrib) throws Exception
This should be used by tests wiling to deploy test contribution as part of a real bundle.
The bundle owner is important since the contribution may depend on resources deployed in that bundle.
Note that the owner bundle MUST be an already deployed bundle.
deployTestContrib in interface RuntimeHarnessbundle - the bundle that becomes the contribution ownercontrib - the contribution to deploy as part of the given bundleExceptionpublic RuntimeContext deployTestContrib(String bundle, URL contrib) throws Exception
deployTestContrib in interface RuntimeHarnessException@Deprecated public void undeploy(String contrib)
undeployContrib(String, String) insteadundeploy in interface RuntimeHarness@Deprecated public void undeployContrib(String contrib)
undeployContrib(String, String) insteadundeployContrib in interface RuntimeHarnesspublic void undeployContrib(String name, String contrib) throws Exception
The path will be relative to the bundle root. Example:
undeployContrib("org.nuxeo.ecm.core", "OSGI-INF/CoreExtensions.xml")
undeployContrib in interface RuntimeHarnessname - the bundlecontrib - the contributionExceptionprotected static boolean isVersionSuffix(String s)
protected URL lookupBundleUrl(String bundle)
TODO: Implementation could be finer...
public void deployBundle(String name) throws Exception
The lookup is first done on symbolic name, as set in MANIFEST.MF and then falls back to the bundle
url (e.g., nuxeo-platform-search-api) for backwards compatibility.
deployBundle in interface RuntimeHarnessname - the symbolic nameExceptionprotected String readSymbolicName(BundleFile bf)
public BundleFile lookupBundle(String bundleName) throws Exception
Exception@Deprecated protected BundleFile oldLookupBundle(String bundle) throws Exception
Exceptionpublic void deployFolder(File folder, ClassLoader loader) throws Exception
deployFolder in interface RuntimeHarnessExceptionpublic Properties getProperties()
RuntimeHarnessgetProperties in interface RuntimeHarnesspublic RuntimeContext getContext()
RuntimeHarnessgetContext in interface RuntimeHarnesspublic OSGiAdapter getOSGiAdapter()
RuntimeHarnessgetOSGiAdapter in interface RuntimeHarnesspublic List<String> getClassLoaderFiles() throws URISyntaxException
getClassLoaderFiles in interface RuntimeHarnessURISyntaxExceptionCopyright © 2016 Nuxeo SA. All rights reserved.