Search in sources :

Example 1 with Import

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);
}
Also used : YamlImport(com.walmartlabs.concord.project.yaml.model.YamlImport) YamlImport(com.walmartlabs.concord.project.yaml.model.YamlImport) Import(com.walmartlabs.concord.imports.Import) HashMap(java.util.HashMap) ArrayList(java.util.ArrayList) Map(java.util.Map) HashMap(java.util.HashMap)

Example 2 with Import

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);
}
Also used : Jdk8Module(com.fasterxml.jackson.datatype.jdk8.Jdk8Module) Import(com.walmartlabs.concord.imports.Import) ObjectMapper(com.fasterxml.jackson.databind.ObjectMapper) GuavaModule(com.fasterxml.jackson.datatype.guava.GuavaModule) Test(org.junit.jupiter.api.Test)

Example 3 with Import

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());
}
Also used : Import(com.walmartlabs.concord.imports.Import) Imports(com.walmartlabs.concord.imports.Imports) Test(org.junit.jupiter.api.Test)

Example 4 with Import

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());
}
Also used : Import(com.walmartlabs.concord.imports.Import) Imports(com.walmartlabs.concord.imports.Imports) SecretDefinition(com.walmartlabs.concord.imports.Import.SecretDefinition) Test(org.junit.jupiter.api.Test)

Aggregations

Import (com.walmartlabs.concord.imports.Import)4 Test (org.junit.jupiter.api.Test)3 Imports (com.walmartlabs.concord.imports.Imports)2 ObjectMapper (com.fasterxml.jackson.databind.ObjectMapper)1 GuavaModule (com.fasterxml.jackson.datatype.guava.GuavaModule)1 Jdk8Module (com.fasterxml.jackson.datatype.jdk8.Jdk8Module)1 SecretDefinition (com.walmartlabs.concord.imports.Import.SecretDefinition)1 YamlImport (com.walmartlabs.concord.project.yaml.model.YamlImport)1 ArrayList (java.util.ArrayList)1 HashMap (java.util.HashMap)1 Map (java.util.Map)1