From d9d592a959e6655c178f0e3db1e21471849d0e63 Mon Sep 17 00:00:00 2001 From: Ludovic DEHON Date: Mon, 27 Feb 2023 23:05:34 +0100 Subject: [PATCH] fix(core): json schema was invalid for monaco on trigger --- .../kestra/core/docs/JsonSchemaGenerator.java | 10 ++++++++++ .../core/docs/JsonSchemaGeneratorTest.java | 17 +++++++++++++++++ 2 files changed, 27 insertions(+) diff --git a/core/src/main/java/io/kestra/core/docs/JsonSchemaGenerator.java b/core/src/main/java/io/kestra/core/docs/JsonSchemaGenerator.java index 6afe91bb666..776170bbdab 100644 --- a/core/src/main/java/io/kestra/core/docs/JsonSchemaGenerator.java +++ b/core/src/main/java/io/kestra/core/docs/JsonSchemaGenerator.java @@ -65,6 +65,8 @@ public Map schemas(Class cls) { fixFlow(map); } else if (cls == Task.class) { fixTask(map); + } else if (cls == AbstractTrigger.class) { + fixTrigger(map); } return map; @@ -123,6 +125,14 @@ private static void fixTask(Map map) { allOf.remove(1); } + @SuppressWarnings("unchecked") + private static void fixTrigger(Map map) { + var definitions = (Map>) map.get("definitions"); + var task = (Map) definitions.get("io.kestra.core.models.triggers.AbstractTrigger-2"); + var allOf = (List) task.get("allOf"); + allOf.remove(1); + } + public Map properties(Class base, Class cls) { return this.generate(cls, base); } diff --git a/core/src/test/java/io/kestra/core/docs/JsonSchemaGeneratorTest.java b/core/src/test/java/io/kestra/core/docs/JsonSchemaGeneratorTest.java index d90d5143d54..8390086b266 100644 --- a/core/src/test/java/io/kestra/core/docs/JsonSchemaGeneratorTest.java +++ b/core/src/test/java/io/kestra/core/docs/JsonSchemaGeneratorTest.java @@ -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; @@ -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 generate = jsonSchemaGenerator.schemas(AbstractTrigger.class); + + var definitions = (Map>) generate.get("definitions"); + var task = (Map) definitions.get("io.kestra.core.models.triggers.AbstractTrigger-2"); + var allOf = (List) task.get("allOf"); + + assertThat(allOf.size(), is(1)); + }); + } + @SuppressWarnings("unchecked") @Test void bash() throws URISyntaxException {