Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/dotnet/aspnetcore.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'src/Security/test/Microsoft.AspNetCore.Authentication.Test/OAuthChallengePropertiesTest.cs')
-rw-r--r--src/Security/test/Microsoft.AspNetCore.Authentication.Test/OAuthChallengePropertiesTest.cs149
1 files changed, 149 insertions, 0 deletions
diff --git a/src/Security/test/Microsoft.AspNetCore.Authentication.Test/OAuthChallengePropertiesTest.cs b/src/Security/test/Microsoft.AspNetCore.Authentication.Test/OAuthChallengePropertiesTest.cs
new file mode 100644
index 0000000000..c359bb0e8c
--- /dev/null
+++ b/src/Security/test/Microsoft.AspNetCore.Authentication.Test/OAuthChallengePropertiesTest.cs
@@ -0,0 +1,149 @@
+using System;
+using Microsoft.AspNetCore.Authentication.Google;
+using Microsoft.AspNetCore.Authentication.OAuth;
+using Microsoft.AspNetCore.Authentication.OpenIdConnect;
+using Xunit;
+
+namespace Microsoft.AspNetCore.Authentication.Test
+{
+ public class OAuthChallengePropertiesTest
+ {
+ [Fact]
+ public void ScopeProperty()
+ {
+ var properties = new OAuthChallengeProperties
+ {
+ Scope = new string[] { "foo", "bar" }
+ };
+ Assert.Equal(new string[] { "foo", "bar" }, properties.Scope);
+ Assert.Equal(new string[] { "foo", "bar" }, properties.Parameters["scope"]);
+ }
+
+ [Fact]
+ public void ScopeProperty_NullValue()
+ {
+ var properties = new OAuthChallengeProperties();
+ properties.Parameters["scope"] = new string[] { "foo", "bar" };
+ Assert.Equal(new string[] { "foo", "bar" }, properties.Scope);
+
+ properties.Scope = null;
+ Assert.Null(properties.Scope);
+ }
+
+ [Fact]
+ public void SetScope()
+ {
+ var properties = new OAuthChallengeProperties();
+ properties.SetScope("foo", "bar");
+ Assert.Equal(new string[] { "foo", "bar" }, properties.Scope);
+ Assert.Equal(new string[] { "foo", "bar" }, properties.Parameters["scope"]);
+ }
+
+ [Fact]
+ public void OidcMaxAge()
+ {
+ var properties = new OpenIdConnectChallengeProperties()
+ {
+ MaxAge = TimeSpan.FromSeconds(200)
+ };
+ Assert.Equal(TimeSpan.FromSeconds(200), properties.MaxAge);
+ }
+
+ [Fact]
+ public void OidcMaxAge_NullValue()
+ {
+ var properties = new OpenIdConnectChallengeProperties();
+ properties.Parameters["max_age"] = TimeSpan.FromSeconds(500);
+ Assert.Equal(TimeSpan.FromSeconds(500), properties.MaxAge);
+
+ properties.MaxAge = null;
+ Assert.Null(properties.MaxAge);
+ }
+
+ [Fact]
+ public void OidcPrompt()
+ {
+ var properties = new OpenIdConnectChallengeProperties()
+ {
+ Prompt = "login"
+ };
+ Assert.Equal("login", properties.Prompt);
+ Assert.Equal("login", properties.Parameters["prompt"]);
+ }
+
+ [Fact]
+ public void OidcPrompt_NullValue()
+ {
+ var properties = new OpenIdConnectChallengeProperties();
+ properties.Parameters["prompt"] = "consent";
+ Assert.Equal("consent", properties.Prompt);
+
+ properties.Prompt = null;
+ Assert.Null(properties.Prompt);
+ }
+
+ [Fact]
+ public void GoogleProperties()
+ {
+ var properties = new GoogleChallengeProperties()
+ {
+ AccessType = "offline",
+ ApprovalPrompt = "force",
+ LoginHint = "test@example.com",
+ Prompt = "login",
+ };
+ Assert.Equal("offline", properties.AccessType);
+ Assert.Equal("offline", properties.Parameters["access_type"]);
+ Assert.Equal("force", properties.ApprovalPrompt);
+ Assert.Equal("force", properties.Parameters["approval_prompt"]);
+ Assert.Equal("test@example.com", properties.LoginHint);
+ Assert.Equal("test@example.com", properties.Parameters["login_hint"]);
+ Assert.Equal("login", properties.Prompt);
+ Assert.Equal("login", properties.Parameters["prompt"]);
+ }
+
+ [Fact]
+ public void GoogleProperties_NullValues()
+ {
+ var properties = new GoogleChallengeProperties();
+ properties.Parameters["access_type"] = "offline";
+ properties.Parameters["approval_prompt"] = "force";
+ properties.Parameters["login_hint"] = "test@example.com";
+ properties.Parameters["prompt"] = "login";
+ Assert.Equal("offline", properties.AccessType);
+ Assert.Equal("force", properties.ApprovalPrompt);
+ Assert.Equal("test@example.com", properties.LoginHint);
+ Assert.Equal("login", properties.Prompt);
+
+ properties.AccessType = null;
+ Assert.Null(properties.AccessType);
+
+ properties.ApprovalPrompt = null;
+ Assert.Null(properties.ApprovalPrompt);
+
+ properties.LoginHint = null;
+ Assert.Null(properties.LoginHint);
+
+ properties.Prompt = null;
+ Assert.Null(properties.Prompt);
+ }
+
+ [Fact]
+ public void GoogleIncludeGrantedScopes()
+ {
+ var properties = new GoogleChallengeProperties()
+ {
+ IncludeGrantedScopes = true
+ };
+ Assert.True(properties.IncludeGrantedScopes);
+ Assert.Equal(true, properties.Parameters["include_granted_scopes"]);
+
+ properties.IncludeGrantedScopes = false;
+ Assert.False(properties.IncludeGrantedScopes);
+ Assert.Equal(false, properties.Parameters["include_granted_scopes"]);
+
+ properties.IncludeGrantedScopes = null;
+ Assert.Null(properties.IncludeGrantedScopes);
+ }
+ }
+}