public void GoogleProperties_NullValues()
    {
        var properties = new GoogleChallengeProperties();

        properties.Parameters["access_type"]     = "offline";
        properties.Parameters["approval_prompt"] = "force";
        properties.Parameters["login_hint"]      = "*****@*****.**";
        properties.Parameters["prompt"]          = "login";
        Assert.Equal("offline", properties.AccessType);
        Assert.Equal("force", properties.ApprovalPrompt);
        Assert.Equal("*****@*****.**", 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);
    }
    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);
    }
    public void GoogleProperties()
    {
        var properties = new GoogleChallengeProperties()
        {
            AccessType     = "offline",
            ApprovalPrompt = "force",
            LoginHint      = "*****@*****.**",
            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("*****@*****.**", properties.LoginHint);
        Assert.Equal("*****@*****.**", properties.Parameters["login_hint"]);
        Assert.Equal("login", properties.Prompt);
        Assert.Equal("login", properties.Parameters["prompt"]);
    }