diff --git a/airbyte-config/persistence/src/main/java/io/airbyte/config/persistence/DatabaseConfigPersistence.java b/airbyte-config/persistence/src/main/java/io/airbyte/config/persistence/DatabaseConfigPersistence.java index 1e3d242099a1..7423c39cbcbf 100644 --- a/airbyte-config/persistence/src/main/java/io/airbyte/config/persistence/DatabaseConfigPersistence.java +++ b/airbyte-config/persistence/src/main/java/io/airbyte/config/persistence/DatabaseConfigPersistence.java @@ -87,6 +87,13 @@ public class DatabaseConfigPersistence implements ConfigPersistence { private final ExceptionWrappingDatabase database; private static final Logger LOGGER = LoggerFactory.getLogger(DatabaseConfigPersistence.class); + /** + * Entrypoint into DatabaseConfigPersistence. Except in testing, we should never be using it without + * it being decorated with validation classes. + * + * @param database - database where configs are stored. + * @return database config persistence wrapped in validation decorators + */ public static ConfigPersistence createWithValidation(final Database database) { return new ClassEnforcingConfigPersistence(new ValidatingConfigPersistence(new DatabaseConfigPersistence(database))); } diff --git a/airbyte-server/src/test/java/io/airbyte/server/handlers/ArchiveHandlerTest.java b/airbyte-server/src/test/java/io/airbyte/server/handlers/ArchiveHandlerTest.java index 7a7222d71412..57924a93adae 100644 --- a/airbyte-server/src/test/java/io/airbyte/server/handlers/ArchiveHandlerTest.java +++ b/airbyte-server/src/test/java/io/airbyte/server/handlers/ArchiveHandlerTest.java @@ -74,7 +74,7 @@ public class ArchiveHandlerTest { private Database jobDatabase; private Database configDatabase; private JobPersistence jobPersistence; - private DatabaseConfigPersistence configPersistence; + private ConfigPersistence configPersistence; private ConfigPersistence seedPersistence; private ConfigRepository configRepository; @@ -111,7 +111,7 @@ public void setup() throws Exception { configDatabase = databaseProviders.createNewConfigsDatabase(); jobPersistence = new DefaultJobPersistence(jobDatabase); seedPersistence = YamlSeedConfigPersistence.getDefault(); - configPersistence = new DatabaseConfigPersistence(jobDatabase); + configPersistence = DatabaseConfigPersistence.createWithValidation(jobDatabase); configPersistence.replaceAllConfigs(Collections.emptyMap(), false); configPersistence.loadData(seedPersistence); configRepository = new ConfigRepository(configPersistence, new NoOpSecretsHydrator(), Optional.empty(), Optional.empty(), configDatabase);