// Step 1918: LSPMessageValidator // Validates JSON-RPC 2.0 message shape before routing. // // t1: valid request passes // t2: missing jsonrpc field rejected // t3: wrong jsonrpc version rejected // t4: non-string method rejected; missing method rejected // t5: bad id type rejected; bad params type rejected; notification/request detection #include "LSPMessageValidator.h" #include #include using json = nlohmann::json; namespace ws = whetstone; static int p=0,f=0; #define T(n) { std::cout<<" "<<#n<<"... "; } #define P() { std::cout<<"PASS\n"; ++p; } #define F(m) { std::cout<<"FAIL: "< 0 ? 1 : 0; }