PropertyManager { public void logProperties() { logger.info("- source JSON report directory : " + sourceJsonReportDirectory, DEFAULT, COMPACT); logger.info("- generated HTML report directory : " + generatedHtmlReportDirectory, DEFAULT, COMPACT); boolean customParametersFileExists = isSet(customParametersFile); if (customParametersFileExists) { logger.logInfoSeparator(DEFAULT); logger.info("- custom parameters file : " + customParametersFile, DEFAULT); } if (!customParameters.isEmpty()) { if (!customParametersFileExists) { logger.logInfoSeparator(); } customParameters.entrySet().stream().map(entry -> "- custom parameter : " + entry.getKey() + " -> " + entry.getValue()).forEach(logString -> logger.info(logString, DEFAULT)); } logger.logInfoSeparator(DEFAULT); logger.info("- fail pending/undefined scenarios : " + failScenariosOnPendingOrUndefinedSteps, DEFAULT); logger.info("- expand before/after hooks : " + expandBeforeAfterHooks, DEFAULT); logger.info("- expand step hooks : " + expandStepHooks, DEFAULT); logger.info("- expand doc strings : " + expandDocStrings, DEFAULT); logger.info("- page title : " + customPageTitle, DEFAULT); logger.info("- start page : " + startPage, DEFAULT); if (isSet(customCssFile)) { logger.info("- custom CSS file : " + customCssFile, DEFAULT); } logger.info("- colors (passed, failed, skipped) : " + customStatusColorPassed + ", " + customStatusColorFailed + ", " + customStatusColorSkipped, DEFAULT); logger.logInfoSeparator(DEFAULT); } @Inject  PropertyManager(
            final CluecumberLogger logger,
            FileIO fileIO,
            final PropertiesFileLoader propertiesFileLoader
    ); String getSourceJsonReportDirectory(); void setSourceJsonReportDirectory(final String sourceJsonReportDirectory); String getGeneratedHtmlReportDirectory(); void setGeneratedHtmlReportDirectory(final String generatedHtmlReportDirectory); Map<String, String> getCustomParameters(); void setCustomParameters(final Map<String, String> customParameters); void setCustomParametersFile(String customParametersFile); boolean isFailScenariosOnPendingOrUndefinedSteps(); void setFailScenariosOnPendingOrUndefinedSteps(final boolean failScenariosOnPendingOrUndefinedSteps); boolean isExpandBeforeAfterHooks(); void setExpandBeforeAfterHooks(final boolean expandBeforeAfterHooks); boolean isExpandStepHooks(); void setExpandStepHooks(final boolean expandStepHooks); boolean isExpandDocStrings(); void setExpandDocStrings(final boolean expandDocStrings); String getCustomCssFile(); void setCustomCssFile(final String customCssFile); String getCustomStatusColorPassed(); void setCustomStatusColorPassed(final String customStatusColorPassed); String getCustomStatusColorFailed(); void setCustomStatusColorFailed(final String customStatusColorFailed); String getCustomStatusColorSkipped(); void setCustomStatusColorSkipped(final String customStatusColorSkipped); String getCustomPageTitle(); void setCustomPageTitle(final String customPageTitle); void logProperties(); PluginSettings.StartPage getStartPage(); void setStartPage(final String startPage);  }
@Test public void logBasePropertiesTest() { propertyManager.logProperties(); verify(logger, times(2)).info(anyString(), eq(CluecumberLogger.CluecumberLogLevel.DEFAULT), eq(CluecumberLogger.CluecumberLogLevel.COMPACT)); verify(logger, times(7)).info(anyString(), eq(CluecumberLogger.CluecumberLogLevel.DEFAULT)); }