/* * Copyright (c) 2012 EMC Corporation * All Rights Reserved */ package com.emc.storageos.systemservices.impl.logsvc; import java.net.URL; import java.util.Iterator; import java.util.List; import java.util.Properties; import org.junit.Assert; import org.junit.BeforeClass; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; /** * JUnit test class for {@link LogSvcPropertiesLoader}. */ @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration public class LogSvcPropertiesLoaderTest { // Test constants. private static final String PROP_FILE_NAME = "logsvc.properties"; private static final String LOG_FILE_PATHS_PROP = "logsvc.logFilePaths"; private static final String NODE_COLLECTION_TO_PROP = "logsvc.nodeLogCollectionTimeout"; private static final String FILE_COLLECTION_TO_PROP = "logsvc.fileLogCollectionTimeout"; // The log service properties. private static Properties s_logsvcProps = new Properties(); @Autowired private LogSvcPropertiesLoader _logSvcPropertiesLoader; /** * Loads the log service properties before executing any tests. */ @BeforeClass public static void loadProperties() throws Exception { URL url = ClassLoader.getSystemResource(PROP_FILE_NAME); s_logsvcProps.load(url.openStream()); } /** * Tests the getLogFilePaths method. */ @Test public void testGetLogFilePaths() { Assert.assertNotNull(_logSvcPropertiesLoader); List<String> logFilePathsList = _logSvcPropertiesLoader.getLogFilePaths(); StringBuilder pathsBuilder = new StringBuilder(); Iterator<String> pathsIter = logFilePathsList.iterator(); while (pathsIter.hasNext()) { if (pathsBuilder.length() != 0) { pathsBuilder.append(";"); } pathsBuilder.append(pathsIter.next()); } Assert.assertEquals(pathsBuilder.toString(), s_logsvcProps.getProperty(LOG_FILE_PATHS_PROP)); } /** * Tests the getNodeLogCollectorTimeout method. */ @Test public void testGetNodeLogCollectorTimeout() { Assert.assertNotNull(_logSvcPropertiesLoader); long nodeTimeout = _logSvcPropertiesLoader.getNodeLogCollectorTimeout(); Assert.assertEquals(nodeTimeout, Long.parseLong(s_logsvcProps.getProperty(NODE_COLLECTION_TO_PROP))); } /** * Tests the getFileLogCollectorTimeout method. */ @Test public void testGetFileLogCollectorTimeout() { Assert.assertNotNull(_logSvcPropertiesLoader); long logTimeout = _logSvcPropertiesLoader.getFileLogCollectorTimeout(); Assert.assertEquals(logTimeout, Long.parseLong(s_logsvcProps.getProperty(FILE_COLLECTION_TO_PROP))); } /** * Tests the getNodeLogConnectionTimeout method. */ @Test public void testGetNodeLogConnectionTimeout() { Assert.assertNotNull(_logSvcPropertiesLoader); long logTimeout = _logSvcPropertiesLoader.getNodeLogConnectionTimeout(); Assert.assertEquals(logTimeout, Long.parseLong(s_logsvcProps.getProperty(FILE_COLLECTION_TO_PROP))); } }