-
Notifications
You must be signed in to change notification settings - Fork 0
Delta variant of testchanges #33
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
* Allow nested composite commands/events * Changed Reconnect response parameter to report invalid participation via error
…rget|ResolveInfo} to align with command ChangeReference
…ebClient/Server from ...Base
Shouldn't these cases go somewhere under the |
I put them in the testchanges directories, because the delta's are exactly the same testcase/data as the bulk ones in there. They have the same result as the bulk testcases in the same directory. |
I think this is the same as on branch |
Actually, I think they are already merged: https://github.com/LionWeb-io/lionweb-integration-testing/tree/main/delta |
I'm cleaning up my branching mess, so you probably need to rebase on |
I'm wondering how useful such simple, one-message tests are (besides having an example of each message). According to the protocol, we always have to sign on first, and send our participation id -- which is handed out by the repository. Putting all of this in pure text files results in a pretty complex format. I tend to just write such tests as code, and then pit the different client/repo implementations against each other. The C# tests are prepared for that: They always start their counterpart as external process via a command-line call, so it should be pretty easy to e.g. use the C# client tests to run against the lw-server repo. |
I agree with the general usefulness – or lack thereof – of tests based on single messages and no “in scenario” assertions. However, it's a relatively quick win to validate these messages at least against the prevailing JSON Schema and preferably against as much of the specification as possible. We've seen – and are seeing – relatively simple (to fix) non-conformance to the spec often enough. |
We're already doing this, I think: lionweb-integration-testing/.github/workflows/build.yaml Lines 12 to 16 in e6c7648
|
For all files under |
Of course these tests will not be enough, but I want to use them as unit tests to test each delta command in isolation. This is the first level of unit tests that is needed. For these tests all the startup messages can be inserted by the test code. After that we can add tests for more complex scenarios. |
If the issue is the actual content of the examples (so they fit with your tests), feel free to edit the existing ones -- their content is arbitrary. |
I started with creating some Delta versions of the testchanges, can you take a look and see whether this is a good way forward?