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