use simplename of namespace strategy, to simplify i18n

This commit is contained in:
Sebastian Sdorra
2019-03-11 14:46:35 +01:00
parent 3660ac9fd2
commit d31ef73b88
7 changed files with 95 additions and 8 deletions

View File

@@ -34,11 +34,11 @@ class NamespaceStrategyResourceTest {
NamespaceStrategyResource resource = new NamespaceStrategyResource(namespaceStrategies, current);
NamespaceStrategiesDto dto = resource.get(uriInfo);
assertThat(dto.getCurrent()).isEqualTo(MegaNamespaceStrategy.class.getName());
assertThat(dto.getCurrent()).isEqualTo(MegaNamespaceStrategy.class.getSimpleName());
assertThat(dto.getAvailable()).contains(
AwesomeNamespaceStrategy.class.getName(),
SuperNamespaceStrategy.class.getName(),
MegaNamespaceStrategy.class.getName()
AwesomeNamespaceStrategy.class.getSimpleName(),
SuperNamespaceStrategy.class.getSimpleName(),
MegaNamespaceStrategy.class.getSimpleName()
);
assertThat(dto.getLinks().getLinkBy("self").get().getHref()).isEqualTo("/namespace-strategies");
}

View File

@@ -0,0 +1,69 @@
package sonia.scm.repository;
import org.junit.jupiter.api.Test;
import sonia.scm.config.ScmConfiguration;
import java.util.Arrays;
import java.util.Collections;
import java.util.LinkedHashSet;
import java.util.Set;
import static org.assertj.core.api.Assertions.assertThat;
class NamespaceStrategyProviderTest {
@Test
void shouldReturnConfiguredStrategy() {
Set<NamespaceStrategy> strategies = allStrategiesAsSet();
ScmConfiguration configuration = new ScmConfiguration();
configuration.setDefaultNamespaceStrategy("Arthur");
NamespaceStrategyProvider provider = new NamespaceStrategyProvider(strategies, configuration);
NamespaceStrategy strategy = provider.get();
assertThat(strategy).isInstanceOf(Arthur.class);
}
@Test
void shouldReturnUsernameStrategyForUnknown() {
Set<NamespaceStrategy> strategies = Collections.emptySet();
ScmConfiguration configuration = new ScmConfiguration();
configuration.setDefaultNamespaceStrategy("Arthur");
NamespaceStrategyProvider provider = new NamespaceStrategyProvider(strategies, configuration);
NamespaceStrategy strategy = provider.get();
assertThat(strategy).isInstanceOf(UsernameNamespaceStrategy.class);
}
private LinkedHashSet<NamespaceStrategy> allStrategiesAsSet() {
return new LinkedHashSet<>(Arrays.asList(new Trillian(), new Zaphod(), new Arthur()));
}
private static class Trillian implements NamespaceStrategy{
@Override
public String createNamespace(Repository repository) {
return "trillian";
}
}
private static class Zaphod implements NamespaceStrategy {
@Override
public String createNamespace(Repository repository) {
return "zaphod";
}
}
private static class Arthur implements NamespaceStrategy {
@Override
public String createNamespace(Repository repository) {
return "arthur";
}
}
}