Fix unit tests

This commit is contained in:
Eduard Heimbuch
2024-05-23 08:21:36 +02:00
parent bef418692b
commit d55f5deda7
6 changed files with 24 additions and 18 deletions

View File

@@ -24,7 +24,7 @@
package sonia.scm.repository.work;
import jakarta.inject.Inject;
import com.google.inject.Inject;
import sonia.scm.util.IOUtil;
import java.io.File;

View File

@@ -62,6 +62,7 @@ class WorkingCopyPoolModuleTest {
@Test
void shouldBindToDefaultWithoutProperty() {
WebappConfigProvider.setConfigBindings(Map.of("", ""));
WorkingCopyPoolModule module = new WorkingCopyPoolModule(pluginLoader);
when(binder.bind(WorkingCopyPool.class)).thenReturn(bindingBuilder);

View File

@@ -56,7 +56,7 @@ class PluginInstallationVerifierTest {
void setUpDescriptor() {
PluginInformation information = new PluginInformation();
information.setName(HOG_PLUGIN);
information.setVersion("1.0.0");
information.setVersion("3.0.0");
when(descriptor.getInformation()).thenReturn(information);
}
@@ -80,7 +80,7 @@ class PluginInstallationVerifierTest {
}
private void matchConditions() {
when(descriptor.getCondition().isSupported()).thenReturn(true);
when(descriptor.getCondition()).thenReturn(new PluginCondition());
}
@Test

View File

@@ -43,13 +43,18 @@ import java.io.InputStream;
import java.nio.charset.StandardCharsets;
import java.nio.file.Path;
import java.util.Collections;
import java.util.List;
import java.util.Optional;
import static org.assertj.core.api.Assertions.assertThat;
import static org.junit.jupiter.api.Assertions.assertThrows;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.Mockito.*;
import static sonia.scm.plugin.Tracing.SPAN_KIND;
import static org.mockito.Mockito.RETURNS_DEEP_STUBS;
import static org.mockito.Mockito.anyInt;
import static org.mockito.Mockito.lenient;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
@ExtendWith(MockitoExtension.class)
class PluginInstallerTest {
@@ -81,7 +86,7 @@ class PluginInstallerTest {
Path arg = ic.getArgument(0);
return directory.resolve(arg);
});
InstalledPluginDescriptor supportedPlugin = createPluginDescriptor(true);
InstalledPluginDescriptor supportedPlugin = createPluginDescriptor(new PluginCondition("1.0.0", List.of("linux"), "64"));
lenient().when(extractor.extractPluginDescriptor(any())).thenReturn(supportedPlugin);
}
@@ -161,7 +166,7 @@ class PluginInstallerTest {
@Test
void shouldFailForUnsupportedPlugin() throws IOException {
mockContent("42");
InstalledPluginDescriptor supportedPlugin = createPluginDescriptor(false);
InstalledPluginDescriptor supportedPlugin = createPluginDescriptor(new PluginCondition("1.0.0", List.of("linux"), "42"));
when(extractor.extractPluginDescriptor(any())).thenReturn(supportedPlugin);
PluginInstallationContext context = PluginInstallationContext.empty();
@@ -174,7 +179,7 @@ class PluginInstallerTest {
void shouldFailForNameMismatch() throws IOException {
mockContent("42");
InstalledPluginDescriptor supportedPlugin = createPluginDescriptor("scm-svn-plugin", "1.0.0", true);
InstalledPluginDescriptor supportedPlugin = createPluginDescriptor("scm-svn-plugin", "1.0.0", new PluginCondition("1.0.0", List.of("linux"), "64"));
when(extractor.extractPluginDescriptor(any())).thenReturn(supportedPlugin);
PluginInstallationContext context = PluginInstallationContext.empty();
@@ -188,7 +193,7 @@ class PluginInstallerTest {
void shouldFailForVersionMismatch() throws IOException {
mockContent("42");
InstalledPluginDescriptor supportedPlugin = createPluginDescriptor("scm-git-plugin", "1.1.0", true);
InstalledPluginDescriptor supportedPlugin = createPluginDescriptor("scm-git-plugin", "1.1.0", new PluginCondition("42.0.0", List.of("linux"), "64"));
when(extractor.extractPluginDescriptor(any())).thenReturn(supportedPlugin);
PluginInstallationContext context = PluginInstallationContext.empty();
@@ -219,16 +224,16 @@ class PluginInstallerTest {
return new AvailablePlugin(descriptor);
}
private InstalledPluginDescriptor createPluginDescriptor(boolean supported) {
return createPluginDescriptor("scm-git-plugin", "1.0.0", supported);
private InstalledPluginDescriptor createPluginDescriptor(PluginCondition condition) {
return createPluginDescriptor("scm-git-plugin", "1.0.0", condition);
}
private InstalledPluginDescriptor createPluginDescriptor(String name, String version, boolean supported) {
private InstalledPluginDescriptor createPluginDescriptor(String name, String version, PluginCondition condition) {
InstalledPluginDescriptor installedPluginDescriptor = mock(InstalledPluginDescriptor.class, RETURNS_DEEP_STUBS);
lenient().when(installedPluginDescriptor.getInformation().getId()).thenReturn(name);
lenient().when(installedPluginDescriptor.getInformation().getName()).thenReturn(name);
lenient().when(installedPluginDescriptor.getInformation().getVersion()).thenReturn(version);
lenient().when(installedPluginDescriptor.getCondition().isSupported()).thenReturn(supported);
lenient().when(installedPluginDescriptor.getCondition()).thenReturn(condition);
return installedPluginDescriptor;
}
}

View File

@@ -160,11 +160,12 @@ class DefaultNamespaceManagerTest {
@BeforeEach
void grantReadPermission() {
when(subject.isPermitted("namespace:permissionRead")).thenReturn(true);
lenient().when(subject.isPermitted("namespace:permissionRead:life")).thenReturn(true);
}
@Test
void shouldCreateNewNamespaceObjectIfNotInStore() {
when(subject.isPermitted("namespace:permissionRead:universe")).thenReturn(true);
Namespace namespace = manager.get("universe").orElse(null);
assertThat(namespace).isEqualTo(universe);
@@ -212,8 +213,8 @@ class DefaultNamespaceManagerTest {
@BeforeEach
void grantReadPermission() {
when(subject.isPermitted("namespace:permissionRead:*")).thenReturn(false);
lenient().doThrow(AuthorizationException.class).when(subject).checkPermission("namespace:permissionWrite:*");
when(subject.isPermitted("namespace:permissionRead:life")).thenReturn(false);
lenient().doThrow(AuthorizationException.class).when(subject).checkPermission("namespace:permissionWrite:life");
}
@Test

View File

@@ -58,7 +58,6 @@ import java.time.Instant;
import java.time.temporal.ChronoUnit;
import java.util.List;
import java.util.function.Consumer;
import java.util.stream.Collectors;
import static org.assertj.core.api.Assertions.assertThat;
import static org.junit.jupiter.api.Assertions.assertThrows;
@@ -622,7 +621,7 @@ class LuceneQueryBuilderTest {
}
@ParameterizedTest
@CsvSource({"holmes watson moriarty,SIMPLE_WITH_ADDED_WILDCARDS", "holmes OR watson OR moriarty,PARSED_EXPERT_QUERY"})
@CsvSource({"holmes watson moriarty,SIMPLE", "holmes OR watson OR moriarty,EXPERT"})
void shouldReturnQueryResultWithCorrectType(String queryString, String expectedQueryType) throws IOException {
try (IndexWriter writer = writer()) {
writer.addDocument(personDoc("Holmes"));