mirror of
https://github.com/scm-manager/scm-manager.git
synced 2025-11-17 18:51:10 +01:00
DTO Config Mapper: Adds tests for all properties
This commit is contained in:
@@ -51,8 +51,6 @@ public class GlobalConfigDtoToScmConfigurationMapperTest {
|
||||
assertEquals("https://plug.ins" , config.getPluginUrl());
|
||||
assertEquals(40 , config.getLoginAttemptLimitTimeout());
|
||||
assertTrue(config.isEnabledXsrfProtection());
|
||||
|
||||
|
||||
}
|
||||
|
||||
private GlobalConfigDto createDefaultDto() {
|
||||
|
||||
@@ -20,8 +20,6 @@ import java.io.IOException;
|
||||
import java.net.URI;
|
||||
import java.net.URISyntaxException;
|
||||
import java.net.URL;
|
||||
import java.util.Arrays;
|
||||
import java.util.HashSet;
|
||||
|
||||
import static org.junit.Assert.assertEquals;
|
||||
import static org.junit.Assert.assertFalse;
|
||||
@@ -123,28 +121,10 @@ public class GlobalConfigResourceTest {
|
||||
dispatcher.invoke(request, response);
|
||||
}
|
||||
|
||||
public static ScmConfiguration createConfiguration() {
|
||||
private static ScmConfiguration createConfiguration() {
|
||||
ScmConfiguration scmConfiguration = new ScmConfiguration();
|
||||
scmConfiguration.setProxyPassword("heartOfGold");
|
||||
scmConfiguration.setProxyPort(1234);
|
||||
scmConfiguration.setProxyServer("proxyserver");
|
||||
scmConfiguration.setProxyUser("trillian");
|
||||
scmConfiguration.setEnableProxy(true);
|
||||
scmConfiguration.setRealmDescription("description");
|
||||
scmConfiguration.setEnableRepositoryArchive(true);
|
||||
scmConfiguration.setDisableGroupingGrid(true);
|
||||
scmConfiguration.setDateFormat("dd");
|
||||
scmConfiguration.setAnonymousAccessEnabled(true);
|
||||
scmConfiguration.setAdminGroups(new HashSet<>(Arrays.asList("group")));
|
||||
scmConfiguration.setAdminUsers(new HashSet<>(Arrays.asList("user1")));
|
||||
scmConfiguration.setBaseUrl("baseurl");
|
||||
scmConfiguration.setForceBaseUrl(true);
|
||||
scmConfiguration.setLoginAttemptLimit(1);
|
||||
scmConfiguration.setProxyExcludes(new HashSet<>(Arrays.asList("arthur", "dent")));
|
||||
scmConfiguration.setSkipFailedAuthenticators(true);
|
||||
scmConfiguration.setPluginUrl("pluginurl");
|
||||
scmConfiguration.setLoginAttemptLimitTimeout(2);
|
||||
scmConfiguration.setEnabledXsrfProtection(true);
|
||||
|
||||
return scmConfiguration;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -8,21 +8,27 @@ import org.junit.After;
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
import org.mockito.InjectMocks;
|
||||
import org.mockito.internal.util.collections.Sets;
|
||||
import sonia.scm.config.ScmConfiguration;
|
||||
import sonia.scm.security.Role;
|
||||
|
||||
import java.net.URI;
|
||||
import java.util.Arrays;
|
||||
|
||||
import static org.junit.Assert.assertEquals;
|
||||
import static org.junit.Assert.assertFalse;
|
||||
import static org.junit.Assert.assertTrue;
|
||||
import static org.mockito.Mockito.mock;
|
||||
import static org.mockito.Mockito.when;
|
||||
import static org.mockito.MockitoAnnotations.initMocks;
|
||||
import static sonia.scm.api.v2.resources.GlobalConfigResourceTest.createConfiguration;
|
||||
|
||||
public class ScmConfigurationToGlobalConfigDtoMapperTest {
|
||||
|
||||
private URI baseUri = URI.create("http://example.com/base/");
|
||||
|
||||
private String[] expectedUsers = { "trillian", "arthur" };
|
||||
private String[] expectedGroups = { "admin", "plebs" };
|
||||
private String[] expectedExcludes = { "ex", "clude" };
|
||||
|
||||
@SuppressWarnings("unused") // Is injected
|
||||
private ResourceLinks resourceLinks = ResourceLinksMock.createMock(baseUri);
|
||||
|
||||
@@ -51,10 +57,31 @@ public class ScmConfigurationToGlobalConfigDtoMapperTest {
|
||||
public void shouldMapFields() {
|
||||
ScmConfiguration config = createConfiguration();
|
||||
|
||||
|
||||
when(subject.isPermitted("configuration:write:global")).thenReturn(true);
|
||||
GlobalConfigDto dto = mapper.map(config);
|
||||
|
||||
assertEquals("baseurl", dto.getBaseUrl());
|
||||
assertEquals("heartOfGold" , dto.getProxyPassword());
|
||||
assertEquals(1234 , dto.getProxyPort());
|
||||
assertEquals("proxyserver" , dto.getProxyServer());
|
||||
assertEquals("trillian" , dto.getProxyUser());
|
||||
assertTrue(dto.isEnableProxy());
|
||||
assertEquals("description" , dto.getRealmDescription());
|
||||
assertTrue(dto.isEnableRepositoryArchive());
|
||||
assertTrue(dto.isDisableGroupingGrid());
|
||||
assertEquals("dd" , dto.getDateFormat());
|
||||
assertTrue(dto.isAnonymousAccessEnabled());
|
||||
assertTrue("adminGroups", dto.getAdminGroups().containsAll(Arrays.asList(expectedGroups)));
|
||||
assertTrue("adminUsers", dto.getAdminUsers().containsAll(Arrays.asList(expectedUsers)));
|
||||
assertEquals("baseurl" , dto.getBaseUrl());
|
||||
assertTrue(dto.isForceBaseUrl());
|
||||
assertEquals(1 , dto.getLoginAttemptLimit());
|
||||
assertTrue("proxyExcludes", dto.getProxyExcludes().containsAll(Arrays.asList(expectedExcludes)));
|
||||
assertTrue(dto.isSkipFailedAuthenticators());
|
||||
assertEquals("pluginurl" , dto.getPluginUrl());
|
||||
assertEquals(2 , dto.getLoginAttemptLimitTimeout());
|
||||
assertTrue(dto.isEnabledXsrfProtection());
|
||||
|
||||
assertEquals(expectedBaseUri.toString(), dto.getLinks().getLinkBy("self").get().getHref());
|
||||
assertEquals(expectedBaseUri.toString(), dto.getLinks().getLinkBy("update").get().getHref());
|
||||
}
|
||||
@@ -71,4 +98,29 @@ public class ScmConfigurationToGlobalConfigDtoMapperTest {
|
||||
assertFalse(dto.getLinks().hasLink("update"));
|
||||
}
|
||||
|
||||
private ScmConfiguration createConfiguration() {
|
||||
ScmConfiguration config = new ScmConfiguration();
|
||||
config.setProxyPassword("heartOfGold");
|
||||
config.setProxyPort(1234);
|
||||
config.setProxyServer("proxyserver");
|
||||
config.setProxyUser("trillian");
|
||||
config.setEnableProxy(true);
|
||||
config.setRealmDescription("description");
|
||||
config.setEnableRepositoryArchive(true);
|
||||
config.setDisableGroupingGrid(true);
|
||||
config.setDateFormat("dd");
|
||||
config.setAnonymousAccessEnabled(true);
|
||||
config.setAdminGroups(Sets.newSet(expectedGroups));
|
||||
config.setAdminUsers(Sets.newSet(expectedUsers));
|
||||
config.setBaseUrl("baseurl");
|
||||
config.setForceBaseUrl(true);
|
||||
config.setLoginAttemptLimit(1);
|
||||
config.setProxyExcludes(Sets.newSet(expectedExcludes));
|
||||
config.setSkipFailedAuthenticators(true);
|
||||
config.setPluginUrl("pluginurl");
|
||||
config.setLoginAttemptLimitTimeout(2);
|
||||
config.setEnabledXsrfProtection(true);
|
||||
return config;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user