This is an automated email from the ASF dual-hosted git repository.

davsclaus pushed a commit to branch yaml-from
in repository https://gitbox.apache.org/repos/asf/camel.git

commit 33431ea391b5d11f5f548742e1140ba73b055025
Author: Claus Ibsen <[email protected]>
AuthorDate: Thu Dec 9 16:11:20 2021 +0100

    CAMEL-17304: camel-yaml-dsl - Make from consistent that it requires steps, 
so when you define routes in yaml dsl - its the same if you have route/from as 
top level or not - like in java dsl.
---
 .../apache/camel/dsl/yaml/common/YamlSupport.java  |  8 ++-
 .../dsl/yaml/deserializers/ModelDeserializers.java | 72 +++++++++++-----------
 .../deserializers/FromDefinitionDeserializer.java  | 18 +++++-
 .../deserializers/RouteDefinitionDeserializer.java |  8 +--
 .../RouteFromDefinitionDeserializer.java           |  1 +
 .../dsl/yaml/GenerateYamlDeserializersMojo.java    |  2 +-
 .../src/generated/resources/camel-yaml-dsl.json    | 16 ++---
 .../camel/dsl/yaml/RouteConfigurationTest.groovy   | 16 ++---
 .../org/apache/camel/dsl/yaml/RoutesTest.groovy    | 31 ++++++++--
 9 files changed, 106 insertions(+), 66 deletions(-)

diff --git 
a/dsl/camel-yaml-dsl/camel-yaml-dsl-common/src/main/java/org/apache/camel/dsl/yaml/common/YamlSupport.java
 
b/dsl/camel-yaml-dsl/camel-yaml-dsl-common/src/main/java/org/apache/camel/dsl/yaml/common/YamlSupport.java
index a596677..687d067 100644
--- 
a/dsl/camel-yaml-dsl/camel-yaml-dsl-common/src/main/java/org/apache/camel/dsl/yaml/common/YamlSupport.java
+++ 
b/dsl/camel-yaml-dsl/camel-yaml-dsl-common/src/main/java/org/apache/camel/dsl/yaml/common/YamlSupport.java
@@ -29,6 +29,7 @@ import org.apache.camel.Component;
 import org.apache.camel.ExtendedCamelContext;
 import org.apache.camel.PropertyBindingException;
 import org.apache.camel.dsl.yaml.common.exception.UnsupportedNodeTypeException;
+import org.apache.camel.model.RouteDefinition;
 import org.apache.camel.spi.CamelContextCustomizer;
 import org.apache.camel.spi.EndpointUriFactory;
 import org.apache.camel.spi.PropertyConfigurer;
@@ -48,6 +49,7 @@ import static 
org.apache.camel.dsl.yaml.common.YamlDeserializerSupport.asScalarM
 import static org.apache.camel.dsl.yaml.common.YamlDeserializerSupport.asText;
 import static 
org.apache.camel.dsl.yaml.common.YamlDeserializerSupport.getDeserializationContext;
 import static 
