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 RuntimeHarness
public void addWorkingDirectoryConfigurator(WorkingDirectoryConfigurator config)
addWorkingDirectoryConfigurator
in interface RuntimeHarness
public File getWorkingDir()
RuntimeHarness
getWorkingDir
in interface RuntimeHarness
public void restart() throws Exception
restart
in interface RuntimeHarness
Exception
public void start() throws Exception
start
in interface RuntimeHarness
Exception
public void fireFrameworkStarted() throws Exception
FrameworkEvent.STARTED
.fireFrameworkStarted
in interface RuntimeHarness
Exception
public void stop() throws Exception
stop
in interface RuntimeHarness
Exception
public boolean isStarted()
isStarted
in interface RuntimeHarness
protected void initOsgiRuntime() throws Exception
Exception
protected 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.
Exception
public static URL getResource(String name)
@Deprecated public void deploy(String contrib)
deployContrib()
insteaddeploy
in interface RuntimeHarness
protected 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 RuntimeHarness
contrib
- 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 RuntimeHarness
name
- the name of the bundle to peek the contrib incontrib
- the path to contrib in the bundle.Exception
public 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 RuntimeHarness
bundle
- the bundle that becomes the contribution ownercontrib
- the contribution to deploy as part of the given bundleException
public RuntimeContext deployTestContrib(String bundle, URL contrib) throws Exception
deployTestContrib
in interface RuntimeHarness
Exception
@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 RuntimeHarness
public 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 RuntimeHarness
name
- the bundlecontrib
- the contributionException
protected 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 RuntimeHarness
name
- the symbolic nameException
protected String readSymbolicName(BundleFile bf)
public BundleFile lookupBundle(String bundleName) throws Exception
Exception
@Deprecated protected BundleFile oldLookupBundle(String bundle) throws Exception
Exception
public void deployFolder(File folder, ClassLoader loader) throws Exception
deployFolder
in interface RuntimeHarness
Exception
public Properties getProperties()
RuntimeHarness
getProperties
in interface RuntimeHarness
public RuntimeContext getContext()
RuntimeHarness
getContext
in interface RuntimeHarness
public OSGiAdapter getOSGiAdapter()
RuntimeHarness
getOSGiAdapter
in interface RuntimeHarness
public List<String> getClassLoaderFiles() throws URISyntaxException
getClassLoaderFiles
in interface RuntimeHarness
URISyntaxException
Copyright © 2016 Nuxeo SA. All rights reserved.