use of com.walmartlabs.concord.ApiClient in project concord by walmartlabs.
the class CustomFormsIT method test.
@SuppressWarnings("unchecked")
@Test
public void test() throws Exception {
ApiClient client = serverRule.getClient();
// ---
String gitUrl = ITUtils.createGitRepo(CustomFormsIT.class, "customForm");
// ---
String orgName = "org_" + ITUtils.randomString();
OrganizationsApi organizationsApi = new OrganizationsApi(client);
organizationsApi.createOrUpdate(new OrganizationEntry().setName(orgName));
String projectName = "project_" + ITUtils.randomString();
String repoName = "test";
ProjectsApi projectsApi = new ProjectsApi(client);
projectsApi.createOrUpdate(orgName, new ProjectEntry().setName(projectName).setRepositories(Collections.singletonMap(repoName, new RepositoryEntry().setUrl(gitUrl).setBranch("master"))));
// ---
consoleRule.login(Concord.ADMIN_API_KEY);
// ---
String testValue = "test_" + ITUtils.randomString();
String url = "/api/v1/org/" + orgName + "/project/" + projectName + "/repo/" + repoName + "/start/default?testValue=" + testValue;
consoleRule.navigateToRelative(url);
By selector = By.id("testValue");
WebElement element = consoleRule.waitFor(selector);
assertEquals(testValue, element.getText());
Map<String, Object> formFields = (Map<String, Object>) consoleRule.executeJavaScript("return data.definitions");
Map<String, Object> fieldX = (Map<String, Object>) formFields.get("x");
List<Object> allowedValues = (List<Object>) fieldX.get("allow");
assertEquals(2, allowedValues.size(), "Expression object should have added two allowed values");
}
use of com.walmartlabs.concord.ApiClient in project concord-plugins by walmartlabs.
the class TerraformTaskV2 method execute.
@Override
public TaskResult execute(Variables input) throws Exception {
Path workDir = ctx.workingDirectory();
Map<String, Object> cfg = createCfg(workDir, input, ctx.defaultVariables());
boolean debug = MapUtils.get(cfg, TaskConstants.DEBUG_KEY, false, Boolean.class);
Action action = getAction(cfg);
// configure the state backend and populate the environment with necessary parameters
Backend backend = new BackendFactoryV2(ctx, apiClient, lockService).getBackend(cfg);
Map<String, String> env = getEnv(cfg, backend);
// configure the environment to support Terraform's git modules using Concord Secrets for authentication
GitSshWrapper.SecretProvider secretProvider = (orgName, secretName, password) -> {
SecretService.KeyPair result = secretService.exportKeyAsFile(orgName, secretName, password);
return result.privateKey();
};
GitSshWrapper gitSshWrapper = GitSshWrapper.createFrom(secretProvider, workDir, cfg, debug);
Map<String, String> baseEnv = gitSshWrapper.updateEnv(workDir, new HashMap<>());
// configure the Terraform's binary
TerraformBinaryResolver binaryResolver = new TerraformBinaryResolver(cfg, workDir, debug, url -> dependencyManager.resolve(URI.create(url)));
Terraform terraform = new Terraform(binaryResolver, debug, baseEnv);
if (debug) {
terraform.exec(workDir, "version", "version");
}
try {
TerraformActionResult result = TerraformTaskCommon.execute(terraform, action, backend, workDir, cfg, env);
return convertResult(result);
} finally {
gitSshWrapper.cleanup();
}
}
Aggregations