Ejemplo n.º 1
0
        public static void PostConfigure_Throws_If_Domain_Is_Invalid(string value)
        {
            // Arrange
            string name   = "Moodle";
            var    target = new MoodlePostConfigureOptions();

            var options = new MoodleAuthenticationOptions()
            {
                Domain = value,
            };

            // Act and Assert
            Assert.Throws <ArgumentException>("options", () => target.PostConfigure(name, options));
        }
Ejemplo n.º 2
0
        public static void Validate_Throws_If_UserInformationEndpoint_Not_Set()
        {
            // Arrange
            var options = new MoodleAuthenticationOptions()
            {
                AuthorizationEndpoint = "https://moodle.local",
                ClientId = "ClientId",
                ClientSecret = "ClientSecret",
                TokenEndpoint = "https://moodle.local",
            };

            // Act and Assert
            Assert.Throws<ArgumentException>("UserInformationEndpoint", () => options.Validate());
        }
Ejemplo n.º 3
0
        public static void Validate_Does_Not_Throw_If_Uris_Are_Valid()
        {
            // Arrange
            var options = new MoodleAuthenticationOptions()
            {
                AuthorizationEndpoint = "https://moodle.local",
                ClientId = "ClientId",
                ClientSecret = "ClientSecret",
                TokenEndpoint = "https://moodle.local",
                UserInformationEndpoint = "https://moodle.local",
            };

            // Act (no Assert)
            options.Validate();
        }
Ejemplo n.º 4
0
        public static void PostConfigure_Configures_Valid_Endpoints(string domain)
        {
            // Arrange
            string name   = "Moodle";
            var    target = new MoodlePostConfigureOptions();

            var options = new MoodleAuthenticationOptions()
            {
                Domain = domain,
            };

            // Act
            target.PostConfigure(name, options);

            // Assert
            options.AuthorizationEndpoint.ShouldStartWith("https://moodle.local/local/oauth/login.php");
            Uri.TryCreate(options.AuthorizationEndpoint, UriKind.Absolute, out var _).ShouldBeTrue();

            options.TokenEndpoint.ShouldStartWith("https://moodle.local/local/oauth/token.php");
            Uri.TryCreate(options.TokenEndpoint, UriKind.Absolute, out var _).ShouldBeTrue();

            options.UserInformationEndpoint.ShouldStartWith("https://moodle.local/local/oauth/user_info.php");
            Uri.TryCreate(options.UserInformationEndpoint, UriKind.Absolute, out var _).ShouldBeTrue();
        }