I created a class to registerRequest using this:
public class RegisterRequest {
private ETLConfig etlConfig
public void setETLConfig(ETLConfig etlConfig) {
this.etlConfig = etlConfig;
}
protected void registerConsumer(ETLRequest req) {
String key= req.getKey();
String id= req.getId();
Boolean isConfigSet = true;
List<String> selectedItems = req.getSelectedItems();;
selectedPillarList.addAll(selectedPillars);
EtlRegistration reg = new EtlRegistration();
reg.setCompanyKey(companyId);
reg.setConfigSet(isConfigSet);
reg.setItems(selectedItems);
etlConfig.etlEndPoint().registerRequest(reg);
List<String> registeredItems = etlConfig.etlEndPoint().getRegisteredItems(key);
logger.info("registeredItems are:"+registeredItems);
}
}
I added a config in .xml file
<bean id="registerRequest" class="com.example.tool.RegisterRequest">
<property name="etlConfig" ref="etlConfig"/>
</bean>
<bean id="etlConfig" class="com.base.admin.api.endpoint.ETLConfig"/>
I am trying to create a junit class
@Test
public void testRegisterConsumer() throws Exception {
RegisterRequest req= new RegisterRequest();
ETLRequest etlReq = new ETLRequest();
etlReq.setKey("123");
...
req.registerConsumer(etlReq);
}
when I was running unit test ,I am getting
"java.lang.NullPointerException " at "etlConfig.etlEndPoint().registerRequest(reg);"
what I missed in this junit test? why it is throwing null pointer exception?