Beispiel #1
0
        public void SetParameter_RemovesNullParameters()
        {
            // Arrange
            var message = new OpenIddictMessage();

            // Act
            message.SetParameter("null", null);

            // Assert
            Assert.Empty(message.GetParameters());
        }
Beispiel #2
0
        public void Constructor_ExtractsSingleValuedParameters()
        {
            // Arrange and act
            var message = new OpenIddictMessage(new[]
            {
                new KeyValuePair <string, string[]>("parameter", new[] { "Fabrikam" })
            });

            // Assert
            Assert.Single(message.GetParameters());
            Assert.Equal("Fabrikam", message.GetParameter("parameter")?.Value);
        }
Beispiel #3
0
        public void Constructor_SupportsMultiValuedParameters()
        {
            // Arrange and act
            var message = new OpenIddictMessage(new[]
            {
                new KeyValuePair <string, string[]>("parameter", new[] { "Fabrikam", "Contoso" })
            });

            // Assert
            Assert.Single(message.GetParameters());
            Assert.Equal(new[] { "Fabrikam", "Contoso" }, (string[])message.GetParameter("parameter"));
        }
Beispiel #4
0
        public void Constructor_PreservesEmptyParameters()
        {
            // Arrange and act
            var message = new OpenIddictMessage(new[]
            {
                new KeyValuePair <string, OpenIddictParameter>("null-parameter", (string)null),
                new KeyValuePair <string, OpenIddictParameter>("empty-parameter", string.Empty)
            });

            // Assert
            Assert.Equal(2, message.GetParameters().Count());
        }
Beispiel #5
0
        public void Constructor_IgnoresNamelessParameters()
        {
            // Arrange and act
            var message = new OpenIddictMessage(new[]
            {
                new KeyValuePair <string, OpenIddictParameter>(null, new OpenIddictParameter()),
                new KeyValuePair <string, OpenIddictParameter>(string.Empty, new OpenIddictParameter())
            });

            // Assert
            Assert.Empty(message.GetParameters());
        }
Beispiel #6
0
        public void Constructor_IgnoresDuplicateParameters()
        {
            // Arrange and act
            var message = new OpenIddictMessage(new[]
            {
                new KeyValuePair <string, OpenIddictParameter>("parameter", "Fabrikam"),
                new KeyValuePair <string, OpenIddictParameter>("parameter", "Contoso")
            });

            // Assert
            Assert.Single(message.GetParameters());
            Assert.Equal("Fabrikam", message.GetParameter("parameter"));
        }
Beispiel #7
0
        public void SetParameter_RemovesEmptyParameters()
        {
            // Arrange
            var message = new OpenIddictMessage();

            // Act
            message.SetParameter("string", string.Empty);
            message.SetParameter("array", JsonSerializer.Deserialize <JsonElement>("[]"));
            message.SetParameter("object", JsonSerializer.Deserialize <JsonElement>("{}"));
            message.SetParameter("value", JsonSerializer.Deserialize <JsonElement>(
                                     @"{""property"":""""}").GetProperty("property").GetString());

            // Assert
            Assert.Empty(message.GetParameters());
        }
Beispiel #8
0
        public void GetParameters_EnumeratesParameters()
        {
            // Arrange
            var parameters = new Dictionary <string, OpenIddictParameter>
            {
                ["int"]    = int.MaxValue,
                ["long"]   = long.MaxValue,
                ["string"] = "value"
            };

            var message = new OpenIddictMessage(parameters);

            // Act and assert
            Assert.Equal(parameters, message.GetParameters());
        }
Beispiel #9
0
    public void SetParameter_RemovesEmptyParameters()
    {
        // Arrange
        var message = new OpenIddictMessage();

        // Act
        message.SetParameter("string", string.Empty);
        message.SetParameter("array", JsonSerializer.Deserialize <JsonElement>("[]"));
        message.SetParameter("object", JsonSerializer.Deserialize <JsonElement>("{}"));
        message.SetParameter("value", JsonSerializer.Deserialize <JsonElement>(
                                 @"{""property"":""""}").GetProperty("property").GetString());

#if SUPPORTS_JSON_NODES
        message.SetParameter("node_array", new JsonArray());
        message.SetParameter("node_object", new JsonObject());
        message.SetParameter("node_value", JsonValue.Create(string.Empty));
#endif

        // Assert
        Assert.Empty(message.GetParameters());
    }