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)); }
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()); }
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(); }
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(); }