public void TestParseRequestParameters() { var r = new JsonRpcRequest { Parameters = new Dictionary <string, string> { { "p1", "1000" } } }; var resp = r.Get <int>("p1", out int val, v => int.Parse(v)); Assert.AreEqual(1000, val); Assert.IsFalse(resp.HasError()); }
public void TestParseRequestParametersParseError() { var r = new JsonRpcRequest { Parameters = new Dictionary <string, string> { { "p1", "xxxxxxx" } } }; var resp = r.Get <int>("p1", out int val, v => int.Parse(v)); Assert.IsTrue(resp.HasError()); Assert.AreEqual((int)ErrorCode.ParseError, resp.Error.Code); Assert.IsNotNull(resp.Error.Data); }
public void TestParseRequestParametersParameterMissing() { var r = new JsonRpcRequest { Parameters = new Dictionary <string, string> { { "p1", "1000" } } }; var resp = r.Get <int>("p2", out int val, v => int.Parse(v)); Assert.AreEqual(0, val); Assert.IsTrue(resp.HasError()); Assert.AreEqual("p2", resp.Error.Data); Assert.AreEqual((int)ErrorCode.InvalidParam, resp.Error.Code); }
public void TestRequestParameterExist() { JsonRpcRequest rq = new JsonRpcRequest { Id = Guid.NewGuid().ToString(), Method = "m1", Parameters = new Dictionary <string, string> { { "p1", "v1" } } }; (bool hasValue, string val, JsonRpcResponse r) = rq.Get("p1"); Assert.IsTrue(hasValue); Assert.AreEqual("v1", val); Assert.IsNotNull(r); Assert.AreEqual(r.Id, rq.Id); Assert.IsNull(r.Error); }
public void TestRequestParameterDoesNotExist() { JsonRpcRequest rq = new JsonRpcRequest { Id = Guid.NewGuid().ToString(), Method = "m1", Parameters = new Dictionary <string, string> { { "p1", "v1" } } }; (bool hasValue, string val, JsonRpcResponse r) = rq.Get("p2"); Assert.IsFalse(hasValue); Assert.IsTrue(string.IsNullOrEmpty(val)); Assert.IsNotNull(r); Assert.AreEqual(r.Id, rq.Id); Assert.IsNotNull(r.Error); Assert.AreEqual((int)ErrorCode.InvalidParam, r.Error.Code); Assert.AreEqual("Parameter p2 was not provided.", r.Error.Message); Assert.AreEqual("p2", r.Error.Data); }