@Override public ParseConfig call() { synchronized (currentConfigMutex) { if (currentConfig == null) { ParseConfig config = getFromDisk(); currentConfig = (config != null) ? config : new ParseConfig(); } } return currentConfig; } }, ParseExecutors.io());
@Test public void testGetFromDiskConfigSuccessFileIOException() { File configFile = new File("errorConfigFile"); ParseCurrentConfigController currentConfigController = new ParseCurrentConfigController(configFile); ParseConfig config = currentConfigController.getFromDisk(); assertNull(config); }
@Test public void testGetFromDiskSuccessConfigFileNotJsonFile() throws Exception { File configFile = new File(temporaryFolder.getRoot(), "config"); ParseFileUtils.writeStringToFile(configFile, "notJson", "UTF-8"); ParseCurrentConfigController currentConfigController = new ParseCurrentConfigController(configFile); ParseConfig config = currentConfigController.getFromDisk(); assertNull(config); }
ParseConfig configAgain = currentConfigController.getFromDisk(); Map<String, Object> paramsAgain = configAgain.getParams(); assertEquals(10, paramsAgain.size());