### Question:
GenericPnfCDSControllerRunnableBB implements ControllerRunnable<BuildingBlockExecution> { @Override public void prepare(ControllerContext<BuildingBlockExecution> controllerContext) { BuildingBlockExecution buildingBlockExecution = controllerContext.getExecution(); final AbstractCDSPropertiesBean abstractCDSPropertiesBean = prepareAndSetCdsPropertyBean(buildingBlockExecution); buildingBlockExecution.setVariable(EXECUTION_OBJECT, abstractCDSPropertiesBean); } @Autowired  GenericPnfCDSControllerRunnableBB(AbstractCDSProcessingBBUtils abstractCDSProcessingBBUtils,
            ExtractPojosForBB extractPojosForBB, ExceptionBuilder exceptionBuilder,
            ConfigureInstanceParamsForPnf configureInstanceParamsForPnf); @Override Boolean understand(ControllerContext<BuildingBlockExecution> controllerContext); @Override Boolean ready(ControllerContext<BuildingBlockExecution> controllerContext); @Override void prepare(ControllerContext<BuildingBlockExecution> controllerContext); @Override void run(ControllerContext<BuildingBlockExecution> controllerContext);  }### Answer:
@Test public void prepareTest() throws BBObjectNotFoundException, PayloadGenerationException { prepareData(); genericPnfCDSControllerRunnableBB.prepare(controllerContext); final AbstractCDSPropertiesBean abstractCDSPropertiesBean = execution.getVariable(EXECUTION_OBJECT); final JSONObject actionProperties = new JSONObject(abstractCDSPropertiesBean.getRequestObject()) .getJSONObject("action-request").getJSONObject("action-properties"); assertThat(abstractCDSPropertiesBean).isNotNull(); assertThat(abstractCDSPropertiesBean.getRequestObject()).isNotNull(); assertThat(abstractCDSPropertiesBean.getRequestObject()).isInstanceOf(String.class); assertThat(execution.getGeneralBuildingBlock()).isNotNull(); assertEquals(blueprintName, abstractCDSPropertiesBean.getBlueprintName()); assertEquals(blueprintVersion, abstractCDSPropertiesBean.getBlueprintVersion()); assertEquals(msoRequestId, abstractCDSPropertiesBean.getRequestId()); assertEquals(action, abstractCDSPropertiesBean.getActionName()); assertEquals("sync", abstractCDSPropertiesBean.getMode()); assertEquals("SO", abstractCDSPropertiesBean.getOriginatorId()); assertEquals(pnfID, actionProperties.get("pnf-id")); assertEquals(serviceInstanceID, actionProperties.get("service-instance-id")); assertEquals(serviceModelUUID, actionProperties.get("service-model-uuid")); assertEquals(pnfName, actionProperties.get("pnf-name")); assertEquals(pnfCustomizationUUID, actionProperties.get("pnf-customization-uuid")); }