refactor: reject legacy identity store modes
This commit is contained in:
@@ -23,6 +23,18 @@ public class VehicleIdentityAutoConfiguration {
|
|||||||
return new ObjectMapper();
|
return new ObjectMapper();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Bean
|
||||||
|
@ConditionalOnProperty(prefix = "lingniu.ingest.identity", name = "store", havingValue = "file")
|
||||||
|
public Object rejectedLegacyFileIdentityStore() {
|
||||||
|
throw new IllegalStateException("identity.store=file has been removed; configure identity.store=mysql");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Bean
|
||||||
|
@ConditionalOnProperty(prefix = "lingniu.ingest.identity", name = "store", havingValue = "sqlite")
|
||||||
|
public Object rejectedLegacySqliteIdentityStore() {
|
||||||
|
throw new IllegalStateException("identity.store=sqlite has been removed; configure identity.store=mysql");
|
||||||
|
}
|
||||||
|
|
||||||
@Bean
|
@Bean
|
||||||
@ConditionalOnMissingBean({VehicleIdentityResolver.class, VehicleIdentityRegistry.class})
|
@ConditionalOnMissingBean({VehicleIdentityResolver.class, VehicleIdentityRegistry.class})
|
||||||
@ConditionalOnProperty(prefix = "lingniu.ingest.identity", name = "store", havingValue = "mysql",
|
@ConditionalOnProperty(prefix = "lingniu.ingest.identity", name = "store", havingValue = "mysql",
|
||||||
|
|||||||
@@ -51,12 +51,22 @@ class VehicleIdentityAutoConfigurationTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
void unsupportedStoreModeDoesNotCreateRuntimeFallback() {
|
void rejectsLegacyFileStoreMode() {
|
||||||
runner
|
runner
|
||||||
.withPropertyValues("lingniu.ingest.identity.store=file")
|
.withPropertyValues("lingniu.ingest.identity.store=file")
|
||||||
.run(context -> {
|
.run(context -> assertThat(context.getStartupFailure())
|
||||||
assertThat(context).doesNotHaveBean(VehicleIdentityResolver.class);
|
.hasRootCauseInstanceOf(IllegalStateException.class)
|
||||||
assertThat(context).doesNotHaveBean(VehicleIdentityRegistry.class);
|
.hasMessageContaining("identity.store=file has been removed")
|
||||||
});
|
.hasMessageContaining("identity.store=mysql"));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void rejectsLegacySqliteStoreMode() {
|
||||||
|
runner
|
||||||
|
.withPropertyValues("lingniu.ingest.identity.store=sqlite")
|
||||||
|
.run(context -> assertThat(context.getStartupFailure())
|
||||||
|
.hasRootCauseInstanceOf(IllegalStateException.class)
|
||||||
|
.hasMessageContaining("identity.store=sqlite has been removed")
|
||||||
|
.hasMessageContaining("identity.store=mysql"));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user