package org.buddycloud.channelserver;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
import java.io.FileInputStream;
import java.util.Collection;
import org.apache.commons.io.IOUtils;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.xmpp.packet.JID;
public class ConfigurationTest {
private static final String CONFIGURATION_PROPERTIES = "src/test/resources/configuration.properties";
Configuration configuration;
@Before
public void setUp() throws Exception {
configuration = Configuration.getInstance();
configuration.load(new FileInputStream(CONFIGURATION_PROPERTIES));
}
@After
public void tearDown() throws Exception {}
@Test
public void testGetAutoSubscribeChannels() {
Collection<JID> channels = configuration.getAutosubscribeChannels();
assertEquals("Incorrect number of channels", 2, channels.size());
assertTrue("channel1@server1 not found", channels.contains(new JID("channel1@server1")));
assertTrue("channel2@server1 not found", channels.contains(new JID("channel2@server1")));
}
@Test
public void handlesNoEntryForAutosubscribeChannels() throws Exception {
configuration.clear();
configuration.load(IOUtils.toInputStream(Configuration.CONFIGURATION_SERVER_DOMAIN + "=domain.com\n"));
assertEquals(0, configuration.getAutosubscribeChannels().size());
}
@Test
public void handlesIllegalAutosubscribeChannels() throws Exception {
String configurationString = "" + Configuration.CONFIGURATION_CHANNELS_AUTOSUBSCRIBE + "=not-a-jid$$\n";
configuration.load(IOUtils.toInputStream(configurationString));
assertEquals(0, configuration.getAutosubscribeChannels().size());
}
@Test
public void handlesNullAutosubscribeChannelsValue() throws Exception {
String configurationString = "" + Configuration.CONFIGURATION_CHANNELS_AUTOSUBSCRIBE + "=\n";
configuration.load(IOUtils.toInputStream(configurationString));
assertEquals(0, configuration.getAutosubscribeChannels().size());
}
}