public void FromObject_ThrowsForNullValue() { var exception = Assert.Throws <ArgumentNullException>( () => JsonSerializationUtilities.FromObject(value: null)); Assert.Equal("value", exception.ParamName); }
public void JsonSerialization_ReturnsCorrectJson() { var version = new SemanticVersion(major: 1, minor: 2, patch: 3); var request = new HandshakeRequest(protocolVersion: version, minimumProtocolVersion: version); var payload = JsonSerializationUtilities.FromObject(request); var message = new Message( requestId: "a", type: MessageType.Request, method: MessageMethod.None, payload: payload); var actualJson = TestUtilities.Serialize(message); var expectedJson = "{\"RequestId\":\"a\",\"Type\":\"Request\",\"Method\":\"None\",\"Payload\":{\"ProtocolVersion\":\"1.2.3\",\"MinimumProtocolVersion\":\"1.2.3\"}}"; Assert.Equal(expectedJson, actualJson); }
private async Task Verify( SemanticVersion requestedProtocolVersion, SemanticVersion requestedMinimumProtocolVersion, SemanticVersion negotiatedProtocolVersion) { using (var handshake = CreateHandshake()) { var responseHandler = new Mock <IResponseHandler>(MockBehavior.Strict); responseHandler.Setup(x => x.SendResponseAsync( It.IsNotNull <Message>(), It.IsNotNull <HandshakeResponse>(), It.IsAny <CancellationToken>())) .Returns(Task.FromResult(0)); var request = new HandshakeRequest(requestedProtocolVersion, requestedMinimumProtocolVersion); var inboundMessage = new Message( requestId: "a", type: MessageType.Request, method: MessageMethod.Handshake, payload: JsonSerializationUtilities.FromObject(request)); await handshake.HandleResponseAsync( Mock.Of <IConnection>(), inboundMessage, responseHandler.Object, CancellationToken.None); var expectedResponseCode = negotiatedProtocolVersion == null ? MessageResponseCode.Error : MessageResponseCode.Success; responseHandler.Verify(x => x.SendResponseAsync( It.Is <Message>(message => message == inboundMessage), It.Is <HandshakeResponse>(response => response.ResponseCode == expectedResponseCode && response.ProtocolVersion == negotiatedProtocolVersion), It.Is <CancellationToken>(token => !token.IsCancellationRequested)), Times.Once); } }
public void FromObject_ReturnsCorrectJObject() { var jObject = JsonSerializationUtilities.FromObject(_expectedObject); Assert.Equal(_expectedJson, jObject.ToString(Formatting.None)); }