JAL-3280 Test for remote release build_properties file version check
[jalview.git] / test / jalview / bin / CacheTest.java
index 803139f..9edfd3b 100644 (file)
  */
 package jalview.bin;
 
+import static org.testng.Assert.assertNotEquals;
+import static org.testng.Assert.assertTrue;
 import static org.testng.AssertJUnit.assertEquals;
+import static org.testng.AssertJUnit.assertNotNull;
 
 import java.text.SimpleDateFormat;
 import java.util.Date;
@@ -30,8 +33,18 @@ import org.testng.annotations.AfterClass;
 import org.testng.annotations.BeforeClass;
 import org.testng.annotations.Test;
 
+import jalview.gui.JvOptionPane;
+
 public class CacheTest
 {
+
+  @BeforeClass(alwaysRun = true)
+  public void setUpJvOptionPane()
+  {
+    JvOptionPane.setInteractiveMode(false);
+    JvOptionPane.setMockResponse(JvOptionPane.CANCEL_OPTION);
+  }
+
   private Locale locale;
 
   @BeforeClass(alwaysRun = true)
@@ -60,9 +73,28 @@ public class CacheTest
     assertEquals(formattedDate, formattedDate2);
 
     // currently using Locale.UK to format dates:
-    assertEquals(
-            formattedDate2,
-            SimpleDateFormat.getDateTimeInstance(SimpleDateFormat.MEDIUM,
-                    SimpleDateFormat.MEDIUM, Locale.UK).format(now));
+    assertEquals(formattedDate2,
+            SimpleDateFormat
+                    .getDateTimeInstance(SimpleDateFormat.MEDIUM,
+                            SimpleDateFormat.MEDIUM, Locale.UK)
+                    .format(now));
+  }
+
+  @Test(groups = "Functional")
+  public void testVersionChecker()
+  {
+    Cache.loadProperties("test/jalview/bin/testProps.jvprops");
+    try
+    {
+      // 10s sleep to allow VersionChecker thread to run
+      Thread.sleep(10000);
+    } catch (Exception e)
+    {
+      e.printStackTrace();
+    }
+    String latestVersion = Cache.getProperty("LATEST_VERSION");
+    assertNotNull(latestVersion);
+    assertNotEquals(latestVersion, "test");
+    assertTrue(latestVersion.startsWith("2."));
   }
 }