diff --git a/openmetadata-service/src/main/java/org/openmetadata/service/util/OpenMetadataBaseUrlValidator.java b/openmetadata-service/src/main/java/org/openmetadata/service/util/OpenMetadataBaseUrlValidator.java index f09279f67aec..3bcdf97ddcd5 100644 --- a/openmetadata-service/src/main/java/org/openmetadata/service/util/OpenMetadataBaseUrlValidator.java +++ b/openmetadata-service/src/main/java/org/openmetadata/service/util/OpenMetadataBaseUrlValidator.java @@ -51,9 +51,9 @@ public static void validate(Settings setting) { setting != null && setting.getConfigType() == SettingsType.OPEN_METADATA_BASE_URL_CONFIGURATION; if (isBaseUrlSetting) { - validateUrl( - JsonUtils.convertValue(setting.getConfigValue(), OpenMetadataBaseUrlConfiguration.class) - .getOpenMetadataUrl()); + OpenMetadataBaseUrlConfiguration config = + JsonUtils.convertValue(setting.getConfigValue(), OpenMetadataBaseUrlConfiguration.class); + validateUrl(config == null ? null : config.getOpenMetadataUrl()); } } diff --git a/openmetadata-service/src/test/java/org/openmetadata/service/util/OpenMetadataBaseUrlValidatorTest.java b/openmetadata-service/src/test/java/org/openmetadata/service/util/OpenMetadataBaseUrlValidatorTest.java index c72cacbd236e..46c251973142 100644 --- a/openmetadata-service/src/test/java/org/openmetadata/service/util/OpenMetadataBaseUrlValidatorTest.java +++ b/openmetadata-service/src/test/java/org/openmetadata/service/util/OpenMetadataBaseUrlValidatorTest.java @@ -82,6 +82,15 @@ void acceptsBaseUrlSettingWithScheme() { assertDoesNotThrow(() -> OpenMetadataBaseUrlValidator.validate(setting)); } + @Test + void rejectsBaseUrlSettingWithoutConfigValue() { + Settings setting = + new Settings().withConfigType(SettingsType.OPEN_METADATA_BASE_URL_CONFIGURATION); + + assertThrows( + SystemSettingsException.class, () -> OpenMetadataBaseUrlValidator.validate(setting)); + } + @Test void ignoresOtherSettingTypes() { Settings setting =