Validate integration test Config
This commit is contained in:
parent
37aa3b8e49
commit
0986ce12e6
|
@ -24,7 +24,10 @@ import java.util.Base64;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
|
import java.util.Set;
|
||||||
import java.util.concurrent.Executors;
|
import java.util.concurrent.Executors;
|
||||||
|
import io.dropwizard.configuration.ConfigurationValidationException;
|
||||||
|
import io.dropwizard.jersey.validation.Validators;
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
import org.apache.commons.lang3.Validate;
|
import org.apache.commons.lang3.Validate;
|
||||||
import org.apache.commons.lang3.tuple.Pair;
|
import org.apache.commons.lang3.tuple.Pair;
|
||||||
|
@ -48,6 +51,7 @@ import org.whispersystems.textsecuregcm.http.FaultTolerantHttpClient;
|
||||||
import org.whispersystems.textsecuregcm.storage.Device;
|
import org.whispersystems.textsecuregcm.storage.Device;
|
||||||
import org.whispersystems.textsecuregcm.util.HeaderUtils;
|
import org.whispersystems.textsecuregcm.util.HeaderUtils;
|
||||||
import org.whispersystems.textsecuregcm.util.SystemMapper;
|
import org.whispersystems.textsecuregcm.util.SystemMapper;
|
||||||
|
import javax.validation.ConstraintViolation;
|
||||||
|
|
||||||
public final class Operations {
|
public final class Operations {
|
||||||
|
|
||||||
|
@ -306,8 +310,16 @@ public final class Operations {
|
||||||
private static Config loadConfigFromClasspath(final String filename) {
|
private static Config loadConfigFromClasspath(final String filename) {
|
||||||
try {
|
try {
|
||||||
final URL configFileUrl = Resources.getResource(filename);
|
final URL configFileUrl = Resources.getResource(filename);
|
||||||
return SystemMapper.yamlMapper().readValue(Resources.toByteArray(configFileUrl), Config.class);
|
final Config config = SystemMapper.yamlMapper().readValue(Resources.toByteArray(configFileUrl), Config.class);
|
||||||
} catch (final IOException e) {
|
|
||||||
|
final Set<ConstraintViolation<Config>> constraintViolations = Validators.newValidator().validate(config);
|
||||||
|
|
||||||
|
if (!constraintViolations.isEmpty()) {
|
||||||
|
throw new ConfigurationValidationException(filename, constraintViolations);
|
||||||
|
}
|
||||||
|
|
||||||
|
return config;
|
||||||
|
} catch (final Exception e) {
|
||||||
throw new RuntimeException(e);
|
throw new RuntimeException(e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,12 +5,15 @@
|
||||||
|
|
||||||
package org.signal.integration.config;
|
package org.signal.integration.config;
|
||||||
|
|
||||||
|
import javax.validation.Valid;
|
||||||
|
import javax.validation.constraints.NotBlank;
|
||||||
|
import javax.validation.constraints.NotNull;
|
||||||
import org.whispersystems.textsecuregcm.configuration.DynamoDbClientFactory;
|
import org.whispersystems.textsecuregcm.configuration.DynamoDbClientFactory;
|
||||||
|
|
||||||
public record Config(String domain,
|
public record Config(@NotBlank String domain,
|
||||||
String rootCert,
|
@NotBlank String rootCert,
|
||||||
DynamoDbClientFactory dynamoDbClient,
|
@NotNull @Valid DynamoDbClientFactory dynamoDbClient,
|
||||||
DynamoDbTables dynamoDbTables,
|
@NotNull @Valid DynamoDbTables dynamoDbTables,
|
||||||
String prescribedRegistrationNumber,
|
@NotBlank String prescribedRegistrationNumber,
|
||||||
String prescribedRegistrationCode) {
|
@NotBlank String prescribedRegistrationCode) {
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,6 +5,8 @@
|
||||||
|
|
||||||
package org.signal.integration.config;
|
package org.signal.integration.config;
|
||||||
|
|
||||||
public record DynamoDbTables(String registrationRecovery,
|
import javax.validation.constraints.NotBlank;
|
||||||
String verificationSessions) {
|
|
||||||
|
public record DynamoDbTables(@NotBlank String registrationRecovery,
|
||||||
|
@NotBlank String verificationSessions) {
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue