[AB-205] making exception message for command not found configurable

making feature config classes more unified in the naming
This commit is contained in:
Sheldan
2021-03-21 22:59:01 +01:00
parent 5eefc3909e
commit f53f0cb66c
44 changed files with 176 additions and 129 deletions

View File

@@ -3,7 +3,7 @@ package dev.sheldan.abstracto.moderation.job;
import dev.sheldan.abstracto.core.models.database.AServer;
import dev.sheldan.abstracto.core.service.FeatureFlagService;
import dev.sheldan.abstracto.core.service.management.ServerManagementService;
import dev.sheldan.abstracto.moderation.config.feature.WarningDecayFeature;
import dev.sheldan.abstracto.moderation.config.feature.WarningDecayFeatureConfig;
import dev.sheldan.abstracto.moderation.service.WarnService;
import lombok.extern.slf4j.Slf4j;
import org.quartz.DisallowConcurrentExecution;
@@ -31,7 +31,7 @@ public class WarnDecayJob extends QuartzJobBean {
private FeatureFlagService featureFlagService;
@Autowired
private WarningDecayFeature warningDecayFeature;
private WarningDecayFeatureConfig warningDecayFeatureConfig;
@Autowired
private WarnService warnService;
@@ -42,7 +42,7 @@ public class WarnDecayJob extends QuartzJobBean {
List<AServer> allServers = serverManagementService.getAllServers();
log.info("Executing warn decay job.");
allServers.forEach(server -> {
boolean featureEnabled = featureFlagService.isFeatureEnabled(warningDecayFeature, server);
boolean featureEnabled = featureFlagService.isFeatureEnabled(warningDecayFeatureConfig, server);
if(featureEnabled) {
log.info("Executing warn decay for server {}.", server.getId());
warnService.decayWarningsForServer(server);

View File

@@ -11,7 +11,7 @@ import dev.sheldan.abstracto.core.service.management.ServerManagementService;
import dev.sheldan.abstracto.core.service.management.UserInServerManagementService;
import dev.sheldan.abstracto.core.utils.FutureUtils;
import dev.sheldan.abstracto.moderation.config.feature.ModerationFeatureDefinition;
import dev.sheldan.abstracto.moderation.config.feature.WarningDecayFeature;
import dev.sheldan.abstracto.moderation.config.feature.WarningDecayFeatureConfig;
import dev.sheldan.abstracto.moderation.config.feature.mode.WarnDecayMode;
import dev.sheldan.abstracto.moderation.config.feature.mode.WarningMode;
import dev.sheldan.abstracto.moderation.config.posttarget.WarnDecayPostTarget;
@@ -130,8 +130,8 @@ public class WarnServiceBean implements WarnService {
@Override
@Transactional
public CompletableFuture<Void> decayWarningsForServer(AServer server) {
Long defaultDays = defaultConfigManagementService.getDefaultConfig(WarningDecayFeature.DECAY_DAYS_KEY).getLongValue();
Long days = configService.getLongValue(WarningDecayFeature.DECAY_DAYS_KEY, server.getId(), defaultDays);
Long defaultDays = defaultConfigManagementService.getDefaultConfig(WarningDecayFeatureConfig.DECAY_DAYS_KEY).getLongValue();
Long days = configService.getLongValue(WarningDecayFeatureConfig.DECAY_DAYS_KEY, server.getId(), defaultDays);
Instant cutOffDay = Instant.now().minus(days, ChronoUnit.DAYS);
log.info("Decaying warnings on server {} which are older than {}.", server.getId(), cutOffDay);
List<Warning> warningsToDecay = warnManagementService.getActiveWarningsInServerOlderThan(server, cutOffDay);

View File

@@ -8,7 +8,7 @@ import dev.sheldan.abstracto.core.service.FeatureFlagService;
import dev.sheldan.abstracto.core.service.management.UserInServerManagementService;
import dev.sheldan.abstracto.core.test.command.CommandConfigValidator;
import dev.sheldan.abstracto.core.test.command.CommandTestUtilities;
import dev.sheldan.abstracto.moderation.config.feature.WarningDecayFeature;
import dev.sheldan.abstracto.moderation.config.feature.WarningDecayFeatureConfig;
import dev.sheldan.abstracto.moderation.model.template.command.MyWarningsModel;
import dev.sheldan.abstracto.moderation.service.management.WarnManagementService;
import org.junit.Assert;
@@ -35,7 +35,7 @@ public class MyWarningsTest {
private FeatureFlagService featureFlagService;
@Mock
private WarningDecayFeature warningDecayFeature;
private WarningDecayFeatureConfig warningDecayFeatureConfig;
@Mock
private UserInServerManagementService userInServerManagementService;

View File

@@ -3,7 +3,7 @@ package dev.sheldan.abstracto.moderation.job;
import dev.sheldan.abstracto.core.models.database.AServer;
import dev.sheldan.abstracto.core.service.FeatureFlagService;
import dev.sheldan.abstracto.core.service.management.ServerManagementService;
import dev.sheldan.abstracto.moderation.config.feature.WarningDecayFeature;
import dev.sheldan.abstracto.moderation.config.feature.WarningDecayFeatureConfig;
import dev.sheldan.abstracto.moderation.service.WarnService;
import org.junit.Assert;
import org.junit.Test;
@@ -34,7 +34,7 @@ public class WarnDecayJobTest {
private FeatureFlagService featureFlagService;
@Mock
private WarningDecayFeature warningDecayFeature;
private WarningDecayFeatureConfig warningDecayFeatureConfig;
@Mock
private WarnService warnService;
@@ -52,7 +52,7 @@ public class WarnDecayJobTest {
public void executeJobForNoServers() throws JobExecutionException {
when(serverManagementService.getAllServers()).thenReturn(Collections.emptyList());
testUnit.executeInternal(null);
verify(featureFlagService, times(0)).isFeatureEnabled(eq(warningDecayFeature), any(AServer.class));
verify(featureFlagService, times(0)).isFeatureEnabled(eq(warningDecayFeatureConfig), any(AServer.class));
verify(warnService, times(0)).decayWarningsForServer(any(AServer.class));
}
@@ -60,7 +60,7 @@ public class WarnDecayJobTest {
public void executeJobForAEnabledServer() throws JobExecutionException {
when(firstServer.getId()).thenReturn(SERVER_ID);
when(serverManagementService.getAllServers()).thenReturn(Arrays.asList(firstServer));
when(featureFlagService.isFeatureEnabled(warningDecayFeature, firstServer)).thenReturn(true);
when(featureFlagService.isFeatureEnabled(warningDecayFeatureConfig, firstServer)).thenReturn(true);
testUnit.executeInternal(null);
verify(warnService, times(1)).decayWarningsForServer(eq(firstServer));
}
@@ -68,7 +68,7 @@ public class WarnDecayJobTest {
@Test
public void executeJobForADisabledServer() throws JobExecutionException {
when(serverManagementService.getAllServers()).thenReturn(Arrays.asList(firstServer));
when(featureFlagService.isFeatureEnabled(warningDecayFeature, firstServer)).thenReturn(false);
when(featureFlagService.isFeatureEnabled(warningDecayFeatureConfig, firstServer)).thenReturn(false);
testUnit.executeInternal(null);
verify(warnService, times(0)).decayWarningsForServer(eq(firstServer));
}
@@ -77,8 +77,8 @@ public class WarnDecayJobTest {
public void executeJobForMixedServers() throws JobExecutionException {
when(firstServer.getId()).thenReturn(SERVER_ID);
when(serverManagementService.getAllServers()).thenReturn(Arrays.asList(firstServer, secondServer));
when(featureFlagService.isFeatureEnabled(warningDecayFeature, firstServer)).thenReturn(true);
when(featureFlagService.isFeatureEnabled(warningDecayFeature, secondServer)).thenReturn(false);
when(featureFlagService.isFeatureEnabled(warningDecayFeatureConfig, firstServer)).thenReturn(true);
when(featureFlagService.isFeatureEnabled(warningDecayFeatureConfig, secondServer)).thenReturn(false);
testUnit.executeInternal(null);
verify(warnService, times(1)).decayWarningsForServer(eq(firstServer));
}
@@ -88,8 +88,8 @@ public class WarnDecayJobTest {
when(firstServer.getId()).thenReturn(SERVER_ID);
when(secondServer.getId()).thenReturn(SERVER_ID_2);
when(serverManagementService.getAllServers()).thenReturn(Arrays.asList(firstServer, secondServer));
when(featureFlagService.isFeatureEnabled(warningDecayFeature, firstServer)).thenReturn(true);
when(featureFlagService.isFeatureEnabled(warningDecayFeature, secondServer)).thenReturn(true);
when(featureFlagService.isFeatureEnabled(warningDecayFeatureConfig, firstServer)).thenReturn(true);
when(featureFlagService.isFeatureEnabled(warningDecayFeatureConfig, secondServer)).thenReturn(true);
testUnit.executeInternal(null);
ArgumentCaptor<AServer> serverCaptor = ArgumentCaptor.forClass(AServer.class);
verify(warnService, times(2)).decayWarningsForServer(serverCaptor.capture());

View File

@@ -10,7 +10,7 @@ import dev.sheldan.abstracto.core.service.management.DefaultConfigManagementServ
import dev.sheldan.abstracto.core.service.management.ServerManagementService;
import dev.sheldan.abstracto.core.test.command.CommandTestUtilities;
import dev.sheldan.abstracto.moderation.config.feature.ModerationFeatureDefinition;
import dev.sheldan.abstracto.moderation.config.feature.WarningDecayFeature;
import dev.sheldan.abstracto.moderation.config.feature.WarningDecayFeatureConfig;
import dev.sheldan.abstracto.moderation.config.feature.mode.WarnDecayMode;
import dev.sheldan.abstracto.moderation.config.feature.mode.WarningMode;
import dev.sheldan.abstracto.moderation.config.posttarget.WarningPostTarget;
@@ -254,8 +254,8 @@ public class WarnServiceBeanTest {
SystemConfigProperty defaultDecayDays = Mockito.mock(SystemConfigProperty.class);
Long defaultDayCount = 4L;
when(defaultDecayDays.getLongValue()).thenReturn(defaultDayCount);
when(defaultConfigManagementService.getDefaultConfig(WarningDecayFeature.DECAY_DAYS_KEY)).thenReturn(defaultDecayDays);
when(configService.getLongValue(WarningDecayFeature.DECAY_DAYS_KEY, SERVER_ID, defaultDayCount)).thenReturn(5L);
when(defaultConfigManagementService.getDefaultConfig(WarningDecayFeatureConfig.DECAY_DAYS_KEY)).thenReturn(defaultDecayDays);
when(configService.getLongValue(WarningDecayFeatureConfig.DECAY_DAYS_KEY, SERVER_ID, defaultDayCount)).thenReturn(5L);
List<Warning> warnings = Arrays.asList(firstWarning, secondWarning);
when(memberService.getMemberInServerAsync(warningUser)).thenReturn(CompletableFuture.completedFuture(warningMember));
when(memberService.getMemberInServerAsync(firstWarnedUser)).thenReturn(CompletableFuture.completedFuture(warnedMember));

View File

@@ -10,7 +10,7 @@ import java.util.Arrays;
import java.util.List;
@Component
public class InviteFilterFeature implements FeatureConfig {
public class InviteFilterFeatureConfig implements FeatureConfig {
@Override
public FeatureDefinition getFeature() {
return ModerationFeatureDefinition.INVITE_FILTER;

View File

@@ -10,7 +10,7 @@ import java.util.Arrays;
import java.util.List;
@Component
public class LoggingFeature implements FeatureConfig {
public class LoggingFeatureConfig implements FeatureConfig {
@Override
public FeatureDefinition getFeature() {

View File

@@ -12,7 +12,7 @@ import java.util.Arrays;
import java.util.List;
@Component
public class ModerationFeature implements FeatureConfig {
public class ModerationFeatureConfig implements FeatureConfig {
@Override
public FeatureDefinition getFeature() {

View File

@@ -12,7 +12,7 @@ import java.util.Arrays;
import java.util.List;
@Component
public class MutingFeature implements FeatureConfig {
public class MutingFeatureConfig implements FeatureConfig {
@Override
public FeatureDefinition getFeature() {

View File

@@ -5,7 +5,7 @@ import dev.sheldan.abstracto.core.config.FeatureDefinition;
import org.springframework.stereotype.Component;
@Component
public class UserNoteFeature implements FeatureConfig {
public class UserNoteFeatureConfig implements FeatureConfig {
@Override
public FeatureDefinition getFeature() {
return ModerationFeatureDefinition.USER_NOTES;

View File

@@ -13,12 +13,12 @@ import java.util.Arrays;
import java.util.List;
@Component
public class WarningDecayFeature implements FeatureConfig {
public class WarningDecayFeatureConfig implements FeatureConfig {
public static final String DECAY_DAYS_KEY = "decayDays";
@Autowired
private WarningFeature warningFeature;
@Autowired
private WarningFeatureConfig warningFeatureConfig;
@Override
public FeatureDefinition getFeature() {
@@ -32,7 +32,7 @@ public class WarningDecayFeature implements FeatureConfig {
@Override
public List<FeatureConfig> getRequiredFeatures() {
return Arrays.asList(warningFeature);
return Arrays.asList(warningFeatureConfig);
}
@Override

View File

@@ -13,10 +13,10 @@ import java.util.Arrays;
import java.util.List;
@Component
public class WarningFeature implements FeatureConfig {
public class WarningFeatureConfig implements FeatureConfig {
@Autowired
private WarningDecayFeature warningDecayFeature;
private WarningDecayFeatureConfig warningDecayFeatureConfig;
@Override
public FeatureDefinition getFeature() {
@@ -25,7 +25,7 @@ public class WarningFeature implements FeatureConfig {
@Override
public List<FeatureConfig> getDependantFeatures() {
return Arrays.asList(warningDecayFeature);
return Arrays.asList(warningDecayFeatureConfig);
}
@Override