Skip to content

Commit

Permalink
fix(core): json schema was invalid for monaco on trigger
Browse files Browse the repository at this point in the history
  • Loading branch information
tchiotludo committed Feb 27, 2023
1 parent 2f65588 commit d9d592a
Show file tree
Hide file tree
Showing 2 changed files with 27 additions and 0 deletions.
10 changes: 10 additions & 0 deletions core/src/main/java/io/kestra/core/docs/JsonSchemaGenerator.java
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,8 @@ public <T> Map<String, Object> schemas(Class<? extends T> cls) {
fixFlow(map);
} else if (cls == Task.class) {
fixTask(map);
} else if (cls == AbstractTrigger.class) {
fixTrigger(map);
}

return map;
Expand Down Expand Up @@ -123,6 +125,14 @@ private static void fixTask(Map<String, Object> map) {
allOf.remove(1);
}

@SuppressWarnings("unchecked")
private static void fixTrigger(Map<String, Object> map) {
var definitions = (Map<String, Map<String, Object>>) map.get("definitions");
var task = (Map<String, Object>) definitions.get("io.kestra.core.models.triggers.AbstractTrigger-2");
var allOf = (List<Object>) task.get("allOf");
allOf.remove(1);
}

public <T> Map<String, Object> properties(Class<T> base, Class<? extends T> cls) {
return this.generate(cls, base);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
import io.kestra.core.models.annotations.PluginProperty;
import io.kestra.core.models.tasks.RunnableTask;
import io.kestra.core.models.tasks.VoidOutput;
import io.kestra.core.models.triggers.AbstractTrigger;
import io.kestra.core.runners.RunContext;
import io.kestra.core.tasks.scripts.ScriptOutput;
import io.kestra.core.Helpers;
Expand Down Expand Up @@ -105,6 +106,22 @@ void task() throws URISyntaxException {
});
}

@SuppressWarnings("unchecked")
@Test
void trigger() throws URISyntaxException {
Helpers.runApplicationContext((applicationContext) -> {
JsonSchemaGenerator jsonSchemaGenerator = applicationContext.getBean(JsonSchemaGenerator.class);

Map<String, Object> generate = jsonSchemaGenerator.schemas(AbstractTrigger.class);

var definitions = (Map<String, Map<String, Object>>) generate.get("definitions");
var task = (Map<String, Object>) definitions.get("io.kestra.core.models.triggers.AbstractTrigger-2");
var allOf = (List<Object>) task.get("allOf");

assertThat(allOf.size(), is(1));
});
}

@SuppressWarnings("unchecked")
@Test
void bash() throws URISyntaxException {
Expand Down

0 comments on commit d9d592a

Please sign in to comment.