Your achievements

Level 1

0% to

Level 2

Tip /
Sign in

Sign in to Community

to gain points, level up, and earn exciting badges like the new
Bedrock Mission!

Learn more

View all

Sign in to view all badges

Junit for getting Configuration through Bundle Context

gazzalm54335496
Level 2
Level 2

I am trying to write Junit using Junit5

 

@Mock
ProcessingComponentConfiguration config;

@Mock
FrameworkUtil framework;

@BeforeEach
void setup() {
MockitoAnnotations.initMocks(this);
}

@Mock
ConfigurationAdmin configAdmin;

@Mock
ProcessingContext context;

@Mock
BundleContext bundleContext;

@Mock
SlingHttpServletRequest request;

@test
void testInit() throws IOException {
Mockito.when(context.getRequest()).thenReturn(request);
Mockito.when( request.getServerName()).thenReturn("server");
Mockito.when(framework.getBundle(Test.class).getBundleContext()).thenReturn(bundleContext);

}

 

It is giving null pointer exception when I inspect framework.getBundle(Test.class).getBundleContext().

 

How to write Junit for this. Below is my code.

 

BundleContext bundleContext = FrameworkUtil.getBundle(Test.class).getBundleContext();
ServiceReference slingSettingRef = bundleContext.getServiceReference(SlingSettingsService.class.getName());
SlingSettingsService slingSetting = (SlingSettingsService) bundleContext.getService(slingSettingRef);
ServiceReference factoryRef = bundleContext.getServiceReference(ConfigurationAdmin.class.getName());
ConfigurationAdmin configAdmin = (ConfigurationAdmin) bundleContext.getService(factoryRef);

1 Reply
Jörg_Hoh
Employee
Employee

I recommend you to use the AEM Mocks library; it provides you mock implementations for the OSGI basics and there you can create tests much more easily and convenient.

 

I wrote some blog posts about it, you can find them here: https://cqdump.joerghoh.de/tag/unittest/