mirror of
https://github.com/scm-manager/scm-manager.git
synced 2026-07-03 01:38:38 +02:00
Adds a new extension point repository.overview.listOptions that can be used to set the page size, whether to list archived repositories or not and potentially other options for the repository overview. If no extension is bound, the default values will be used.
Committed-by: Eduard Heimbuch <eduard.heimbuch@cloudogu.com>
This commit is contained in:
committed by
SCM-Manager
parent
34bfe49d3e
commit
6ba792e5bc
@@ -90,6 +90,7 @@ import java.time.Instant;
|
||||
import java.util.Set;
|
||||
import java.util.function.Predicate;
|
||||
|
||||
import static java.util.Collections.emptyList;
|
||||
import static java.util.Collections.singletonList;
|
||||
import static java.util.stream.Stream.of;
|
||||
import static javax.servlet.http.HttpServletResponse.SC_ACCEPTED;
|
||||
@@ -223,7 +224,6 @@ public class RepositoryRootResourceTest extends RepositoryTestBase {
|
||||
@Test
|
||||
public void shouldFindExistingRepository() throws URISyntaxException, UnsupportedEncodingException {
|
||||
createRepository("space", "repo");
|
||||
when(configuration.getNamespaceStrategy()).thenReturn("CustomNamespaceStrategy");
|
||||
|
||||
MockHttpRequest request = MockHttpRequest.get("/" + RepositoryRootResource.REPOSITORIES_PATH_V2 + "space/repo");
|
||||
|
||||
@@ -237,7 +237,6 @@ public class RepositoryRootResourceTest extends RepositoryTestBase {
|
||||
public void shouldGetAll() throws URISyntaxException, UnsupportedEncodingException {
|
||||
PageResult<Repository> singletonPageResult = createSingletonPageResult(createRepository("space", "repo"));
|
||||
when(repositoryManager.getPage(any(), any(), eq(0), eq(10))).thenReturn(singletonPageResult);
|
||||
when(configuration.getNamespaceStrategy()).thenReturn("CustomNamespaceStrategy");
|
||||
|
||||
MockHttpRequest request = MockHttpRequest.get("/" + RepositoryRootResource.REPOSITORIES_PATH_V2);
|
||||
|
||||
@@ -247,11 +246,40 @@ public class RepositoryRootResourceTest extends RepositoryTestBase {
|
||||
assertTrue(response.getContentAsString().contains("\"name\":\"repo\""));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void shouldGetAllButArchived() throws URISyntaxException {
|
||||
PageResult<Repository> singletonPageResult = new PageResult<>(emptyList(), 0);
|
||||
when(repositoryManager.getPage(filterCaptor.capture(), any(), eq(0), eq(10))).thenReturn(singletonPageResult);
|
||||
MockHttpRequest request = MockHttpRequest.get("/" + RepositoryRootResource.REPOSITORIES_PATH_V2 + "?showArchived=false");
|
||||
|
||||
dispatcher.invoke(request, response);
|
||||
|
||||
Predicate<Repository> predicate = filterCaptor.getValue();
|
||||
Repository repository = createRepository("hitchhiker", "hog");
|
||||
assertThat(predicate.test(repository)).isTrue();
|
||||
repository.setArchived(true);
|
||||
assertThat(predicate.test(repository)).isFalse();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void shouldGetAllIncludingArchivedByDefault() throws URISyntaxException {
|
||||
PageResult<Repository> singletonPageResult = new PageResult<>(emptyList(), 0);
|
||||
when(repositoryManager.getPage(filterCaptor.capture(), any(), eq(0), eq(10))).thenReturn(singletonPageResult);
|
||||
MockHttpRequest request = MockHttpRequest.get("/" + RepositoryRootResource.REPOSITORIES_PATH_V2);
|
||||
|
||||
dispatcher.invoke(request, response);
|
||||
|
||||
Predicate<Repository> predicate = filterCaptor.getValue();
|
||||
Repository repository = createRepository("hitchhiker", "hog");
|
||||
assertThat(predicate.test(repository)).isTrue();
|
||||
repository.setArchived(true);
|
||||
assertThat(predicate.test(repository)).isTrue();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void shouldCreateFilterForSearch() throws URISyntaxException {
|
||||
PageResult<Repository> singletonPageResult = createSingletonPageResult(createRepository("space", "repo"));
|
||||
when(repositoryManager.getPage(filterCaptor.capture(), any(), eq(0), eq(10))).thenReturn(singletonPageResult);
|
||||
when(configuration.getNamespaceStrategy()).thenReturn("CustomNamespaceStrategy");
|
||||
|
||||
MockHttpRequest request = MockHttpRequest.get("/" + RepositoryRootResource.REPOSITORIES_PATH_V2 + "?q=Rep");
|
||||
|
||||
@@ -267,7 +295,6 @@ public class RepositoryRootResourceTest extends RepositoryTestBase {
|
||||
public void shouldCreateFilterForNamespace() throws URISyntaxException {
|
||||
PageResult<Repository> singletonPageResult = createSingletonPageResult(createRepository("space", "repo"));
|
||||
when(repositoryManager.getPage(filterCaptor.capture(), any(), eq(0), eq(10))).thenReturn(singletonPageResult);
|
||||
when(configuration.getNamespaceStrategy()).thenReturn("CustomNamespaceStrategy");
|
||||
|
||||
MockHttpRequest request = MockHttpRequest.get("/" + RepositoryRootResource.REPOSITORIES_PATH_V2 + "space");
|
||||
|
||||
@@ -283,7 +310,6 @@ public class RepositoryRootResourceTest extends RepositoryTestBase {
|
||||
public void shouldCreateFilterForNamespaceWithQuery() throws URISyntaxException {
|
||||
PageResult<Repository> singletonPageResult = createSingletonPageResult(createRepository("space", "repo"));
|
||||
when(repositoryManager.getPage(filterCaptor.capture(), any(), eq(0), eq(10))).thenReturn(singletonPageResult);
|
||||
when(configuration.getNamespaceStrategy()).thenReturn("CustomNamespaceStrategy");
|
||||
|
||||
MockHttpRequest request = MockHttpRequest.get("/" + RepositoryRootResource.REPOSITORIES_PATH_V2 + "space?q=Rep");
|
||||
|
||||
|
||||
Reference in New Issue
Block a user