com.cisco.oss.foundation.directory.config.ServiceDirectoryConfigTest.java Source code

Java tutorial

Introduction

Here is the source code for com.cisco.oss.foundation.directory.config.ServiceDirectoryConfigTest.java

Source

/**
 * Copyright 2014 Cisco Systems, Inc.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package com.cisco.oss.foundation.directory.config;

import java.util.NoSuchElementException;

import org.apache.commons.configuration.Configuration;
import org.junit.Test;

import com.cisco.oss.foundation.directory.ServiceDirectory;
import com.cisco.oss.foundation.directory.impl.ServiceDirectoryConfig;

import static org.junit.Assert.*;

/**
 * TestCases to cover load configures from the config.properties file.
 *
 */
public class ServiceDirectoryConfigTest {

    @Test
    public void testGetProperty() {
        Configuration config = ServiceDirectory.getServiceDirectoryConfig();

        assertFalse(config.getBoolean("ddd"));
        assertTrue(config.getDouble("notexists", 89.1) == 89.1);
        try {
            config.getDouble("notexists");
        } catch (Exception e) {
            assertTrue(e instanceof NoSuchElementException);
        }

        assertFalse(config.containsKey("not_property"));
    }

    // -----------------------
    // New 1.2 Config tests
    // -----------------------

    @Test
    public void testCacheConfig() {

        assertEquals(true, ServiceDirectoryConfig.globeConfig().isCacheEnabled());
        assertEquals(true, ServiceDirectoryConfig.config().isCacheEnabled());

        ServiceDirectoryConfig config = ServiceDirectoryConfig.config().setCacheEnabled(false);
        assertEquals(false, config.isCacheEnabled());
        assertEquals(true, ServiceDirectoryConfig.globeConfig().isCacheEnabled());

        ServiceDirectoryConfig.globeConfig().setCacheEnabled(false);
        assertEquals(false, ServiceDirectoryConfig.globeConfig().isCacheEnabled());
        assertEquals(false, ServiceDirectoryConfig.config().isCacheEnabled());

        assertEquals(false, config.isCacheEnabled());
        ServiceDirectoryConfig.config().setCacheEnabled(true);
        assertEquals(false, config.isCacheEnabled());
        config.setCacheEnabled(true);
        assertEquals(true, config.isCacheEnabled());
        assertEquals(false, ServiceDirectoryConfig.globeConfig().isCacheEnabled());
        ServiceDirectoryConfig.globeConfig().setCacheEnabled(true); //need to set back, otherwise, ald 1.1 test will failed
        assertEquals(true, ServiceDirectoryConfig.globeConfig().isCacheEnabled());
    }

    @Test
    public void testHeartBearConfig() {
        //heart beat is enabled by default
        assertTrue(ServiceDirectoryConfig.config().isHeartBeatEnabled());
        assertTrue(ServiceDirectoryConfig.globeConfig().isHeartBeatEnabled());

        ServiceDirectoryConfig config = ServiceDirectoryConfig.config();
        config.setHeartbeatEnabled(false);
        assertFalse(config.isHeartBeatEnabled()); //current config is false
        assertTrue(ServiceDirectoryConfig.globeConfig().isHeartBeatEnabled()); //globe is still true;

        ServiceDirectoryConfig.globeConfig().setHeartbeatEnabled(false); //set globe false

        assertFalse(ServiceDirectoryConfig.globeConfig().isHeartBeatEnabled()); //globe is false;
        assertFalse(ServiceDirectoryConfig.config().isHeartBeatEnabled()); //new config is false now;

        ServiceDirectoryConfig.globeConfig().setHeartbeatEnabled(true); //set globe back to true
    }

    @Test
    public void testSDBuildByConfig() {
        assertNotNull(ServiceDirectoryConfig.config());
        ServiceDirectoryConfig.config().build();
    }

    @Test
    public void testClientType() {
        //Default is restful
        assertEquals(ServiceDirectoryConfig.ClientType.RESTFUL, ServiceDirectoryConfig.config().getClientType());

        //set to mock
        ServiceDirectoryConfig config = ServiceDirectoryConfig.config();
        config.setClientType(ServiceDirectoryConfig.ClientType.DUMMY);
        assertEquals(ServiceDirectoryConfig.ClientType.DUMMY, config.getClientType());

    }
}