[AB-68] adding invite filter with commands to allow/disallow invites, remove stored filtered invite links and show filtered invite links

removing database entities from command context
This commit is contained in:
Sheldan
2021-01-23 15:33:00 +01:00
parent fb3ed69650
commit 2a2a3aea70
182 changed files with 2571 additions and 325 deletions

View File

@@ -6,8 +6,10 @@ import dev.sheldan.abstracto.core.config.FeatureEnum;
import dev.sheldan.abstracto.core.config.FeatureMode;
import dev.sheldan.abstracto.core.exception.FeatureModeNotFoundException;
import dev.sheldan.abstracto.core.exception.FeatureNotFoundException;
import dev.sheldan.abstracto.core.models.database.AServer;
import dev.sheldan.abstracto.core.service.FeatureConfigService;
import dev.sheldan.abstracto.core.service.FeatureModeService;
import dev.sheldan.abstracto.core.service.management.ServerManagementService;
import dev.sheldan.abstracto.core.test.command.CommandConfigValidator;
import dev.sheldan.abstracto.core.test.command.CommandTestUtilities;
import org.junit.Test;
@@ -34,6 +36,9 @@ public class DisableFeatureModeTest {
@Mock
private FeatureModeService featureModeService;
@Mock
private ServerManagementService serverManagementService;
@Test
public void testExecuteDisable() {
String featureName = "text";
@@ -43,9 +48,11 @@ public class DisableFeatureModeTest {
FeatureMode featureMode = Mockito.mock(FeatureMode.class);
when(featureModeService.getFeatureModeForKey(modeName)).thenReturn(featureMode);
CommandContext context = CommandTestUtilities.getWithParameters(Arrays.asList(featureName, modeName));
AServer server = Mockito.mock(AServer.class);
when(serverManagementService.loadServer(context.getGuild())).thenReturn(server);
CommandResult commandResultCompletableFuture = testUnit.execute(context);
CommandTestUtilities.checkSuccessfulCompletion(commandResultCompletableFuture);
verify(featureModeService, times(1)).disableFeatureModeForFeature(featureEnum, context.getUserInitiatedContext().getServer(), featureMode);
verify(featureModeService, times(1)).disableFeatureModeForFeature(featureEnum, server, featureMode);
}
@Test(expected = FeatureNotFoundException.class)

View File

@@ -6,8 +6,10 @@ import dev.sheldan.abstracto.core.config.FeatureEnum;
import dev.sheldan.abstracto.core.config.FeatureMode;
import dev.sheldan.abstracto.core.exception.FeatureModeNotFoundException;
import dev.sheldan.abstracto.core.exception.FeatureNotFoundException;
import dev.sheldan.abstracto.core.models.database.AServer;
import dev.sheldan.abstracto.core.service.FeatureConfigService;
import dev.sheldan.abstracto.core.service.FeatureModeService;
import dev.sheldan.abstracto.core.service.management.ServerManagementService;
import dev.sheldan.abstracto.core.test.command.CommandConfigValidator;
import dev.sheldan.abstracto.core.test.command.CommandTestUtilities;
import org.junit.Test;
@@ -36,6 +38,11 @@ public class EnableFeatureModeTest {
@Mock
private FeatureModeService featureModeService;
@Mock
private ServerManagementService serverManagementService;
private static final Long SERVER_ID = 3L;
@Test
public void testExecuteDisable() {
String featureName = "text";
@@ -45,9 +52,12 @@ public class EnableFeatureModeTest {
FeatureMode featureMode = Mockito.mock(FeatureMode.class);
when(featureModeService.getFeatureModeForKey(modeName)).thenReturn(featureMode);
CommandContext context = CommandTestUtilities.getWithParameters(Arrays.asList(featureName, modeName));
AServer server = Mockito.mock(AServer.class);
when(context.getGuild().getIdLong()).thenReturn(SERVER_ID);
when(serverManagementService.loadServer(SERVER_ID)).thenReturn(server);
CommandResult commandResultCompletableFuture = testUnit.execute(context);
CommandTestUtilities.checkSuccessfulCompletion(commandResultCompletableFuture);
verify(featureModeService, times(1)).enableFeatureModeForFeature(featureEnum, context.getUserInitiatedContext().getServer(), featureMode);
verify(featureModeService, times(1)).enableFeatureModeForFeature(featureEnum, server, featureMode);
}
@Test(expected = FeatureNotFoundException.class)

View File

@@ -6,11 +6,13 @@ import dev.sheldan.abstracto.core.command.service.management.FeatureManagementSe
import dev.sheldan.abstracto.core.config.FeatureEnum;
import dev.sheldan.abstracto.core.exception.FeatureNotFoundException;
import dev.sheldan.abstracto.core.models.database.AFeature;
import dev.sheldan.abstracto.core.models.database.AServer;
import dev.sheldan.abstracto.core.models.template.commands.FeatureModeDisplay;
import dev.sheldan.abstracto.core.models.template.commands.FeatureModesModel;
import dev.sheldan.abstracto.core.service.ChannelService;
import dev.sheldan.abstracto.core.service.FeatureConfigService;
import dev.sheldan.abstracto.core.service.FeatureModeService;
import dev.sheldan.abstracto.core.service.management.ServerManagementService;
import dev.sheldan.abstracto.core.test.command.CommandConfigValidator;
import dev.sheldan.abstracto.core.test.command.CommandTestUtilities;
import org.junit.Assert;
@@ -43,6 +45,9 @@ public class FeatureModesTest {
@Mock
private FeatureConfigService featureConfigService;
@Mock
private ServerManagementService serverManagementService;
@Mock
private FeatureManagementService featureManagementService;
@@ -57,7 +62,9 @@ public class FeatureModesTest {
FeatureModeDisplay display1 = Mockito.mock(FeatureModeDisplay.class);
FeatureModeDisplay display2 = Mockito.mock(FeatureModeDisplay.class);
List<FeatureModeDisplay> featureModeDisplays = Arrays.asList(display1, display2);
when(featureModeService.getEffectiveFeatureModes(noParameters.getUserInitiatedContext().getServer())).thenReturn(featureModeDisplays);
AServer server = Mockito.mock(AServer.class);
when(serverManagementService.loadServer(noParameters.getGuild())).thenReturn(server);
when(featureModeService.getEffectiveFeatureModes(server)).thenReturn(featureModeDisplays);
when(channelService.sendEmbedTemplateInChannel(eq(FeatureModes.FEATURE_MODES_RESPONSE_TEMPLATE_KEY), modelCaptor.capture(), eq(noParameters.getChannel()))).thenReturn(new ArrayList<>());
CompletableFuture<CommandResult> commandResultCompletableFuture = testUnit.executeAsync(noParameters);
CommandTestUtilities.checkSuccessfulCompletionAsync(commandResultCompletableFuture);
@@ -76,7 +83,9 @@ public class FeatureModesTest {
AFeature feature = Mockito.mock(AFeature.class);
when(featureManagementService.getFeature(FEATURE_NAME)).thenReturn(feature);
List<FeatureModeDisplay> featureModeDisplays = Arrays.asList(display1);
when(featureModeService.getEffectiveFeatureModes(noParameters.getUserInitiatedContext().getServer(), feature)).thenReturn(featureModeDisplays);
AServer server = Mockito.mock(AServer.class);
when(serverManagementService.loadServer(noParameters.getGuild())).thenReturn(server);
when(featureModeService.getEffectiveFeatureModes(server, feature)).thenReturn(featureModeDisplays);
when(channelService.sendEmbedTemplateInChannel(eq(FeatureModes.FEATURE_MODES_RESPONSE_TEMPLATE_KEY), modelCaptor.capture(), eq(noParameters.getChannel()))).thenReturn(new ArrayList<>());
CompletableFuture<CommandResult> commandResultCompletableFuture = testUnit.executeAsync(noParameters);
CommandTestUtilities.checkSuccessfulCompletionAsync(commandResultCompletableFuture);