Files
IM-server-new/broker/src/test/java/io/moquette/server/config/ConfigurationParserTest.java
T

109 lines
3.3 KiB
Java

/*
* Copyright (c) 2012-2017 The original author or authorsgetRockQuestions()
* ------------------------------------------------------
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* and Apache License v2.0 which accompanies this distribution.
*
* The Eclipse Public License is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* The Apache License v2.0 is available at
* http://www.opensource.org/licenses/apache2.0.php
*
* You may elect to redistribute this code under either of these licenses.
*/
package io.moquette.server.config;
import io.moquette.BrokerConstants;
import org.junit.Before;
import org.junit.Test;
import java.io.Reader;
import java.io.StringReader;
import java.text.ParseException;
import java.util.Properties;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertTrue;
/**
*
* @author andrea
*/
public class ConfigurationParserTest {
ConfigurationParser m_parser;
@Before
public void setUp() {
m_parser = new ConfigurationParser();
}
@Test
public void checkDefaultOptions() {
Properties props = m_parser.getProperties();
// verifyDefaults(props);
assertTrue(props.isEmpty());
}
@Test
public void parseEmpty() throws ParseException {
Reader conf = new StringReader(" ");
m_parser.parse(conf);
// Verify
// verifyDefaults(m_parser.getProperties());
assertTrue(m_parser.getProperties().isEmpty());
}
@Test
public void parseValidComment() throws ParseException {
Reader conf = new StringReader("#simple comment");
m_parser.parse(conf);
// Verify
// verifyDefaults(m_parser.getProperties());
assertTrue(m_parser.getProperties().isEmpty());
}
@Test(expected = ParseException.class)
public void parseInvalidComment() throws ParseException {
Reader conf = new StringReader(" #simple comment");
m_parser.parse(conf);
}
@Test
public void parseSingleVariable() throws ParseException {
Reader conf = new StringReader("port 1234");
m_parser.parse(conf);
// Verify
assertEquals("1234", m_parser.getProperties().getProperty("port"));
}
@Test
public void parseCompleteFile() throws ParseException {
String content = "# This is initial m_config format \r\n" + " \r\n" + "port 1234 \r\n"
+ "host localhost \r\n" + "fake multi word string property\r\n";
Reader conf = new StringReader(content);
m_parser.parse(conf);
// Verify
Properties props = m_parser.getProperties();
assertEquals("1234", props.getProperty("port"));
assertEquals("localhost", props.getProperty("host"));
assertEquals("multi word string property", props.getProperty("fake"));
}
/**
* Helper method to verify default options.
*/
private void verifyDefaults(Properties props) {
assertEquals(BrokerConstants.PORT, Integer.parseInt(props.getProperty(BrokerConstants.PORT_PROPERTY_NAME)));
assertEquals(BrokerConstants.HOST, props.getProperty(BrokerConstants.HOST_PROPERTY_NAME));
assertNull(props.getProperty(BrokerConstants.WEB_SOCKET_PORT_PROPERTY_NAME));
}
}