This commit is contained in:
Mohamed Karray
2018-11-29 16:01:43 +01:00
62 changed files with 1253 additions and 983 deletions

View File

@@ -0,0 +1,61 @@
package sonia.scm.api.v2;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mock;
import org.mockito.junit.MockitoJUnitRunner;
import javax.ws.rs.container.ContainerRequestContext;
import javax.ws.rs.container.ContainerResponseContext;
import javax.ws.rs.core.EntityTag;
import javax.ws.rs.core.MultivaluedMap;
import java.util.Date;
import static org.mockito.Mockito.*;
@RunWith(MockitoJUnitRunner.class)
public class CacheControlResponseFilterTest {
@Mock
private ContainerRequestContext requestContext;
@Mock
private ContainerResponseContext responseContext;
@Mock
private MultivaluedMap<String, Object> headers;
private CacheControlResponseFilter filter = new CacheControlResponseFilter();
@Before
public void setUpMocks() {
when(responseContext.getHeaders()).thenReturn(headers);
}
@Test
public void filterShouldAddCacheControlHeader() {
filter.filter(requestContext, responseContext);
verify(headers).add("Cache-Control", "no-cache");
}
@Test
public void filterShouldNotSetHeaderIfLastModifiedIsNotNull() {
when(responseContext.getLastModified()).thenReturn(new Date());
filter.filter(requestContext, responseContext);
verify(headers, never()).add("Cache-Control", "no-cache");
}
@Test
public void filterShouldNotSetHeaderIfEtagIsNotNull() {
when(responseContext.getEntityTag()).thenReturn(new EntityTag("42"));
filter.filter(requestContext, responseContext);
verify(headers, never()).add("Cache-Control", "no-cache");
}
}

View File

@@ -65,7 +65,6 @@ import sonia.scm.security.KeyGenerator;
import sonia.scm.store.ConfigurationStoreFactory;
import sonia.scm.store.JAXBConfigurationStoreFactory;
import java.io.IOException;
import java.util.Collection;
import java.util.HashSet;
import java.util.Set;
@@ -434,10 +433,10 @@ public class DefaultRepositoryManagerTest extends ManagerTestBase<Repository> {
private DefaultRepositoryManager createRepositoryManager(boolean archiveEnabled, KeyGenerator keyGenerator) {
DefaultFileSystem fileSystem = new DefaultFileSystem();
Set<RepositoryHandler> handlerSet = new HashSet<>();
InitialRepositoryLocationResolver initialRepositoryLocationResolver = new InitialRepositoryLocationResolver(contextProvider);
XmlRepositoryDAO repositoryDAO = new XmlRepositoryDAO(initialRepositoryLocationResolver, fileSystem, contextProvider);
RepositoryLocationResolver repositoryLocationResolver = new RepositoryLocationResolver(repositoryDAO, initialRepositoryLocationResolver);
ConfigurationStoreFactory factory = new JAXBConfigurationStoreFactory(contextProvider, repositoryLocationResolver);
ConfigurationStoreFactory factory = new JAXBConfigurationStoreFactory(contextProvider);
InitialRepositoryLocationResolver initialRepositoryLocationResolver = new InitialRepositoryLocationResolver();
XmlRepositoryDAO repositoryDAO = new XmlRepositoryDAO(contextProvider, initialRepositoryLocationResolver, fileSystem);
RepositoryLocationResolver repositoryLocationResolver = new RepositoryLocationResolver(contextProvider, repositoryDAO, initialRepositoryLocationResolver);
handlerSet.add(new DummyRepositoryHandler(factory, repositoryLocationResolver));
handlerSet.add(new DummyRepositoryHandler(factory, repositoryLocationResolver) {
@Override