1 /*- 2 * See the file LICENSE for redistribution information. 3 * 4 * Copyright (c) 2002, 2014 Oracle and/or its affiliates. All rights reserved. 5 * 6 */ 7 8 package com.sleepycat.je.dbi; 9 10 import static org.junit.Assert.assertEquals; 11 12 import org.junit.Test; 13 14 import com.sleepycat.je.EnvironmentConfig; 15 import com.sleepycat.je.config.BooleanConfigParam; 16 import com.sleepycat.je.config.EnvironmentParams; 17 import com.sleepycat.je.util.TestUtils; 18 import com.sleepycat.util.test.TestBase; 19 20 public class DbConfigManagerTest extends TestBase { 21 22 /** 23 * Test that parameter defaults work, that we can add and get 24 * parameters 25 */ 26 @Test testBasicParams()27 public void testBasicParams() { 28 EnvironmentConfig envConfig = TestUtils.initEnvConfig(); 29 envConfig.setCacheSize(2000); 30 DbConfigManager configManager = new DbConfigManager(envConfig); 31 32 /** 33 * Longs: The config manager should return the value for an 34 * explicitly set param and the default for one not set. 35 * 36 */ 37 assertEquals(2000, 38 configManager.getLong(EnvironmentParams.MAX_MEMORY)); 39 assertEquals(EnvironmentParams.ENV_RECOVERY.getDefault(), 40 configManager.get(EnvironmentParams.ENV_RECOVERY)); 41 } 42 43 /** 44 * Checks that leading and trailing whitespace is ignored when parsing a 45 * boolean. [#22212] 46 */ 47 @Test testBooleanWhitespace()48 public void testBooleanWhitespace() { 49 String val = " TruE "; // has leading and trailing space 50 String name = EnvironmentConfig.SHARED_CACHE; // any boolean will do 51 BooleanConfigParam param = 52 (BooleanConfigParam) EnvironmentParams.SUPPORTED_PARAMS.get(name); 53 param.validateValue(val); 54 EnvironmentConfig envConfig = TestUtils.initEnvConfig(); 55 envConfig.setConfigParam(name, val); 56 DbConfigManager configManager = new DbConfigManager(envConfig); 57 assertEquals(true, configManager.getBoolean(param)); 58 } 59 } 60