public void CoreSerializeRequestWhenRequestIsNull()
        {
            var jsonRpcSerializer = new Utf8JsonRpcSerializer();

            Assert.Throws <ArgumentNullException>(() =>
                                                  jsonRpcSerializer.SerializeRequest(null));
        }
        public void CoreSerializeRequestToStreamWhenStreamIsNull()
        {
            var jsonRpcSerializer = new Utf8JsonRpcSerializer();
            var jsonRpcMessage    = new JsonRpcRequest("m", 0L);

            Assert.Throws <ArgumentNullException>(() =>
                                                  jsonRpcSerializer.SerializeRequest(jsonRpcMessage, null));
        }
        public void V2SpecT010SerializeRequest()
        {
            var jsonSample        = EmbeddedResourceManager.GetString("Assets.v2_spec_01.0_req.json");
            var jsonRpcSerializer = new Utf8JsonRpcSerializer();
            var jsonRpcMessage    = new JsonRpcRequest("subtract", 1L, new object[] { 42L, 23L });
            var jsonResult        = jsonRpcSerializer.SerializeRequest(jsonRpcMessage);

            CompareJsonStrings(jsonSample, jsonResult);
        }
        public void V2CoreSerializeRequestWhenIdIsFloat()
        {
            var jsonSample        = EmbeddedResourceManager.GetString("Assets.v2_core_id_float_req.json");
            var jsonRpcSerializer = new Utf8JsonRpcSerializer();
            var jsonRpcMessage    = new JsonRpcRequest("m", 1D);
            var jsonResult        = jsonRpcSerializer.SerializeRequest(jsonRpcMessage);

            CompareJsonStrings(jsonSample, jsonResult);
        }
        public void CoreSerializeRequestWhenParametersAreByPositionAndIsEmptyCollection()
        {
            var jsonRpcSerializer = new Utf8JsonRpcSerializer();
            var jsonRpcMessage    = new JsonRpcRequest("m", 1L, new object[] { });

            var exception = Assert.Throws <JsonRpcException>(() =>
                                                             jsonRpcSerializer.SerializeRequest(jsonRpcMessage));

            Assert.Equal(JsonRpcErrorCodes.InvalidOperation, exception.ErrorCode);
        }
        public void CoreSerializeRequestToStreamWhenRequestIsNull()
        {
            var jsonRpcSerializer = new Utf8JsonRpcSerializer();
            var jsonRpcMessage    = new JsonRpcRequest("m", 0L);

            using (var jsonStream = new MemoryStream())
            {
                Assert.Throws <ArgumentNullException>(() =>
                                                      jsonRpcSerializer.SerializeRequest(null, jsonStream));
            }
        }
        public void V1SpecT010SerializeRequest()
        {
            var jsonSample = EmbeddedResourceManager.GetString("Assets.v1_spec_01.0_req.json");

            var jsonRpcSerializer = new Utf8JsonRpcSerializer
            {
                CompatibilityLevel = JsonRpcCompatibilityLevel.Level1
            };

            var jsonRpcMessage = new JsonRpcRequest("echo", 1L, new object[] { "Hello JSON-RPC" });
            var jsonResult     = jsonRpcSerializer.SerializeRequest(jsonRpcMessage);

            CompareJsonStrings(jsonSample, jsonResult);
        }
示例#8
0
        public void V1BitcoinT01SerializeRequest()
        {
            var jsonSample = EmbeddedResourceManager.GetString("Assets.v1_btc_01_req.json");

            var jsonRpcSerializer = new Utf8JsonRpcSerializer
            {
                CompatibilityLevel = JsonRpcCompatibilityLevel.Level1
            };

            var jsonRpcMessage = new JsonRpcRequest("getblockhash", "foo", new object[] { 0L });
            var jsonResult     = jsonRpcSerializer.SerializeRequest(jsonRpcMessage);

            CompareJsonStrings(jsonSample, jsonResult);
        }
        public void CoreSerializeRequestToStream()
        {
            var jsonSample        = EmbeddedResourceManager.GetString("Assets.v2_core_req.json");
            var jsonRpcSerializer = new Utf8JsonRpcSerializer();
            var jsonRpcMessage    = new JsonRpcRequest("m", 0L);

            using (var jsonStream = new MemoryStream())
            {
                jsonRpcSerializer.SerializeRequest(jsonRpcMessage, jsonStream);

                var jsonResult = Encoding.UTF8.GetString(jsonStream.ToArray());

                CompareJsonStrings(jsonSample, jsonResult);
            }
        }
        public void V2SpecT021SerializeRequest()
        {
            var jsonSample        = EmbeddedResourceManager.GetString("Assets.v2_spec_02.1_req.json");
            var jsonRpcSerializer = new Utf8JsonRpcSerializer();

            var jsonRpcSubtractParameters = new Dictionary <string, object>
            {
                ["subtrahend"] = 23L,
                ["minuend"]    = 42L
            };

            var jsonRpcMessage = new JsonRpcRequest("subtract", 4L, jsonRpcSubtractParameters);
            var jsonResult     = jsonRpcSerializer.SerializeRequest(jsonRpcMessage);

            CompareJsonStrings(jsonSample, jsonResult);
        }
示例#11
0
        public void V1CoreSerializeRequestWhenParametersAreByName()
        {
            var jsonRpcSerializer = new Utf8JsonRpcSerializer
            {
                CompatibilityLevel = JsonRpcCompatibilityLevel.Level1
            };

            var parameters = new Dictionary <string, object>
            {
                ["p"] = 1L
            };

            var message = new JsonRpcRequest("m", parameters);

            Assert.Throws <JsonRpcException>(() =>
                                             jsonRpcSerializer.SerializeRequest(message));
        }