示例#1
0
        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());
        }
示例#2
0
        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);
        }
示例#3
0
        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);
        }
示例#4
0
        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());
        }
示例#5
0
        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());
        }
示例#6
0
        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());
        }