package org.ovirt.engine.core.config;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
import org.junit.Before;
import org.junit.Test;
import org.ovirt.engine.core.config.validation.ConfigActionType;
public class EngineConfigCLIParserTest {
private EngineConfigCLIParser parser;
@Before
public void setUp() {
parser = new EngineConfigCLIParser();
}
@Test
public void testParseAllAction() throws Exception {
parser.parse(new String[] { "-a" });
assertEquals(ConfigActionType.ACTION_ALL, parser.getConfigAction());
}
@Test
public void testParseListActionWithExtraArguments() throws Exception {
parser.parse(new String[] { "-l", "b", "c" });
assertEquals(ConfigActionType.ACTION_LIST, parser.getConfigAction());
}
@Test(expected = IllegalArgumentException.class)
public void testParseNoAction() {
parser.parse(new String[] { "-b", "-t", "filename" });
}
@Test(expected = IllegalArgumentException.class)
public void testParseActionNotFirst() throws Exception {
parser.parse(new String[] { "-b", "-a", "filename" });
}
@Test
public void testGetOptionalConfigDir() throws Exception {
parser.parse(new String[] { "-a", "-c", "dirname" });
assertEquals("dirname", parser.getAlternateConfigFile());
}
@Test
public void testGetAlternativePropertiesFile() throws Exception {
parser.parse(new String[] { "-a", "-p", "filename" });
assertEquals("filename", parser.getAlternatePropertiesFile());
}
@Test
public void testParseGetActionWithKeyInFirstArgument() throws Exception {
parser.parse(new String[] { "--get=keyToGet" });
assertEquals(ConfigActionType.ACTION_GET, parser.getConfigAction());
assertEquals("keyToGet", parser.getKey());
}
@Test
public void testParseGetActionWithKeyInSecondArgument() throws Exception {
parser.parse(new String[] { "-g", "keyToGet" });
assertEquals(ConfigActionType.ACTION_GET, parser.getConfigAction());
assertEquals("keyToGet", parser.getKey());
}
@Test
public void testParseSetActionWithValidArguments() throws Exception {
parser.parse(new String[] { "-s", "keyToSet=valueToSet" });
assertEquals(ConfigActionType.ACTION_SET, parser.getConfigAction());
assertEquals("keyToSet", parser.getKey());
assertEquals("valueToSet", parser.getValue());
}
@Test
public void testParseReloadActionWithUser() throws Exception {
parser.parse(new String[] { "-r", "--user=username" });
assertEquals(ConfigActionType.ACTION_RELOAD, parser.getConfigAction());
assertEquals("username", parser.getUser());
}
@Test
public void testParseReloadActionWithUserPassFile() throws Exception {
parser.parse(new String[] { "--reload", "--user=username", "--admin-pass-file=filename" });
assertEquals(ConfigActionType.ACTION_RELOAD, parser.getConfigAction());
assertEquals("username", parser.getUser());
assertEquals("filename", parser.getAdminPassFile());
}
@Test
public void testParseOnlyReloadableFlag() throws Exception {
parser.parse(new String[] { "--list", "--only-reloadable" });
assertTrue(parser.isOnlyReloadable());
}
@Test
public void testParseNoOnlyReloadableFlag() throws Exception {
parser.parse(new String[] { "--list" });
assertFalse(parser.isOnlyReloadable());
}
}