Hello.

I've observed that tests based on CamelBlueprintTestSupport have a
strange OSGi context : the "FrameworkUtil" class doesn't work as
expected and returns null.

For some parts of our application code, where optional information is
not required, we can handle the null value. But we can't do it for
example for Liquibase that detects the OSGi context, but fails reading
bundle information.

Here is the code of Liquibase that fails :

            Boolean osgiPlatform =
Scope.getCurrentScope().get(Scope.Attr.osgiPlatform, Boolean.class);
            if (Boolean.TRUE.equals(osgiPlatform)) {
                Bundle bundle = FrameworkUtil.getBundle(LiquibaseUtil.class);
                URL propURL = bundle.getEntry("liquibase.build.properties");

As the returned bundle is null, Liquibase fails, and all the
application code too.

Could someone explain why the OSGi context of the test fails
retrieving bundles, while it seems to work for all the rest ?

Can we do something in the test setting to enable the expected behavior ?

Thanks in advance for explanations and help !

Regards.

Reply via email to