-
Notifications
You must be signed in to change notification settings - Fork 10
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
Testing Client Server and Client Only implementations #47
Comments
I have first proposal for client testing Main problem is that we need to somehow say RSocket Commands
For the first POC I propose that we will have some
Client driverDriver will connect to
TCK CaseCode of Kotlin test case for such example will look similar to (numbers in comments linked to numbers in client driver commands list): //[1] start of case, command will be sent automatically
sendCommand(SetupConnection(resume = false, lease=false ...)) //[2] send command to setup some connection
val setup: SetupFrame = receiveFrame().asSetup() //receive setup frame
setup expect SetupFrame(resume = false, lease = false ...) // check that setup is as expected, all flags and other properties valid
sendCommand(RequestResponse(data = "test")) //[3] send command to do request
val requestResponseFrame: RequestResponseFrame = receiveFrame().asRequestResponse() //receiver sent frame
requestResponseFrame expect RequestResponseFrame(data = "test") //check validity of frame
//[5] case finished, command will be sent automatically
//[6] if no more cases needed to run, command with test results will be sent automatically P.S.
|
Could you please clarify for what kind of RSocket implementation I like the list of commands - that will help to write spec cases. |
To be honest Im not sure, that I understand for the second part, I will answer a little later |
Im not sure, that it's possible to test protocol implementation without some
If to use some pseudo language, command handling will be look like this:
It's simplified a lot, but I think you understand an idea, and that it's really needed to do a little to implement such |
This issue serves a place where we can discuss how we are going to implement driver part to test frames flow through the implementations:
The text was updated successfully, but these errors were encountered: