public void WriteJson_WritesEmptyPayloadForEmptyMessages() { // Arrange var message = new OpenIdConnectMessage(); var converter = new OpenIdConnectConverter(); var writer = new StringWriter(CultureInfo.InvariantCulture); // Act converter.WriteJson(writer: new JsonTextWriter(writer), value: message, serializer: null); Assert.Equal("{}", writer.ToString()); }
public void WriteJson_ThrowsAnExceptionForNullValue() { // Arrange var converter = new OpenIdConnectConverter(); // Act and assert var exception = Assert.Throws <ArgumentNullException>(delegate { converter.WriteJson(writer: new JsonTextWriter(TextWriter.Null), value: null, serializer: null); }); Assert.Equal("value", exception.ParamName); }
public void WriteJson_ThrowsAnExceptionForInvalidValue() { // Arrange var converter = new OpenIdConnectConverter(); // Act and assert var exception = Assert.Throws <ArgumentException>(delegate { converter.WriteJson(writer: new JsonTextWriter(TextWriter.Null), value: new object(), serializer: null); }); Assert.StartsWith("The specified object is not supported.", exception.Message); Assert.Equal("value", exception.ParamName); }
public void WriteJson_WritesExpectedPayload() { // Arrange var converter = new OpenIdConnectConverter(); var writer = new StringWriter(CultureInfo.InvariantCulture); var message = new OpenIdConnectMessage(); message.AddParameter("string", "value"); message.AddParameter("array", new JArray("value")); // Act converter.WriteJson(writer: new JsonTextWriter(writer), value: message, serializer: null); // Assert Assert.Equal(@"{""string"":""value"",""array"":[""value""]}", writer.ToString()); }
public void WriteJson_PreservesEmptyParameters() { // Arrange var converter = new OpenIdConnectConverter(); var writer = new StringWriter(CultureInfo.InvariantCulture); var message = new OpenIdConnectMessage(); message.AddParameter("string", new OpenIdConnectParameter(string.Empty)); message.AddParameter("array", new OpenIdConnectParameter(new JArray())); message.AddParameter("object", new OpenIdConnectParameter(new JObject())); // Act converter.WriteJson(writer: new JsonTextWriter(writer), value: message, serializer: null); // Assert Assert.Equal(@"{""string"":"""",""array"":[],""object"":{}}", writer.ToString()); }
public void WriteJson_PreservesNullParameters() { // Arrange var converter = new OpenIdConnectConverter(); var writer = new StringWriter(CultureInfo.InvariantCulture); var message = new OpenIdConnectMessage(); message.AddParameter("string", new OpenIdConnectParameter((string)null)); message.AddParameter("bool", new OpenIdConnectParameter((bool?)null)); message.AddParameter("long", new OpenIdConnectParameter((long?)null)); message.AddParameter("array", new OpenIdConnectParameter((JArray)null)); message.AddParameter("object", new OpenIdConnectParameter((JObject)null)); // Act converter.WriteJson(writer: new JsonTextWriter(writer), value: message, serializer: null); // Assert Assert.Equal(@"{""string"":null,""bool"":null,""long"":null,""array"":null,""object"":null}", writer.ToString()); }