org.apache.camel.dsl.yaml.common.YamlDeserializerSupport.setDeserializationContext;
+import static 
org.apache.camel.dsl.yaml.common.YamlDeserializerSupport.setSteps;
 
 public final class YamlSupport {
     private YamlSupport() {
@@ -201,7 +203,7 @@ public final class YamlSupport {
         return node;
     }
 
-    public static String creteEndpointUri(Node node, BiFunction<String, Node, 
String> endpointResolver) {
+    public static String creteEndpointUri(Node node, BiFunction<String, Node, 
String> endpointResolver, RouteDefinition route) {
         String answer = null;
 
         if (node.getNodeType() == NodeType.SCALAR) {
@@ -236,6 +238,10 @@ public final class YamlSupport {
 
                         parameters = asScalarMap(tuple.getValueNode());
                         break;
+                    case "steps":
+                        // steps must be set on the route
+                        setSteps(route, val);
+                        break;
                     default:
                         String endpointUri = endpointResolver.apply(key, val);
                         if (endpointUri != null) {
diff --git 
a/dsl/camel-yaml-dsl/camel-yaml-dsl-deserializers/src/generated/java/org/apache/camel/dsl/yaml/deserializers/ModelDeserializers.java
 
b/dsl/camel-yaml-dsl/camel-yaml-dsl-deserializers/src/generated/java/org/apache/camel/dsl/yaml/deserializers/ModelDeserializers.java
index 41b636b..e0fee5b 100644
--- 
a/dsl/camel-yaml-dsl/camel-yaml-dsl-deserializers/src/generated/java/org/apache/camel/dsl/yaml/deserializers/ModelDeserializers.java
+++ 
b/dsl/camel-yaml-dsl/camel-yaml-dsl-deserializers/src/generated/java/org/apache/camel/dsl/yaml/deserializers/ModelDeserializers.java
@@ -494,7 +494,7 @@ public final class ModelDeserializers extends 
YamlDeserializerSupport {
                     break;
                 }
                 case "steps": {
-                    setSteps(target, node);;
+                    setSteps(target, node);
                     break;
                 }
                 default: {
@@ -1494,7 +1494,7 @@ public final class ModelDeserializers extends 
YamlDeserializerSupport {
                     break;
                 }
                 case "steps": {
-                    setSteps(target, node);;
+                    setSteps(target, node);
                     break;
                 }
                 default: {
@@ -1556,7 +1556,7 @@ public final class ModelDeserializers extends 
YamlDeserializerSupport {
                     break;
                 }
                 case "steps": {
-                    setSteps(target, node);;
+                    setSteps(target, node);
                     break;
                 }
                 default: {
@@ -1639,7 +1639,7 @@ public final class ModelDeserializers extends 
YamlDeserializerSupport {
                     break;
                 }
                 case "steps": {
-                    setSteps(target, node);;
+                    setSteps(target, node);
                     break;
                 }
                 default: {
@@ -4130,7 +4130,7 @@ public final class ModelDeserializers extends 
YamlDeserializerSupport {
                     break;
                 }
                 case "steps": {
-                    setSteps(target, node);;
+                    setSteps(target, node);
                     break;
                 }
                 default: {
@@ -5180,7 +5180,7 @@ public final class ModelDeserializers extends 
YamlDeserializerSupport {
                     break;
                 }
                 case "steps": {
-                    setSteps(target, node);;
+                    setSteps(target, node);
                     break;
                 }
                 default: {
@@ -5242,7 +5242,7 @@ public final class ModelDeserializers extends 
YamlDeserializerSupport {
                     break;
                 }
                 case "steps": {
-                    setSteps(target, node);;
+                    setSteps(target, node);
                     break;
                 }
                 default: {
@@ -5488,7 +5488,7 @@ public final class ModelDeserializers extends 
YamlDeserializerSupport {
                     break;
                 }
                 case "steps": {
-                    setSteps(target, node);;
+                    setSteps(target, node);
                     break;
                 }
                 default: {
@@ -5926,7 +5926,7 @@ public final class ModelDeserializers extends 
YamlDeserializerSupport {
                     break;
                 }
                 case "steps": {
-                    setSteps(target, node);;
+                    setSteps(target, node);
                     break;
                 }
                 default: {
@@ -6449,7 +6449,7 @@ public final class ModelDeserializers extends 
YamlDeserializerSupport {
                     break;
                 }
                 case "steps": {
-                    setSteps(target, node);;
+                    setSteps(target, node);
                     break;
                 }
                 default: {
@@ -6710,7 +6710,7 @@ public final class ModelDeserializers extends 
YamlDeserializerSupport {
                     break;
                 }
                 case "steps": {
-                    setSteps(target, node);;
+                    setSteps(target, node);
                     break;
                 }
                 default: {
@@ -6775,7 +6775,7 @@ public final class ModelDeserializers extends 
YamlDeserializerSupport {
                     break;
                 }
                 case "steps": {
-                    setSteps(target, node);;
+                    setSteps(target, node);
                     break;
                 }
                 default: {
@@ -6852,7 +6852,7 @@ public final class ModelDeserializers extends 
YamlDeserializerSupport {
                     break;
                 }
                 case "steps": {
-                    setSteps(target, node);;
+                    setSteps(target, node);
                     break;
                 }
                 default: {
@@ -7892,7 +7892,7 @@ public final class ModelDeserializers extends 
YamlDeserializerSupport {
                     break;
                 }
                 case "steps": {
-                    setSteps(target, node);;
+                    setSteps(target, node);
                     break;
                 }
                 default: {
@@ -8080,7 +8080,7 @@ public final class ModelDeserializers extends 
YamlDeserializerSupport {
                     break;
                 }
                 case "steps": {
-                    setSteps(target, node);;
+                    setSteps(target, node);
                     break;
                 }
                 default: {
@@ -8658,7 +8658,7 @@ public final class ModelDeserializers extends 
YamlDeserializerSupport {
                     break;
                 }
                 case "steps": {
-                    setSteps(target, node);;
+                    setSteps(target, node);
                     break;
                 }
                 default: {
@@ -8902,7 +8902,7 @@ public final class ModelDeserializers extends 
YamlDeserializerSupport {
                     break;
                 }
                 case "steps": {
-                    setSteps(target, node);;
+                    setSteps(target, node);
                     break;
                 }
                 default: {
@@ -9022,7 +9022,7 @@ public final class ModelDeserializers extends 
YamlDeserializerSupport {
                     break;
                 }
                 case "steps": {
-                    setSteps(target, node);;
+                    setSteps(target, node);
                     break;
                 }
                 default: {
@@ -9081,7 +9081,7 @@ public final class ModelDeserializers extends 
YamlDeserializerSupport {
                     break;
                 }
                 case "steps": {
-                    setSteps(target, node);;
+                    setSteps(target, node);
                     break;
                 }
                 default: {
@@ -9193,7 +9193,7 @@ public final class ModelDeserializers extends 
YamlDeserializerSupport {
                     break;
                 }
                 case "steps": {
-                    setSteps(target, node);;
+                    setSteps(target, node);
                     break;
                 }
                 default: {
@@ -9242,7 +9242,7 @@ public final class ModelDeserializers extends 
YamlDeserializerSupport {
                     break;
                 }
                 case "steps": {
-                    setSteps(target, node);;
+                    setSteps(target, node);
                     break;
                 }
                 default: {
@@ -9672,7 +9672,7 @@ public final class ModelDeserializers extends 
YamlDeserializerSupport {
                     break;
                 }
                 case "steps": {
-                    setSteps(target, node);;
+                    setSteps(target, node);
                     break;
                 }
                 default: {
@@ -9722,7 +9722,7 @@ public final class ModelDeserializers extends 
YamlDeserializerSupport {
                     break;
                 }
                 case "steps": {
-                    setSteps(target, node);;
+                    setSteps(target, node);
                     break;
                 }
                 default: {
@@ -9778,7 +9778,7 @@ public final class ModelDeserializers extends 
YamlDeserializerSupport {
                     break;
                 }
                 case "steps": {
-                    setSteps(target, node);;
+                    setSteps(target, node);
                     break;
                 }
                 default: {
@@ -10047,7 +10047,7 @@ public final class ModelDeserializers extends 
YamlDeserializerSupport {
                     break;
                 }
                 case "steps": {
-                    setSteps(target, node);;
+                    setSteps(target, node);
                     break;
                 }
                 default: {
@@ -10508,7 +10508,7 @@ public final class ModelDeserializers extends 
YamlDeserializerSupport {
                     break;
                 }
                 case "steps": {
-                    setSteps(target, node);;
+                    setSteps(target, node);
                     break;
                 }
                 default: {
@@ -11265,7 +11265,7 @@ public final class ModelDeserializers extends 
YamlDeserializerSupport {
                     break;
                 }
                 case "steps": {
-                    setSteps(target, node);;
+                    setSteps(target, node);
                     break;
                 }
                 default: {
@@ -13035,7 +13035,7 @@ public final class ModelDeserializers extends 
YamlDeserializerSupport {
                     break;
                 }
                 case "steps": {
-                    setSteps(target, node);;
+                    setSteps(target, node);
                     break;
                 }
                 default: {
@@ -13422,7 +13422,7 @@ public final class ModelDeserializers extends 
YamlDeserializerSupport {
                     break;
                 }
                 case "steps": {
-                    setSteps(target, node);;
+                    setSteps(target, node);
                     break;
                 }
                 default: {
@@ -14970,7 +14970,7 @@ public final class ModelDeserializers extends 
YamlDeserializerSupport {
                     break;
                 }
                 case "steps": {
-                    setSteps(target, node);;
+                    setSteps(target, node);
                     break;
                 }
                 default: {
@@ -15079,7 +15079,7 @@ public final class ModelDeserializers extends 
YamlDeserializerSupport {
                     break;
                 }
                 case "steps": {
-                    setSteps(target, node);;
+                    setSteps(target, node);
                     break;
                 }
                 default: {
@@ -16180,7 +16180,7 @@ public final class ModelDeserializers extends 
YamlDeserializerSupport {
                     break;
                 }
                 case "steps": {
-                    setSteps(target, node);;
+                    setSteps(target, node);
                     break;
                 }
                 default: {
@@ -16373,7 +16373,7 @@ public final class ModelDeserializers extends 
YamlDeserializerSupport {
                     break;
                 }
                 case "steps": {
-                    setSteps(target, node);;
+                    setSteps(target, node);
                     break;
                 }
                 default: {
@@ -17406,7 +17406,7 @@ public final class ModelDeserializers extends 
YamlDeserializerSupport {
                     break;
                 }
                 case "steps": {
-                    setSteps(target, node);;
+                    setSteps(target, node);
                     break;
                 }
                 default: {
@@ -17516,7 +17516,7 @@ public final class ModelDeserializers extends 
YamlDeserializerSupport {
                     break;
                 }
                 case "steps": {
-                    setSteps(target, node);;
+                    setSteps(target, node);
                     break;
                 }
                 default: {
@@ -17585,7 +17585,7 @@ public final class ModelDeserializers extends 
YamlDeserializerSupport {
                     break;
                 }
                 case "steps": {
-                    setSteps(target, node);;
+                    setSteps(target, node);
                     break;
                 }
                 default: {
diff --git 
a/dsl/camel-yaml-dsl/camel-yaml-dsl-deserializers/src/main/java/org/apache/camel/dsl/yaml/deserializers/FromDefinitionDeserializer.java
 
b/dsl/camel-yaml-dsl/camel-yaml-dsl-deserializers/src/main/java/org/apache/camel/dsl/yaml/deserializers/FromDefinitionDeserializer.java
index 4df8ddf..3fa8545 100644
--- 
a/dsl/camel-yaml-dsl/camel-yaml-dsl-deserializers/src/main/java/org/apache/camel/dsl/yaml/deserializers/FromDefinitionDeserializer.java
+++ 
b/dsl/camel-yaml-dsl/camel-yaml-dsl-deserializers/src/main/java/org/apache/camel/dsl/yaml/deserializers/FromDefinitionDeserializer.java
@@ -19,6 +19,7 @@ package org.apache.camel.dsl.yaml.deserializers;
 import org.apache.camel.dsl.yaml.common.YamlDeserializerResolver;
 import org.apache.camel.dsl.yaml.common.YamlSupport;
 import org.apache.camel.model.FromDefinition;
+import org.apache.camel.model.RouteDefinition;
 import org.apache.camel.spi.annotations.YamlProperty;
 import org.apache.camel.spi.annotations.YamlType;
 import org.snakeyaml.engine.v2.api.ConstructNode;
@@ -30,16 +31,27 @@ import org.snakeyaml.engine.v2.nodes.Node;
           order = YamlDeserializerResolver.ORDER_DEFAULT,
           properties = {
                   @YamlProperty(name = "uri", type = "string", required = 
true),
-                  @YamlProperty(name = "parameters", type = "object")
+                  @YamlProperty(name = "parameters", type = "object"),
+                  @YamlProperty(name = "steps", type = 
"array:org.apache.camel.model.ProcessorDefinition", required = true)
           })
 public class FromDefinitionDeserializer implements ConstructNode {
+
     @Override
     public Object construct(Node node) {
-        String uri = YamlSupport.creteEndpointUri(node, 
EndpointConsumerDeserializersResolver::resolveEndpointUri);
+
+        // from must be wrapped in a route, so use existing route or create a 
new route
+        RouteDefinition route = (RouteDefinition) 
node.getProperty(RouteDefinition.class.getName());
+        if (route == null) {
+            route = new RouteDefinition();
+        }
+
+        String uri = YamlSupport.creteEndpointUri(node, 
EndpointConsumerDeserializersResolver::resolveEndpointUri, route);
         if (uri == null) {
             throw new IllegalStateException("The endpoint URI must be set");
         }
 
-        return new FromDefinition(uri);
+        FromDefinition answer = new FromDefinition(uri);
+        route.setInput(answer);
+        return answer;
     }
 }
diff --git 
a/dsl/camel-yaml-dsl/camel-yaml-dsl-deserializers/src/main/java/org/apache/camel/dsl/yaml/deserializers/RouteDefinitionDeserializer.java
 
b/dsl/camel-yaml-dsl/camel-yaml-dsl-deserializers/src/main/java/org/apache/camel/dsl/yaml/deserializers/RouteDefinitionDeserializer.java
index da7ca89..30a1e6a 100644
--- 
a/dsl/camel-yaml-dsl/camel-yaml-dsl-deserializers/src/main/java/org/apache/camel/dsl/yaml/deserializers/RouteDefinitionDeserializer.java
+++ 
b/dsl/camel-yaml-dsl/camel-yaml-dsl-deserializers/src/main/java/org/apache/camel/dsl/yaml/deserializers/RouteDefinitionDeserializer.java
@@ -38,10 +38,10 @@ import org.snakeyaml.engine.v2.nodes.NodeTuple;
                   @YamlProperty(name = "id", type = "string"),
                   @YamlProperty(name = "group", type = "string"),
                   @YamlProperty(name = "route-configuration-id", type = 
"string"),
-                  @YamlProperty(name = "from", type = 
"object:org.apache.camel.model.FromDefinition", required = true),
-                  @YamlProperty(name = "steps", type = 
"array:org.apache.camel.model.ProcessorDefinition", required = true)
+                  @YamlProperty(name = "from", type = 
"object:org.apache.camel.model.FromDefinition", required = true)
           })
 public class RouteDefinitionDeserializer extends 
YamlDeserializerBase<RouteDefinition> {
+
     public RouteDefinitionDeserializer() {
         super(RouteDefinition.class);
     }
@@ -62,9 +62,6 @@ public class RouteDefinitionDeserializer extends 
YamlDeserializerBase<RouteDefin
             setDeserializationContext(val, dc);
 
             switch (key) {
-                case "steps":
-                    setSteps(target, val);
-                    break;
                 case "id":
                     target.setId(asText(val));
                     break;
@@ -75,6 +72,7 @@ public class RouteDefinitionDeserializer extends 
YamlDeserializerBase<RouteDefin
                     target.setRouteConfigurationId(asText(val));
                     break;
                 case "from":
+                    val.setProperty(RouteDefinition.class.getName(), target);
                     target.setInput(asType(val, FromDefinition.class));
                     break;
                 default:
diff --git 
a/dsl/camel-yaml-dsl/camel-yaml-dsl-deserializers/src/main/java/org/apache/camel/dsl/yaml/deserializers/RouteFromDefinitionDeserializer.java
 
b/dsl/camel-yaml-dsl/camel-yaml-dsl-deserializers/src/main/java/org/apache/camel/dsl/yaml/deserializers/RouteFromDefinitionDeserializer.java
index 6b65b7e..6842493 100644
--- 
a/dsl/camel-yaml-dsl/camel-yaml-dsl-deserializers/src/main/java/org/apache/camel/dsl/yaml/deserializers/RouteFromDefinitionDeserializer.java
+++ 
b/dsl/camel-yaml-dsl/camel-yaml-dsl-deserializers/src/main/java/org/apache/camel/dsl/yaml/deserializers/RouteFromDefinitionDeserializer.java
@@ -30,6 +30,7 @@ import org.apache.camel.spi.annotations.YamlType;
                                 type = 
"object:org.apache.camel.dsl.yaml.deserializers.OutputAwareFromDefinition")
           })
 public class RouteFromDefinitionDeserializer extends 
OutputAwareFromDefinitionDeserializer {
+
     public RouteFromDefinitionDeserializer() {
     }
 }
diff --git 
a/dsl/camel-yaml-dsl/camel-yaml-dsl-maven-plugin/src/main/java/org/apache/camel/maven/dsl/yaml/GenerateYamlDeserializersMojo.java
 
b/dsl/camel-yaml-dsl/camel-yaml-dsl-maven-plugin/src/main/java/org/apache/camel/maven/dsl/yaml/GenerateYamlDeserializersMojo.java
index 9c490ef..f821fb6 100644
--- 
a/dsl/camel-yaml-dsl/camel-yaml-dsl-maven-plugin/src/main/java/org/apache/camel/maven/dsl/yaml/GenerateYamlDeserializersMojo.java
+++ 
b/dsl/camel-yaml-dsl/camel-yaml-dsl-maven-plugin/src/main/java/org/apache/camel/maven/dsl/yaml/GenerateYamlDeserializersMojo.java
@@ -551,7 +551,7 @@ public class GenerateYamlDeserializersMojo extends 
GenerateYamlSupportMojo {
             caseAdded = true;
 
             setProperty.beginControlFlow("case \"steps\":");
-            setProperty.addStatement("setSteps(target, node);");
+            setProperty.addStatement("setSteps(target, node)");
             setProperty.addStatement("break");
             setProperty.endControlFlow();
 
diff --git 
a/dsl/camel-yaml-dsl/camel-yaml-dsl/src/generated/resources/camel-yaml-dsl.json 
b/dsl/camel-yaml-dsl/camel-yaml-dsl/src/generated/resources/camel-yaml-dsl.json
index 62e992b..7fa4a6e 100644
--- 
a/dsl/camel-yaml-dsl/camel-yaml-dsl/src/generated/resources/camel-yaml-dsl.json
+++ 
b/dsl/camel-yaml-dsl/camel-yaml-dsl/src/generated/resources/camel-yaml-dsl.json
@@ -944,12 +944,18 @@
             "parameters" : {
               "type" : "object"
             },
+            "steps" : {
+              "type" : "array",
+              "items" : {
+                "$ref" : 
"#/items/definitions/org.apache.camel.model.ProcessorDefinition"
+              }
+            },
             "uri" : {
               "type" : "string"
             }
           }
         } ],
-        "required" : [ "uri" ]
+        "required" : [ "steps", "uri" ]
       },
       "org.apache.camel.model.GlobalOptionDefinition" : {
         "type" : "object",
@@ -2205,15 +2211,9 @@
           },
           "route-configuration-id" : {
             "type" : "string"
-          },
-          "steps" : {
-            "type" : "array",
-            "items" : {
-              "$ref" : 
"#/items/definitions/org.apache.camel.model.ProcessorDefinition"
-            }
           }
         },
-        "required" : [ "from", "steps" ]
+        "required" : [ "from" ]
       },
       "org.apache.camel.model.RouteTemplateBeanDefinition" : {
         "oneOf" : [ {
diff --git 
a/dsl/camel-yaml-dsl/camel-yaml-dsl/src/test/groovy/org/apache/camel/dsl/yaml/RouteConfigurationTest.groovy
 
b/dsl/camel-yaml-dsl/camel-yaml-dsl/src/test/groovy/org/apache/camel/dsl/yaml/RouteConfigurationTest.groovy
index 15550bf..ba7e9a8 100644
--- 
a/dsl/camel-yaml-dsl/camel-yaml-dsl/src/test/groovy/org/apache/camel/dsl/yaml/RouteConfigurationTest.groovy
+++ 
b/dsl/camel-yaml-dsl/camel-yaml-dsl/src/test/groovy/org/apache/camel/dsl/yaml/RouteConfigurationTest.groovy
@@ -133,16 +133,16 @@ class RouteConfigurationTest extends YamlTestSupport {
                 - route:
                     route-configuration-id: handleError 
                     from:
-                        uri: "direct:start"
-                    steps:
-                      - process: 
-                          ref: "myFailingProcessor"            
+                      uri: "direct:start"
+                      steps:
+                        - process: 
+                            ref: "myFailingProcessor"            
                 - route:
                     from:
-                        uri: "direct:start2"
-                    steps:
-                      - process: 
-                          ref: "myFailingProcessor"            
+                      uri: "direct:start2"
+                      steps:
+                        - process: 
+                            ref: "myFailingProcessor"            
             """
 
         withMock('mock:on-exception') {
diff --git 
a/dsl/camel-yaml-dsl/camel-yaml-dsl/src/test/groovy/org/apache/camel/dsl/yaml/RoutesTest.groovy
 
b/dsl/camel-yaml-dsl/camel-yaml-dsl/src/test/groovy/org/apache/camel/dsl/yaml/RoutesTest.groovy
index d3baef1..fed813d 100644
--- 
a/dsl/camel-yaml-dsl/camel-yaml-dsl/src/test/groovy/org/apache/camel/dsl/yaml/RoutesTest.groovy
+++ 
b/dsl/camel-yaml-dsl/camel-yaml-dsl/src/test/groovy/org/apache/camel/dsl/yaml/RoutesTest.groovy
@@ -101,8 +101,8 @@ class RoutesTest extends YamlTestSupport {
                 - route:
                     from:
                       uri: "direct:info"
-                    steps:
-                      - log: "message"
+                      steps:
+                        - log: "message"
             '''
         then:
             context.routeDefinitions.size() == 1
@@ -124,8 +124,8 @@ class RoutesTest extends YamlTestSupport {
                       uri: "direct:info"
                       parameters:
                         timeout: 1234
-                    steps:
-                      - log: "message"
+                      steps:
+                        - log: "message"
             '''
         then:
             context.routeDefinitions.size() == 1
@@ -138,4 +138,27 @@ class RoutesTest extends YamlTestSupport {
                 }
             }
     }
+
+    def "load route inlined"() {
+        when:
+        loadRoutes '''
+                - route:
+                    id: demo-route
+                    from:
+                      uri: "direct:info"
+                      steps:
+                        - log: "message"
+            '''
+        then:
+        context.routeDefinitions.size() == 1
+
+        with(context.routeDefinitions[0], RouteDefinition) {
+            routeId == 'demo-route'
+            input.endpointUri == 'direct:info'
+
+            with (outputs[0], LogDefinition) {
+                message == 'message'
+            }
+        }
+    }
 }

Reply via email to