public void V2CoreDeserializeRequestDataWhenIdIsFloat() { var jsonSample = EmbeddedResourceManager.GetString("Assets.v2_core_id_float_req.json"); var jsonRpcSerializer = new Utf8JsonRpcSerializer(); jsonRpcSerializer.RequestContracts["m"] = new JsonRpcRequestContract(); var jsonRpcData = jsonRpcSerializer.DeserializeRequestData(jsonSample); Assert.False(jsonRpcData.IsBatch); var jsonRpcItem = jsonRpcData.Item; Assert.True(jsonRpcItem.IsValid); var jsonRpcMessage = jsonRpcItem.Message; var jsonRpcId = jsonRpcMessage.Id; Assert.Equal(JsonRpcIdType.Float, jsonRpcId.Type); Assert.Equal(1D, (double)jsonRpcId); }
public void V2SpecT011DeserializeRequest() { var jsonSample = EmbeddedResourceManager.GetString("Assets.v2_spec_01.1_req.json"); var jsonRpcSerializer = new Utf8JsonRpcSerializer(); jsonRpcSerializer.RequestContracts["subtract"] = new JsonRpcRequestContract(new[] { typeof(long), typeof(long) }); var jsonRpcData = jsonRpcSerializer.DeserializeRequestData(jsonSample); Assert.False(jsonRpcData.IsBatch); var jsonRpcItem = jsonRpcData.Item; Assert.True(jsonRpcItem.IsValid); var jsonRpcMessage = jsonRpcItem.Message; Assert.Equal(2L, jsonRpcMessage.Id); Assert.Equal("subtract", jsonRpcMessage.Method); Assert.Equal(JsonRpcParametersType.ByPosition, jsonRpcMessage.ParametersType); Assert.Equal(new object[] { 23L, 42L }, jsonRpcMessage.ParametersByPosition); }
public void V2SpecT010DeserializeResponse() { var jsonSample = EmbeddedResourceManager.GetString("Assets.v2_spec_01.0_res.json"); var jsonRpcSerializer = new Utf8JsonRpcSerializer(); jsonRpcSerializer.ResponseContracts["subtract"] = new JsonRpcResponseContract(typeof(long)); jsonRpcSerializer.StaticResponseBindings[1L] = "subtract"; var jsonRpcData = jsonRpcSerializer.DeserializeResponseData(jsonSample); Assert.False(jsonRpcData.IsBatch); var jsonRpcItem = jsonRpcData.Item; Assert.True(jsonRpcItem.IsValid); var jsonRpcMessage = jsonRpcItem.Message; Assert.Equal(1L, jsonRpcMessage.Id); Assert.IsType <long>(jsonRpcMessage.Result); Assert.Equal(19L, jsonRpcMessage.Result); }
public void V1SpecT021DeserializeRequest() { var jsonSample = EmbeddedResourceManager.GetString("Assets.v1_spec_02.1_req.json"); var jsonRpcSerializer = new Utf8JsonRpcSerializer { CompatibilityLevel = JsonRpcCompatibilityLevel.Level1 }; jsonRpcSerializer.RequestContracts["handleMessage"] = new JsonRpcRequestContract(new[] { typeof(string), typeof(string) }); var jsonRpcData = jsonRpcSerializer.DeserializeRequestData(jsonSample); Assert.False(jsonRpcData.IsBatch); var jsonRpcItem = jsonRpcData.Item; Assert.True(jsonRpcItem.IsValid); var jsonRpcMessage = jsonRpcItem.Message; Assert.Equal(default, jsonRpcMessage.Id);
public async void CoreDeserializeResponseDatatAsyncFromStream() { var jsonSample = EmbeddedResourceManager.GetString("Assets.v2_core_res.json"); var jsonRpcSerializer = new Utf8JsonRpcSerializer(); jsonRpcSerializer.DynamicResponseBindings[0L] = new JsonRpcResponseContract(typeof(long)); using (var jsonStream = new MemoryStream(Encoding.UTF8.GetBytes(jsonSample))) { var jsonRpcData = await jsonRpcSerializer.DeserializeResponseDataAsync(jsonStream); Assert.False(jsonRpcData.IsBatch); var jsonRpcItem = jsonRpcData.Item; Assert.True(jsonRpcItem.IsValid); var jsonRpcMessage = jsonRpcItem.Message; Assert.Equal(0L, jsonRpcMessage.Id); Assert.True(jsonRpcMessage.Success); Assert.Equal(0L, jsonRpcMessage.Result); } }
public async void CoreDeserializeRequestDatatAsyncFromStream() { var jsonSample = EmbeddedResourceManager.GetString("Assets.v2_core_req.json"); var jsonRpcSerializer = new Utf8JsonRpcSerializer(); jsonRpcSerializer.RequestContracts["m"] = new JsonRpcRequestContract(); using (var jsonStream = new MemoryStream(Encoding.UTF8.GetBytes(jsonSample))) { var jsonRpcData = await jsonRpcSerializer.DeserializeRequestDataAsync(jsonStream); Assert.False(jsonRpcData.IsBatch); var jsonRpcItem = jsonRpcData.Item; Assert.True(jsonRpcItem.IsValid); var jsonRpcMessage = jsonRpcItem.Message; Assert.Equal(0L, jsonRpcMessage.Id); Assert.Equal("m", jsonRpcMessage.Method); Assert.Equal(JsonRpcParametersType.None, jsonRpcMessage.ParametersType); } }