{"action":"created","issue":{"url":"https://api.github.com/repos/fabric8io/fabric8-forge/issues/260","repository_url":"https://api.github.com/repos/fabric8io/fabric8-forge","labels_url":"https://api.github.com/repos/fabric8io/fabric8-forge/issues/260/labels{/name}","comments_url":"https://api.github.com/repos/fabric8io/fabric8-forge/issues/260/comments","events_url":"https://api.github.com/repos/fabric8io/fabric8-forge/issues/260/events","html_url":"https://github.com/fabric8io/fabric8-forge/issues/260","id":155722656,"number":260,"title":"have a way to test any step/endpoint and keep around the last output message","user":{"login":"jstrachan","id":30140,"avatar_url":"https://avatars.githubusercontent.com/u/30140?v=3","gravatar_id":"","url":"https://api.github.com/users/jstrachan","html_url":"https://github.com/jstrachan","followers_url":"https://api.github.com/users/jstrachan/followers","following_url":"https://api.github.com/users/jstrachan/following{/other_user}","gists_url":"https://api.github.com/users/jstrachan/gists{/gist_id}","starred_url":"https://api.github.com/users/jstrachan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jstrachan/subscriptions","organizations_url":"https://api.github.com/users/jstrachan/orgs","repos_url":"https://api.github.com/users/jstrachan/repos","events_url":"https://api.github.com/users/jstrachan/events{/privacy}","received_events_url":"https://api.github.com/users/jstrachan/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/fabric8io/fabric8-forge/labels/camel","name":"camel","color":"5319e7"}],"state":"open","locked":false,"assignee":{"login":"davsclaus","id":477100,"avatar_url":"https://avatars.githubusercontent.com/u/477100?v=3","gravatar_id":"","url":"https://api.github.com/users/davsclaus","html_url":"https://github.com/davsclaus","followers_url":"https://api.github.com/users/davsclaus/followers","following_url":"https://api.github.com/users/davsclaus/following{/other_user}","gists_url":"https://api.github.com/users/davsclaus/gists{/gist_id}","starred_url":"https://api.github.com/users/davsclaus/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/davsclaus/subscriptions","organizations_url":"https://api.github.com/users/davsclaus/orgs","repos_url":"https://api.github.com/users/davsclaus/repos","events_url":"https://api.github.com/users/davsclaus/events{/privacy}","received_events_url":"https://api.github.com/users/davsclaus/received_events","type":"User","site_admin":false},"milestone":null,"comments":1,"created_at":"2016-05-19T12:16:44Z","updated_at":"2016-05-19T12:26:07Z","closed_at":null,"body":"it would really help the tooling experience if you could test changes to an endpoint/node in isolation.\r\n\r\ne.g. create and configure and endpoint, then have a `Test` button. This then spins up a custom camel context that tries to connect to the endpoint and tries to receive 1 message (ideally in a transaction so it can rollback without consuming the message!). If it fails to connect then the error should be given to the user (e.g. maybe they got the wrong service location, login or password etc).\r\n\r\nTesting a `from node` should record, in git source code, the json of the message payload. The editor/designer can then use this payload data to help the user configure the next step in the route. e.g. by looking inside the message data the user can see how to extract fields to set headers or payloads of transformed messages etc.\r\n\r\nImagine we had something like this...\r\n\r\n```\r\nmycamel-project/\r\n  src/\r\n    main/\r\n    test/\r\n      java/\r\n      camel/\r\n         out/\r\n            contextId/\r\n               routeId/\r\n                 nodeId/\r\n                   1.json\r\n```\r\n\r\nThen for each context/route/node we can find the output. Plus that means for anything other than the `from` node, we can find the input and output (i.e. the output of the previous step). \r\n\r\nSo for, say, a transform step we can re-run the step at any time using the previous steps input and re-generate the output etc. We could even keep history and show the user how the change to a node effected the output.\r\n\r\nThis reminds me a little of the tracing / debugging we have; but its more a simple design time approach of keeping 1 message around for each step to help designing/changing any individual part of the flow with fast feedback.\r\n\r\nWe can then re-run the whole route from the sample message and get the new outputs. Folks could then click some parts of the output and turn it into a unit test? "},"comment":{"url":"https://api.github.com/repos/fabric8io/fabric8-forge/issues/comments/220309043","html_url":"https://github.com/fabric8io/fabric8-forge/issues/260#issuecomment-220309043","issue_url":"https://api.github.com/repos/fabric8io/fabric8-forge/issues/260","id":220309043,"user":{"login":"davsclaus","id":477100,"avatar_url":"https://avatars.githubusercontent.com/u/477100?v=3","gravatar_id":"","url":"https://api.github.com/users/davsclaus","html_url":"https://github.com/davsclaus","followers_url":"https://api.github.com/users/davsclaus/followers","following_url":"https://api.github.com/users/davsclaus/following{/other_user}","gists_url":"https://api.github.com/users/davsclaus/gists{/gist_id}","starred_url":"https://api.github.com/users/davsclaus/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/davsclaus/subscriptions","organizations_url":"https://api.github.com/users/davsclaus/orgs","repos_url":"https://api.github.com/users/davsclaus/repos","events_url":"https://api.github.com/users/davsclaus/events{/privacy}","received_events_url":"https://api.github.com/users/davsclaus/received_events","type":"User","site_admin":false},"created_at":"2016-05-19T12:26:07Z","updated_at":"2016-05-19T12:26:07Z","body":"Look at the main run in camel and use it to run until 1 msg done / timeout after X. And point it to a xml file with the route to run"}}