With the new _Websocket peer protocol_ and the incoming API refactoring, it is time to create a cleaner testsuite for functional tests.
.
+-- test
| +-- functional
| | +-- http
| | | +-- get
| | | +-- post
| | +-- ws
Second, we move the current test/api/transport/ files to test/functional/ws/.
Third, we move the current test/api/ files to test/functional/http/get/ and we review them in order to leave an skeleton sign for the uncovered parts.
Fourth, we separate post tests from those files, grouping them per transaction type in files placed onto test/functional/http/post/ folder. Each of them will follow the next workflow template:
Due to its extensive nature, we create a task list which will lead to several pull request to solve the whole issue:
test/functional/http/get/
accounts GET #824blocks GET PR #887 dapps GETdelegates GET #830multisignatures GET #846 peers GET #925 @nazarhussain transactions #822test/functional/http/post/
0.tx POST #8220.tx POST with additional data #9121.second.secret POST #8241.X.validation/ #9781.X.unconfirmed/ #1009 2.delegate POST #8303.votes POST #8354.multisig POST #8464.X.validation/ POST #9794.X.unconfirmed/ #1010 5.dapps POST #9026.dapp.inTransfer POST #9357.dapp.outTransfer POST #936test/
This issue follows #457 in the task list from #225.
I would love to get involved in this discussion as I have a lot of strong opinions about functional tests.
Looks like a great idea.
As discussed with Oliver, I've changed the structure of the workflow template adding the enforcing phase for types 1 and 4. On the other hand, I will add more tests in the schema phase instead of simply relaying on lisk-js. This will assure the core's api integrity to all the users even for them which won't use lisk-js.
Most helpful comment
I would love to get involved in this discussion as I have a lot of strong opinions about functional tests.