do not cache resource urls in development stage, to avoid stale data

This commit is contained in:
Sebastian Sdorra
2018-10-29 14:55:56 +01:00
parent 95a7450e38
commit 1b60095373
2 changed files with 42 additions and 17 deletions

View File

@@ -42,6 +42,7 @@ import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mock;
import org.mockito.junit.MockitoJUnitRunner;
import sonia.scm.Stage;
import javax.servlet.ServletContext;
import java.io.File;
@@ -96,14 +97,12 @@ public class DefaultUberWebResourceLoaderTest extends WebResourceLoaderTestBase
* Method description
*
*
* @throws MalformedURLException
*/
@Test
public void testGetResourceFromCache() throws MalformedURLException
{
public void testGetResourceFromCache() {
DefaultUberWebResourceLoader resourceLoader =
new DefaultUberWebResourceLoader(servletContext,
new ArrayList<PluginWrapper>());
new ArrayList<PluginWrapper>(), Stage.PRODUCTION);
resourceLoader.getCache().put("/myresource", GITHUB);
@@ -112,6 +111,15 @@ public class DefaultUberWebResourceLoaderTest extends WebResourceLoaderTestBase
assertSame(GITHUB, resource);
}
@Test
public void testGetResourceCacheIsDisableInStageDevelopment() throws MalformedURLException {
DefaultUberWebResourceLoader resourceLoader = new DefaultUberWebResourceLoader(servletContext, new ArrayList<>(), Stage.DEVELOPMENT);
when(servletContext.getResource("/scm")).thenAnswer(invocation -> new URL("https://scm-manager.org"));
URL url = resourceLoader.getResource("/scm");
URL secondUrl = resourceLoader.getResource("/scm");
assertNotSame(url, secondUrl);
}
/**
* Method description
*