Closed
Description
What would you like to be added:
Stand-alone example json/yaml files, instead of just embedding them into an MD file
Why is this needed:
Allows SDKs and other implementations to unit test the successfull parsing of official, up-to-date examples
Other thoughts:
Now, what would be really awesome IMHO is to use factual examples, instead of theoretical ones, so that runtime implementations can test them to. The idea is to create some out-of-the-box examples for which runtime can be validated/tested.
We could use Swagger's Pet Store Api for demonstrating OpenApi function calls, and something like a free webhook tool for testing events.
What do you guys think?
Metadata
Metadata
Assignees
Type
Projects
Status
Relationships
Development
No branches or pull requests
Activity
tsurdilo commentedon Mar 31, 2021
@neuroglia I was actually working on this hehe :)
I just wish there was a way to embed the files into the examples.md so we don't have to maintain both sides...
tsurdilo commentedon Mar 31, 2021
@neuroglia do you think doing this for the comparison examples: https://github.com/serverlessworkflow/specification/tree/main/comparisons
would be beneficial as well?
cdavernas commentedon Mar 31, 2021
@tsurdilo Niiiice x)
Ah yes, I hear you: I face the exact same problem in some private repos. The only "sane(ish)" way to do so, IMO, is by using a pipeline to replace values in your MD with the contents of the examples. Less user-friendly to write, but at least it's up to date.
tsurdilo commentedon Mar 31, 2021
@neuroglia we can host all OpenApi defs on serverlessworkflow.io ;)
+100 for "running" examples
Those can also become the start of our TCK tests as well.
cdavernas commentedon Mar 31, 2021
@tsurdilo I'm not sure. I must say I only did go once or twice on that specific page, as there was no need to sell me the spec further x) But I can see the added value for more analytical brains than mine I guess!
tsurdilo commentedon Mar 31, 2021
@neuroglia if it helps, we do have (i hope all) examples here: https://github.com/serverlessworkflow/sdk-java/tree/main/api/src/test/resources/examples
but the problem with that is its a pain to maintain them all the time so they might not be all up to date with the spec examples, but the workflow dsl used there is validated against v0.6. Hope this helps for now until we work on this
tsurdilo commentedon Mar 31, 2021
@neuroglia here are some examples the java sdk uses for validation of some certain edge cases: https://github.com/serverlessworkflow/sdk-java/tree/main/api/src/test/resources/features
hope this helps for now too :)
cdavernas commentedon Mar 31, 2021
@tsurdilo Aaaaah! Awesome! I'll use that to add some unit test before the commit that adds the reader/writer!
tsurdilo commentedon Mar 31, 2021
@neuroglia This might help also: https://github.com/serverlessworkflow/sdk-java/blob/main/api/src/test/java/io/serverlessworkflow/api/test/MarkupToWorkflowTest.java
to see whats tested in https://github.com/serverlessworkflow/sdk-java/tree/main/api/src/test/resources/features
Need to add more tests tho :( ....
tsurdilo commentedon Mar 31, 2021
@neuroglia one more thing, we have our dsl schemas also exposed on the website: https://serverlessworkflow.io/schemas/latest/workflow.json
this is used by the vscode plugin and the diagram generation project as well
the "latest" always points to the latest release of the spec
you can use "previous" to access v0.5 and "snapshot" to access the latest (main branch)
..maybe we should expose the examples as well there....hmmm
tsurdilo commentedon Apr 21, 2021
@neuroglia
looking at this tool to possible be able to do this: https://github.com/temporalio/snipsync
github-actions commentedon Jun 6, 2021
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.
66 remaining items
github-actions commentedon Jul 10, 2023
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.
github-actions commentedon Aug 25, 2023
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.
cdavernas commentedon May 17, 2024
This has been addressed in 1.0.0, and is closed as part of #843
In
1.0.0
, we did even better than what was suggested by adding a list of Gherkin features for conformance testing and Behavior Driven Development.Example: