mirror of
https://github.com/scm-manager/scm-manager.git
synced 2025-11-13 08:55:44 +01:00
use simplename of namespace strategy, to simplify i18n
This commit is contained in:
@@ -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");
|
||||
}
|
||||
|
||||
@@ -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";
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user