use of bio.terra.cli.serialization.userfacing.UFConfig in project terra-cli by DataBiosphere.
the class Config method getValueList.
@Test
@DisplayName("config get and list always match")
void getValueList() throws IOException {
// toggle each config value and make sure config get and list always match.
// server and workspace config properties are not included here because they are covered by
// tests above.
// `terra config set browser MANUAL`
TestCommand.runCommandExpectSuccess("config", "set", "browser", "MANUAL");
// `terra config get browser`
BrowserLaunchOption browser = TestCommand.runAndParseCommandExpectSuccess(BrowserLaunchOption.class, "config", "get", "browser");
assertEquals(BrowserLaunchOption.MANUAL, browser, "get reflects set for browser");
// `terra config list`
UFConfig config = TestCommand.runAndParseCommandExpectSuccess(UFConfig.class, "config", "list");
assertEquals(BrowserLaunchOption.MANUAL, config.browserLaunchOption, "list reflects set for browser");
// `terra config set app-launch LOCAL_PROCESS`
TestCommand.runCommandExpectSuccess("config", "set", "app-launch", "LOCAL_PROCESS");
// `terra config get app-launch`
CommandRunnerOption appLaunch = TestCommand.runAndParseCommandExpectSuccess(CommandRunnerOption.class, "config", "get", "app-launch");
assertEquals(CommandRunnerOption.LOCAL_PROCESS, appLaunch, "get reflects set for app-launch");
// `terra config list`
config = TestCommand.runAndParseCommandExpectSuccess(UFConfig.class, "config", "list");
assertEquals(CommandRunnerOption.LOCAL_PROCESS, config.commandRunnerOption, "list reflects set for app-launch");
// `terra config set image --image=badimageid123`
String imageId = "badimageid123";
TestCommand.runCommandExpectSuccess("config", "set", "image", "--image=" + imageId);
// `terra config get image`
String image = TestCommand.runAndParseCommandExpectSuccess(String.class, "config", "get", "image");
assertEquals(imageId, image, "get reflects set for image");
// `terra config list`
config = TestCommand.runAndParseCommandExpectSuccess(UFConfig.class, "config", "list");
assertEquals(imageId, config.dockerImageId, "list reflects set for image");
// `terra config set resource-limit --max=3`
TestCommand.runCommandExpectSuccess("config", "set", "resource-limit", "--max=3");
// `terra config get resource-limit`
int resourceLimit = TestCommand.runAndParseCommandExpectSuccess(Integer.class, "config", "get", "resource-limit");
assertEquals(3, resourceLimit, "get reflects set for resource-limit");
// `terra config list`
config = TestCommand.runAndParseCommandExpectSuccess(UFConfig.class, "config", "list");
assertEquals(3, config.resourcesCacheSize, "list reflects set for resource-limit");
// `terra config set logging --console --level=ERROR`
TestCommand.runCommandExpectSuccess("config", "set", "logging", "--console", "--level=ERROR");
// `terra config set logging --file --level=TRACE`
TestCommand.runCommandExpectSuccess("config", "set", "logging", "--file", "--level=TRACE");
// `terra config get logging`
UFLoggingConfig logging = TestCommand.runAndParseCommandExpectSuccess(UFLoggingConfig.class, "config", "get", "logging");
assertEquals(Logger.LogLevel.ERROR, logging.consoleLoggingLevel, "get reflects set for console logging");
assertEquals(Logger.LogLevel.TRACE, logging.fileLoggingLevel, "get reflects set for file logging");
// `terra config list`
config = TestCommand.runAndParseCommandExpectSuccess(UFConfig.class, "config", "list");
assertEquals(Logger.LogLevel.ERROR, config.consoleLoggingLevel, "list reflects set for console logging");
assertEquals(Logger.LogLevel.TRACE, config.fileLoggingLevel, "list reflects set for file logging");
}
use of bio.terra.cli.serialization.userfacing.UFConfig in project terra-cli by DataBiosphere.
the class Config method server.
@Test
@DisplayName("config server set and server set are equivalent")
void server() throws IOException {
// It's fine that this test hard-codes server names. We're just testing server configuration is
// saved correctly; we're not actually making calls to the server.
// `terra server set --name=verily-devel`
TestCommand.runCommandExpectSuccess("server", "set", "--name=verily-devel", "--quiet");
// `terra config get server`
UFServer getValue = TestCommand.runAndParseCommandExpectSuccess(UFServer.class, "config", "get", "server");
assertEquals("verily-devel", getValue.name, "server set affects config get");
// `terra config list`
UFConfig config = TestCommand.runAndParseCommandExpectSuccess(UFConfig.class, "config", "list");
assertEquals("verily-devel", config.serverName, "server set affects config list");
// `terra config set server --name=broad-dev`
TestCommand.runCommandExpectSuccess("server", "set", "--name=broad-dev", "--quiet");
// `terra config get server`
getValue = TestCommand.runAndParseCommandExpectSuccess(UFServer.class, "config", "get", "server");
assertEquals("broad-dev", getValue.name, "config set server affects config get");
// `terra config list`
config = TestCommand.runAndParseCommandExpectSuccess(UFConfig.class, "config", "list");
assertEquals("broad-dev", config.serverName, "config set server affects config list");
}
use of bio.terra.cli.serialization.userfacing.UFConfig in project terra-cli by DataBiosphere.
the class Config method workspace.
@Test
@DisplayName("config workspace set and workspace set are equivalent")
void workspace() throws IOException {
workspaceCreator.login();
// `terra workspace create`
UFWorkspace workspace2 = TestCommand.runAndParseCommandExpectSuccess(UFWorkspace.class, "workspace", "create");
// `terra config get workspace`
UFWorkspace getValue = TestCommand.runAndParseCommandExpectSuccess(UFWorkspace.class, "config", "get", "workspace");
assertEquals(workspace2.id, getValue.id, "workspace create affects config get");
// `terra config list`
UFConfig config = TestCommand.runAndParseCommandExpectSuccess(UFConfig.class, "config", "list");
assertEquals(workspace2.id, config.workspaceId, "workspace create affects config list");
// `terra workspace set --id=$id1`
TestCommand.runCommandExpectSuccess("workspace", "set", "--id=" + getWorkspaceId());
// `terra config get workspace`
getValue = TestCommand.runAndParseCommandExpectSuccess(UFWorkspace.class, "config", "get", "workspace");
assertEquals(getWorkspaceId(), getValue.id, "workspace set affects config get");
// `terra config list`
config = TestCommand.runAndParseCommandExpectSuccess(UFConfig.class, "config", "list");
assertEquals(getWorkspaceId(), config.workspaceId, "workspace set affects config list");
// `terra config set workspace --id=$id2`
TestCommand.runCommandExpectSuccess("config", "set", "workspace", "--id=" + workspace2.id);
// `terra config get workspace`
getValue = TestCommand.runAndParseCommandExpectSuccess(UFWorkspace.class, "config", "get", "workspace");
assertEquals(workspace2.id, getValue.id, "config set workspace affects config get");
// `terra config list`
config = TestCommand.runAndParseCommandExpectSuccess(UFConfig.class, "config", "list");
assertEquals(workspace2.id, config.workspaceId, "confg set workspace affects config list");
// `terra workspace delete`
TestCommand.runCommandExpectSuccess("workspace", "delete", "--quiet");
// `terra config get workspace`
getValue = TestCommand.runAndParseCommandExpectSuccess(UFWorkspace.class, "config", "get", "workspace");
assertNull(getValue, "workspace delete affects config get");
// `terra config list`
config = TestCommand.runAndParseCommandExpectSuccess(UFConfig.class, "config", "list");
assertNull(config.workspaceId, "workspace delete affects config list");
}
Aggregations