use of com.walmartlabs.concord.imports.Import in project concord by walmartlabs.
the class YamlImportConverter method convertImports.
@SuppressWarnings("unchecked")
public static Imports convertImports(List<YamlImport> imports) throws YamlConverterException {
if (imports == null || imports.isEmpty()) {
return null;
}
List<Import> result = new ArrayList<>();
for (YamlImport i : imports) {
Map<String, Object> opts = (Map<String, Object>) StepConverter.deepConvert(i.getOptions());
Map<String, Object> typedOpts = new HashMap<>(opts);
typedOpts.put("type", i.getType());
try {
result.add(objectMapper.convertValue(typedOpts, Import.class));
} catch (Exception e) {
error("Error parsing import definition: " + e.getMessage(), i);
}
}
return Imports.of(result);
}
use of com.walmartlabs.concord.imports.Import in project concord by walmartlabs.
the class ImportTest method testSerialization.
@Test
public void testSerialization() throws Exception {
Import item = Import.GitDefinition.builder().url("http://").dest("/tmp").path("/path").version("1.0.0").secret(Import.SecretDefinition.builder().org("default").name("secret-name").password("secret-password").build()).build();
ObjectMapper om = new ObjectMapper();
om.enable(SerializationFeature.INDENT_OUTPUT);
om.registerModule(new GuavaModule());
om.registerModule(new Jdk8Module());
String r = om.writeValueAsString(item);
Import di = om.readValue(r, Import.class);
assertEquals(item, di);
}
use of com.walmartlabs.concord.imports.Import in project concord by walmartlabs.
the class YamlOkParserTest method test007.
// Imports Definition Test
@Test
public void test007() throws Exception {
ProcessDefinition pd = load("007.yml");
Imports imports = pd.imports();
assertNotNull(imports);
assertEquals(4, imports.items().size());
Import i = imports.items().get(0);
assertEquals("git", i.type());
Import.GitDefinition g = (Import.GitDefinition) i;
assertEquals("https://github.com/me/my_private_repo.git", g.url());
assertEquals("test", g.name());
assertEquals("1.2.3", g.version());
assertEquals("/", g.path());
assertEquals("/dest", g.dest());
assertEquals(Arrays.asList("a", "b"), g.exclude());
assertEquals(Import.SecretDefinition.builder().name("my_secret_key").build(), g.secret());
assertEquals("git", imports.items().get(1).type());
assertEquals("mvn", imports.items().get(2).type());
assertEquals("dir", imports.items().get(3).type());
}
use of com.walmartlabs.concord.imports.Import in project concord by walmartlabs.
the class MessageSerializerTest method testProcessResponse.
@Test
public void testProcessResponse() {
SecretDefinition secret = SecretDefinition.builder().org("secret-org").name("secret-name").password("secret-password").build();
Import item = Import.GitDefinition.builder().url("http://url").version("master").dest("concord").path("path1").secret(secret).build();
Imports imports = Imports.of(Collections.singletonList(item));
ProcessResponse r = new ProcessResponse(123, "sesion-token", UUID.randomUUID(), "org-name", "repo-url", "repo-path", "commit-id", "repo-branch", "secret-name", imports);
// ---
String rSerialized = MessageSerializer.serialize(r);
assertNotNull(rSerialized);
ProcessResponse rDeserialized = MessageSerializer.deserialize(rSerialized);
assertEquals(r.getMessageType(), MessageType.PROCESS_RESPONSE);
assertEquals(r.getSessionToken(), rDeserialized.getSessionToken());
assertEquals(r.getProcessId(), rDeserialized.getProcessId());
assertEquals(r.getCorrelationId(), rDeserialized.getCorrelationId());
assertEquals("repo-branch", rDeserialized.getRepoBranch());
}
Aggregations