mirror of
https://github.com/signalapp/Signal-Server
synced 2026-04-22 06:58:03 +01:00
Remove dynamic configuration feature flags; add DynamicMessagePersisterConfiguration
This commit is contained in:
@@ -201,29 +201,6 @@ class DynamicConfigurationTest {
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
void testParseFeatureFlags() throws JsonProcessingException {
|
||||
{
|
||||
final String emptyConfigYaml = REQUIRED_CONFIG.concat("test: true");
|
||||
final DynamicConfiguration emptyConfig =
|
||||
DynamicConfigurationManager.parseConfiguration(emptyConfigYaml, DynamicConfiguration.class).orElseThrow();
|
||||
|
||||
assertTrue(emptyConfig.getActiveFeatureFlags().isEmpty());
|
||||
}
|
||||
|
||||
{
|
||||
final String featureFlagYaml = REQUIRED_CONFIG.concat("""
|
||||
featureFlags:
|
||||
- testFlag
|
||||
""");
|
||||
|
||||
final DynamicConfiguration emptyConfig =
|
||||
DynamicConfigurationManager.parseConfiguration(featureFlagYaml, DynamicConfiguration.class).orElseThrow();
|
||||
|
||||
assertTrue(emptyConfig.getActiveFeatureFlags().contains("testFlag"));
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
void testParseTwilioConfiguration() throws JsonProcessingException {
|
||||
{
|
||||
@@ -435,6 +412,43 @@ class DynamicConfigurationTest {
|
||||
assertThat(turnConfiguration.getUriConfigs().get(1).getEnrolledNumbers()).containsExactly("+15555555555");
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@Test
|
||||
void testMessagePersister() throws JsonProcessingException {
|
||||
{
|
||||
final String emptyConfigYaml = REQUIRED_CONFIG.concat("test: true");
|
||||
final DynamicConfiguration emptyConfig =
|
||||
DynamicConfigurationManager.parseConfiguration(emptyConfigYaml, DynamicConfiguration.class).orElseThrow();
|
||||
|
||||
assertTrue(emptyConfig.getMessagePersisterConfiguration().isPersistenceEnabled());
|
||||
}
|
||||
|
||||
{
|
||||
final String messagePersisterEnabledYaml = REQUIRED_CONFIG.concat("""
|
||||
messagePersister:
|
||||
persistenceEnabled: true
|
||||
""");
|
||||
|
||||
final DynamicConfiguration config =
|
||||
DynamicConfigurationManager.parseConfiguration(messagePersisterEnabledYaml, DynamicConfiguration.class)
|
||||
.orElseThrow();
|
||||
|
||||
assertTrue(config.getMessagePersisterConfiguration().isPersistenceEnabled());
|
||||
}
|
||||
|
||||
{
|
||||
final String messagePersisterDisabledYaml = REQUIRED_CONFIG.concat("""
|
||||
messagePersister:
|
||||
persistenceEnabled: false
|
||||
""");
|
||||
|
||||
final DynamicConfiguration config =
|
||||
DynamicConfigurationManager.parseConfiguration(messagePersisterDisabledYaml, DynamicConfiguration.class)
|
||||
.orElseThrow();
|
||||
|
||||
assertFalse(config.getMessagePersisterConfiguration().isPersistenceEnabled());
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -120,8 +120,9 @@ class DynamicConfigurationManagerTest {
|
||||
configurationToken("1").build()))
|
||||
.thenReturn(GetLatestConfigurationResponse.builder()
|
||||
.configuration(SdkBytes.fromUtf8String("""
|
||||
featureFlags:
|
||||
- testFlag
|
||||
experiments:
|
||||
test:
|
||||
enrollmentPercentage: 50
|
||||
captcha:
|
||||
scoreFloor: 1.0
|
||||
"""))
|
||||
@@ -139,10 +140,12 @@ class DynamicConfigurationManagerTest {
|
||||
assertTimeoutPreemptively(Duration.ofSeconds(5), () -> {
|
||||
// we should eventually get the updated config (or the test will timeout)
|
||||
dynamicConfigurationManager.start();
|
||||
while (dynamicConfigurationManager.getConfiguration().getActiveFeatureFlags().isEmpty()) {
|
||||
while (dynamicConfigurationManager.getConfiguration().getExperimentEnrollmentConfiguration("test").isEmpty()) {
|
||||
Thread.sleep(100);
|
||||
}
|
||||
assertThat(dynamicConfigurationManager.getConfiguration().getActiveFeatureFlags()).containsExactly("testFlag");
|
||||
assertThat(
|
||||
dynamicConfigurationManager.getConfiguration().getExperimentEnrollmentConfiguration("test").get()
|
||||
.getEnrollmentPercentage()).isEqualTo(50);
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user