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

            // Act and assert
            Assert.Null(message.GetParameter("parameter"));
        }
Beispiel #2
0
    public void AddParameter_PreservesEmptyParameters()
    {
        // Arrange
        var message = new OpenIddictMessage();

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

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

        // Assert
        Assert.Empty((string?)message.GetParameter("string"));
        Assert.NotNull((JsonElement?)message.GetParameter("array"));
        Assert.NotNull((JsonElement?)message.GetParameter("object"));
        Assert.NotNull((JsonElement?)message.GetParameter("value"));

#if SUPPORTS_JSON_NODES
        Assert.NotNull((JsonNode?)message.GetParameter("node_array"));
        Assert.NotNull((JsonNode?)message.GetParameter("node_object"));
        Assert.NotNull((JsonNode?)message.GetParameter("node_value"));
#endif
    }
Beispiel #3
0
        public void AddParameter_PreservesEmptyParameters()
        {
            // Arrange
            var message = new OpenIddictMessage();

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

            // Assert
            Assert.Empty((string?)message.GetParameter("string"));
            Assert.NotNull((JsonElement?)message.GetParameter("array"));
            Assert.NotNull((JsonElement?)message.GetParameter("object"));
            Assert.NotNull((JsonElement?)message.GetParameter("value"));
        }
Beispiel #4
0
        public void GetParameter_IsCaseSensitive()
        {
            // Arrange
            var message = new OpenIddictMessage();

            message.SetParameter("parameter", 42);

            // Act and assert
            Assert.Null(message.GetParameter("PARAMETER"));
        }
Beispiel #5
0
        public void GetParameter_ReturnsExpectedParameter()
        {
            // Arrange
            var message = new OpenIddictMessage();

            message.SetParameter("parameter", 42);

            // Act and assert
            Assert.Equal(42, (int)message.GetParameter("parameter"));
        }
Beispiel #6
0
        public void Constructor_ImportsParameters()
        {
            // Arrange and act
            var message = new OpenIddictMessage(new[]
            {
                new KeyValuePair <string, OpenIddictParameter>("parameter", 42)
            });

            // Assert
            Assert.Equal(42, (long)message.GetParameter("parameter"));
        }
Beispiel #7
0
        public void SetParameter_AddsExpectedParameter()
        {
            // Arrange
            var message = new OpenIddictMessage();

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

            // Assert
            Assert.Equal(42, message.GetParameter("parameter"));
        }
Beispiel #8
0
        public void GetParameter_ThrowsAnExceptionForNullOrEmptyName(string name)
        {
            // Arrange
            var message = new OpenIddictMessage();

            // Act and assert
            var exception = Assert.Throws <ArgumentException>(() => message.GetParameter(name));

            Assert.Equal("name", exception.ParamName);
            Assert.StartsWith(SR.GetResourceString(SR.ID0190), exception.Message);
        }
        public void GetParameter_ThrowsAnExceptionForNullOrEmptyName(string name)
        {
            // Arrange
            var message = new OpenIddictMessage();

            // Act and assert
            var exception = Assert.Throws <ArgumentException>(() => message.GetParameter(name));

            Assert.Equal("name", exception.ParamName);
            Assert.StartsWith("The parameter name cannot be null or empty.", exception.Message);
        }
Beispiel #10
0
        public void Constructor_ExtractsSingleValuedParameters()
        {
            // Arrange and act
            var message = new OpenIddictMessage(new[]
            {
                new KeyValuePair <string, string?[]?>("parameter", new[] { "Fabrikam" })
            });

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

            // Assert
            Assert.Equal(1, message.Count);
            Assert.Equal(new[] { "Fabrikam", "Contoso" }, (string[]?)message.GetParameter("parameter"));
        }
Beispiel #12
0
        public void RemoveParameter_RemovesExpectedParameter()
        {
            // Arrange
            var message = new OpenIddictMessage();

            message.AddParameter("parameter", 42);

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

            // Assert
            Assert.Null(message.GetParameter("parameter"));
        }
        public void Constructor_AllowsDuplicateParameters()
        {
            // Arrange and act
            var message = new OpenIddictMessage(new[]
            {
                new KeyValuePair <string, string>("parameter", "Fabrikam"),
                new KeyValuePair <string, string>("parameter", "Contoso")
            });

            // Assert
            Assert.Equal(1, message.Count);
            Assert.Equal(new[] { "Fabrikam", "Contoso" }, (string[])message.GetParameter("parameter"));
        }
Beispiel #14
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"));
        }