public void AddParameter_PreservesEmptyParameters()
        {
            // Arrange
            var message = new OpenIdConnectMessage();

            // Act
            message.AddParameter("string", string.Empty);
            message.AddParameter("array", new JArray());
            message.AddParameter("object", new JObject());
            message.AddParameter("value", new JValue(string.Empty));

            // Assert
            Assert.Empty((string)message.GetParameter("string"));
            Assert.Equal(new JArray(), (JArray)message.GetParameter("array"));
            Assert.Equal(new JObject(), (JObject)message.GetParameter("object"));
            Assert.Equal(new JValue(string.Empty), (JValue)message.GetParameter("value"));
        }
Example #2
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());
        }
Example #3
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());
        }
Example #4
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());
        }
        public void ToString_ExcludesSensitiveParameters(string parameter)
        {
            // Arrange
            var message = new OpenIdConnectMessage();

            message.AddParameter(parameter, "secret value");

            // Act and assert
            Assert.DoesNotContain("secret value", message.ToString());
            Assert.Equal("[removed for security reasons]", JObject.Parse(message.ToString())[parameter]);
        }
        public void AddParameter_IsCaseSensitive()
        {
            // Arrange
            var message = new OpenIdConnectMessage();

            // Act
            message.AddParameter("PARAMETER", 42);

            // Assert
            Assert.Null(message.GetParameter("parameter"));
        }
        public void AddParameter_AddsExpectedParameter()
        {
            // Arrange
            var message = new OpenIdConnectMessage();

            // Act
            message.AddParameter("parameter", 42);

            // Assert
            Assert.Equal(42, message.GetParameter("parameter"));
        }
        public void RemoveParameter_RemovesExpectedParameter()
        {
            // Arrange
            var message = new OpenIdConnectMessage();

            message.AddParameter("parameter", 42);

            // Act
            message.RemoveParameter("parameter");

            // Assert
            Assert.Null(message.GetParameter("parameter"));
        }
        public void AddParameter_ThrowsAnExceptionForNullOrEmptyName(string name)
        {
            // Arrange
            var message = new OpenIdConnectMessage();

            // Act and assert
            var exception = Assert.Throws <ArgumentException>(delegate
            {
                message.AddParameter(name, new OpenIdConnectParameter());
            });

            Assert.Equal("name", exception.ParamName);
            Assert.StartsWith("The parameter name cannot be null or empty.", exception.Message);
        }