Refactor test key assignment in cache tests

Keys used for tests were either assigned to fields in the constructor or
in test-methods. In case of `newkey`, this led to some code duplication.

Following the example in the HA-plugin, the assignment of the test keys
to variables was moved to the declaration of the fields and the field
names were changed to make the code more readable.

Change-Id: I16a7e2d3cf2a378bac422a0170f10aa7244a027f
diff --git a/src/test/java/com/googlesource/gerrit/plugins/websession/flatfile/FlatFileWebSessionCacheTest.java b/src/test/java/com/googlesource/gerrit/plugins/websession/flatfile/FlatFileWebSessionCacheTest.java
index b075bff..e20c1af 100644
--- a/src/test/java/com/googlesource/gerrit/plugins/websession/flatfile/FlatFileWebSessionCacheTest.java
+++ b/src/test/java/com/googlesource/gerrit/plugins/websession/flatfile/FlatFileWebSessionCacheTest.java
@@ -16,6 +16,7 @@
 
 import static com.google.common.truth.Truth.assertThat;
 
+import com.google.common.collect.ImmutableList;
 import com.google.common.collect.ImmutableMap;
 import com.google.gerrit.httpd.WebSessionManager.Val;
 import com.googlesource.gerrit.plugins.websession.flatfile.FlatFileWebSessionCache.TimeMachine;
@@ -32,7 +33,6 @@
 import java.time.Instant;
 import java.time.temporal.ChronoUnit;
 import java.util.ArrayList;
-import java.util.Arrays;
 import java.util.List;
 import java.util.Map;
 import java.util.concurrent.Callable;
@@ -46,28 +46,28 @@
 
   private static final int DEFAULT_KEYS_SIZE = 10;
 
+  private static final String EXISTING_KEY = "aSceprtBc02YaMY573T5jfW64ZudJfPbDq";
+  private static final String EMPTY_KEY = "aOc2prqlZRpSO3LpauGO5efCLs1L9r9KkG";
+  private static final String NEW_KEY = "abcde12345";
+
   @Rule public TemporaryFolder tempFolder = new TemporaryFolder();
 
   private FlatFileWebSessionCache flatFileWebSessionCache;
   private Path dir;
-  private String key;
-  private String existingKey;
 
   @Before
   public void createFlatFileWebSessionCache() throws Exception {
     dir = tempFolder.newFolder("websessions").toPath();
-    key = "aOc2prqlZRpSO3LpauGO5efCLs1L9r9KkG";
-    existingKey = "aSceprtBc02YaMY573T5jfW64ZudJfPbDq";
     flatFileWebSessionCache = new FlatFileWebSessionCache(dir);
   }
 
   @Test
   public void asMapTest() throws Exception {
-    Files.createFile(dir.resolve(key));
+    loadKeyToCacheDir(EMPTY_KEY);
     assertThat(flatFileWebSessionCache.asMap()).isEmpty();
 
-    loadExistingKeyToCacheDir();
-    assertThat(flatFileWebSessionCache.asMap()).containsKey(existingKey);
+    loadKeyToCacheDir(EXISTING_KEY);
+    assertThat(flatFileWebSessionCache.asMap()).containsKey(EXISTING_KEY);
   }
 
   @Test
@@ -80,9 +80,9 @@
 
   @Test
   public void cleanUpTest() throws Exception {
-    loadExistingKeyToCacheDir();
+    loadKeyToCacheDir(EXISTING_KEY);
     try {
-      long existingKeyExpireAt = flatFileWebSessionCache.getIfPresent(existingKey).getExpiresAt();
+      long existingKeyExpireAt = flatFileWebSessionCache.getIfPresent(EXISTING_KEY).getExpiresAt();
       TimeMachine.useFixedClockAt(
           Instant.ofEpochMilli(existingKeyExpireAt).minus(1, ChronoUnit.HOURS));
       flatFileWebSessionCache.cleanUp();
@@ -99,15 +99,11 @@
 
   @Test
   public void getAllPresentTest() throws Exception {
-    Files.createFile(dir.resolve(key));
-    loadExistingKeyToCacheDir();
-    List<String> keys = Arrays.asList(new String[] {key, existingKey});
-    assertThat(flatFileWebSessionCache.getAllPresent(keys)).containsKey(existingKey);
-  }
-
-  @Test
-  public void getIfPresentKeyDoesNotExistTest() throws Exception {
-    assertThat(flatFileWebSessionCache.getIfPresent(key)).isNull();
+    loadKeyToCacheDir(EMPTY_KEY);
+    loadKeyToCacheDir(EXISTING_KEY);
+    List<String> keys = ImmutableList.of(EMPTY_KEY, EXISTING_KEY);
+    assertThat(flatFileWebSessionCache.getAllPresent(keys).size()).isEqualTo(1);
+    assertThat(flatFileWebSessionCache.getAllPresent(keys)).containsKey(EXISTING_KEY);
   }
 
   @Test
@@ -117,8 +113,8 @@
 
   @Test
   public void getIfPresentTest() throws Exception {
-    loadExistingKeyToCacheDir();
-    assertThat(flatFileWebSessionCache.getIfPresent(existingKey)).isNotNull();
+    loadKeyToCacheDir(EXISTING_KEY);
+    assertThat(flatFileWebSessionCache.getIfPresent(EXISTING_KEY)).isNotNull();
   }
 
   @Test
@@ -129,10 +125,10 @@
         return null;
       }
     }
