public ParseRequests ( string jsonString, bool &isBulkRequest, |
||
jsonString | string | Json from the http request |
isBulkRequest | bool | If true, the request is a bulk request (even if there is only one) |
jsonSerializerSettings | (Optional)Json serialization settings that will be used in serialization and deserialization for rpc requests | |
return | List |
public void ParseRequests_BatchRequest_Valid() { const string json = "[{\"jsonrpc\": \"2.0\", \"method\": \"one\", \"params\": [\"1\"], \"id\": \"1\"}, {\"jsonrpc\": \"2.0\", \"method\": \"two\", \"params\": [\"2\"], \"id\": \"2\"}]"; DefaultRpcParser parser = new DefaultRpcParser(null); bool isBulkRequest; List<RpcRequest> rpcRequests = parser.ParseRequests(json, out isBulkRequest); Assert.NotNull(rpcRequests); Assert.Equal(rpcRequests.Count, 2); Assert.Equal(rpcRequests[0].Id, "1"); Assert.Equal(rpcRequests[0].Method, "one"); Assert.Equal(rpcRequests[0].JsonRpcVersion, JsonRpcContants.JsonRpcVersion); Assert.Equal(rpcRequests[0].ParameterList, new object[] { "1" }); Assert.Equal(rpcRequests[1].Id, "2"); Assert.Equal(rpcRequests[1].Method, "two"); Assert.Equal(rpcRequests[1].JsonRpcVersion, JsonRpcContants.JsonRpcVersion); Assert.Equal(rpcRequests[1].ParameterList, new object[] { "2" }); Assert.True(isBulkRequest); }
public void ParseRequests_Valid(string json, object id, string method, object[] parameters) { DefaultRpcParser parser = new DefaultRpcParser(null); bool isBulkRequest; RpcRequest rpcRequest = parser.ParseRequests(json, out isBulkRequest).FirstOrDefault(); Assert.NotNull(rpcRequest); Assert.Equal(rpcRequest.Id, id); Assert.Equal(rpcRequest.Method, method); Assert.Equal(rpcRequest.JsonRpcVersion, JsonRpcContants.JsonRpcVersion); Assert.Equal(rpcRequest.ParameterList, parameters); Assert.Equal(false, isBulkRequest); }
public void ParseRequests_NullRequest_InvalidRequestException() { const string json = null; DefaultRpcParser parser = new DefaultRpcParser(null); bool isBulkRequest; Assert.Throws<RpcInvalidRequestException>(() => parser.ParseRequests(json, out isBulkRequest)); }
public void ParseRequests_MissingVersion_InvalidRequestException() { const string json = "{\"method\": \"datetime\", \"params\": [\"2000-12-15T22:11:03\"], \"id\": \"1\"}"; DefaultRpcParser parser = new DefaultRpcParser(null); bool isBulkRequest; Assert.Throws<RpcInvalidRequestException>(() => parser.ParseRequests(json, out isBulkRequest)); }
public void ParseRequests_MissingParams_NoException() { const string json = "{\"method\": \"datetime\",\"jsonrpc\": \"2.0\", \"id\": \"1\"}"; DefaultRpcParser parser = new DefaultRpcParser(null); bool isBulkRequest; parser.ParseRequests(json, out isBulkRequest); Assert.Equal(false, isBulkRequest); }
public void ParseRequests_MissingId_NoException() { const string json = "{\"method\": \"datetime\", \"jsonrpc\": \"2.0\", \"params\": [\"2000-12-15T22:11:03\"]}"; DefaultRpcParser parser = new DefaultRpcParser(null); bool isBulkRequest; parser.ParseRequests(json, out isBulkRequest); Assert.Equal(false, isBulkRequest); }
public void ParseRequests_DateTime_Valid() { const string json = "{\"jsonrpc\": \"2.0\", \"method\": \"datetime\", \"params\": [\"2000-12-15T22:11:03\"], \"id\": 1}"; DateTime dateTime = DateTime.Parse("2000-12-15T22:11:03"); DefaultRpcParser parser = new DefaultRpcParser(null); bool isBulkRequest; RpcRequest rpcRequest = parser.ParseRequests(json, out isBulkRequest).FirstOrDefault(); Assert.NotNull(rpcRequest); Assert.Equal(rpcRequest.Id, (long)1); Assert.Equal(rpcRequest.Method, "datetime"); Assert.Equal(rpcRequest.JsonRpcVersion, JsonRpcContants.JsonRpcVersion); Assert.Equal(rpcRequest.ParameterList, new object[] { dateTime }); Assert.False(isBulkRequest); }