public void ConfigValidatorPassesWhenValid() { OktaConfigValidator <IOktaConfig> validator = new OktaConfigValidator <IOktaConfig>(); validator.Validate( new OktaConfig("testoktaid", "https://dev-00000.oktapreview.com", "com.test:/redirect", "com.test:/logout")); validator.Validate( new OktaConfig("testoktaid", "https://okta.okta.com", "appid:/redirect", "appid:/logout") { ClockSkew = TimeSpan.FromSeconds(100), Scope = "test1 test2" }); // The validator throws an exception when the config is invalid, so if we got here without an exception then the configs are valid. }
public void ConfigValidatorCatchesInvalidDomain() { OktaConfigValidator <OktaConfig> validator = new OktaConfigValidator <OktaConfig>(); Assert.Throws <ArgumentException>(() => validator.Validate(new OktaConfig("testoktaid", "http://dev-00000.oktapreview.com", "com.test:/redirect", "com.test:/logout"))); Assert.Throws <ArgumentException>(() => validator.Validate(new OktaConfig("testoktaid", "https://dev-00000-admin.oktapreview.com", "com.test:/redirect", "com.test:/logout"))); Assert.Throws <ArgumentException>(() => validator.Validate(new OktaConfig("testoktaid", "https://{yourOktaDomain}", "com.test:/redirect", "com.test:/logout"))); Assert.Throws <ArgumentException>(() => validator.Validate(new OktaConfig("testoktaid", "dev-00000.oktapreview.com", "com.test:/redirect", "com.test:/logout"))); }
public void ConfigValidatorCatchesMissingProperties() { OktaConfigValidator <OktaConfig> validator = new OktaConfigValidator <OktaConfig>(); Assert.Throws <ArgumentNullException>("config", () => validator.Validate(null)); Assert.Throws <ArgumentNullException>(() => validator.Validate(new OktaConfig())); Assert.Throws <ArgumentNullException>("ClientId", () => validator.Validate(new OktaConfig(null, "https://dev-00000.oktapreview.com", "com.test:/redirect", "com.test:/logout"))); Assert.Throws <ArgumentNullException>("OktaDomain", () => validator.Validate(new OktaConfig("testoktaid", null, "com.test:/redirect", "com.test:/logout"))); Assert.Throws <ArgumentNullException>("RedirectUri", () => validator.Validate(new OktaConfig("testoktaid", "https://dev-00000.oktapreview.com", null, "com.test:/logout"))); Assert.Throws <ArgumentNullException>("PostLogoutRedirectUri", () => validator.Validate(new OktaConfig("testoktaid", "https://dev-00000.oktapreview.com", "com.test:/redirect", null))); }