Improve error message when no resources exist at a script location

See gh-25620
This commit is contained in:
Yuta Saito 2021-03-14 20:54:57 +09:00 committed by Andy Wilkinson
parent 226ee61dea
commit 42841b895f
2 changed files with 9 additions and 5 deletions

View File

@ -1,5 +1,5 @@
/*
* Copyright 2012-2020 the original author or authors.
* Copyright 2012-2021 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@ -161,7 +161,7 @@ class DataSourceInitializer {
}
else if (validate) {
throw new InvalidConfigurationPropertyValueException(propertyName, resource,
"The specified resource does not exist.");
"Resource '" + location + "' does not exist.");
}
}
}

View File

@ -1,5 +1,5 @@
/*
* Copyright 2012-2019 the original author or authors.
* Copyright 2012-2021 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@ -221,8 +221,10 @@ class DataSourceInitializerInvokerTests {
"spring.datasource.schema:classpath:does/not/exist.sql").run((context) -> {
assertThat(context).hasFailed();
assertThat(context.getStartupFailure()).isInstanceOf(BeanCreationException.class);
assertThat(context.getStartupFailure()).hasMessageContaining("does/not/exist.sql");
assertThat(context.getStartupFailure()).hasMessageContaining("[does/not/exist.sql]");
assertThat(context.getStartupFailure()).hasMessageContaining("spring.datasource.schema");
assertThat(context.getStartupFailure())
.hasMessageContaining("Resource 'classpath:does/not/exist.sql' does not exist.");
});
}
@ -233,8 +235,10 @@ class DataSourceInitializerInvokerTests {
"spring.datasource.data:classpath:does/not/exist.sql").run((context) -> {
assertThat(context).hasFailed();
assertThat(context.getStartupFailure()).isInstanceOf(BeanCreationException.class);
assertThat(context.getStartupFailure()).hasMessageContaining("does/not/exist.sql");
assertThat(context.getStartupFailure()).hasMessageContaining("[does/not/exist.sql]");
assertThat(context.getStartupFailure()).hasMessageContaining("spring.datasource.data");
assertThat(context.getStartupFailure())
.hasMessageContaining("Resource 'classpath:does/not/exist.sql' does not exist.");
});
}