-    assertThat(flatFileWebSessionCache.get(existingKey, new ValueLoader())).isNull();
+    assertThat(flatFileWebSessionCache.get(EXISTING_KEY, new ValueLoader())).isNull();
 
-    loadExistingKeyToCacheDir();
-    assertThat(flatFileWebSessionCache.get(existingKey, new ValueLoader())).isNotNull();
+    loadKeyToCacheDir(EXISTING_KEY);
+    assertThat(flatFileWebSessionCache.get(EXISTING_KEY, new ValueLoader())).isNotNull();
   }
 
   @Test(expected = ExecutionException.class)
@@ -143,7 +139,7 @@
         throw new Exception();
       }
     }
-    assertThat(flatFileWebSessionCache.get(existingKey, new ValueLoader())).isNull();
+    assertThat(flatFileWebSessionCache.get(EXISTING_KEY, new ValueLoader())).isNull();
   }
 
   @Test
@@ -162,9 +158,9 @@
 
   @Test
   public void invalidateTest() throws Exception {
-    Path fileToDelete = Files.createFile(dir.resolve(key));
+    Path fileToDelete = Files.createFile(dir.resolve(EXISTING_KEY));
     assertThat(Files.exists(fileToDelete)).isTrue();
-    flatFileWebSessionCache.invalidate(key);
+    flatFileWebSessionCache.invalidate(EXISTING_KEY);
     assertThat(Files.exists(fileToDelete)).isFalse();
   }
 
@@ -178,21 +174,19 @@
 
   @Test
   public void putTest() throws Exception {
-    loadExistingKeyToCacheDir();
-    Val val = flatFileWebSessionCache.getIfPresent(existingKey);
-    String newKey = "abcde12345";
-    flatFileWebSessionCache.put(newKey, val);
-    assertThat(flatFileWebSessionCache.getIfPresent(newKey)).isNotNull();
+    loadKeyToCacheDir(EXISTING_KEY);
+    Val val = flatFileWebSessionCache.getIfPresent(EXISTING_KEY);
+    flatFileWebSessionCache.put(NEW_KEY, val);
+    assertThat(flatFileWebSessionCache.getIfPresent(NEW_KEY)).isNotNull();
   }
 
   @Test
   public void putAllTest() throws Exception {
-    loadExistingKeyToCacheDir();
-    Val val = flatFileWebSessionCache.getIfPresent(existingKey);
-    String newKey = "abcde12345";
-    Map<String, Val> sessions = ImmutableMap.of(newKey, val);
+    loadKeyToCacheDir(EXISTING_KEY);
+    Val val = flatFileWebSessionCache.getIfPresent(EXISTING_KEY);
+    Map<String, Val> sessions = ImmutableMap.of(NEW_KEY, val);
     flatFileWebSessionCache.putAll(sessions);
-    assertThat(flatFileWebSessionCache.asMap()).containsKey(newKey);
+    assertThat(flatFileWebSessionCache.asMap()).containsKey(NEW_KEY);
   }
 
   @Test
@@ -240,10 +234,15 @@
     }
   }
 
-  private void loadExistingKeyToCacheDir() throws IOException {
-    InputStream in = loadFile(existingKey);
-    Path target = dir.resolve(existingKey);
-    Files.copy(in, target, StandardCopyOption.REPLACE_EXISTING);
+  private Path loadKeyToCacheDir(String key) throws IOException {
+    if (key.equals(EMPTY_KEY)) {
+      return Files.createFile(dir.resolve(EMPTY_KEY));
+    }
+    try (InputStream in = loadFile(key)) {
+      Path target = dir.resolve(key);
+      Files.copy(in, target, StandardCopyOption.REPLACE_EXISTING);
+      return target;
+    }
   }
 
   private InputStream loadFile(String file) {