package io.lumify.web.config;
import io.lumify.core.config.PropertyUtils;
import org.junit.Before;
import org.junit.Test;
import java.util.Properties;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
public class PropertyUtilsTest {
private static final String PROPERTY_KEY = "foo";
private static final String PROPERTY_VALUE = "bar";
private Properties props;
@Before
public void setupTests() {
props = new Properties();
}
@Test(expected = NullPointerException.class)
public void testSetPropertyValueInvalidInstance() {
PropertyUtils.setPropertyValue(null, PROPERTY_KEY, PROPERTY_VALUE);
}
@Test(expected = NullPointerException.class)
public void testSetPropertyValueInvalidProperty() {
PropertyUtils.setPropertyValue(props, null, PROPERTY_VALUE);
}
@Test(expected = IllegalArgumentException.class)
public void testSetPropertyValueEmptyProperty() {
PropertyUtils.setPropertyValue(props, "", PROPERTY_VALUE);
}
@Test(expected = NullPointerException.class)
public void testSetPropertyValueInvalidValue() {
PropertyUtils.setPropertyValue(props, PROPERTY_KEY, null);
}
@Test
public void testSetPropertyValue() {
assertTrue(PropertyUtils.setPropertyValue(props, PROPERTY_KEY, PROPERTY_VALUE));
}
@Test
public void testSetPropertyValueDuplicateEntry() {
props.put(PROPERTY_KEY, PROPERTY_VALUE);
assertFalse(PropertyUtils.setPropertyValue(props, PROPERTY_KEY, PROPERTY_VALUE));
}
}