From ea69c28b8aa40b0de84e3ec52941d08ae9ef6cef Mon Sep 17 00:00:00 2001
From: Kai Reinhard <K.Reinhard@micromata.de>
Date: Fri, 28 Dec 2018 10:42:03 +0000
Subject: [PATCH] Job queueing...

---
 borgbutler-core/src/test/java/de/micromata/borgbutler/jobs/JobQueueTest.java |   30 ++++++++++++++++++++----------
 1 files changed, 20 insertions(+), 10 deletions(-)

diff --git a/borgbutler-core/src/test/java/de/micromata/borgbutler/jobs/JobQueueTest.java b/borgbutler-core/src/test/java/de/micromata/borgbutler/jobs/JobQueueTest.java
index 230b0c9..edd5e96 100644
--- a/borgbutler-core/src/test/java/de/micromata/borgbutler/jobs/JobQueueTest.java
+++ b/borgbutler-core/src/test/java/de/micromata/borgbutler/jobs/JobQueueTest.java
@@ -11,6 +11,7 @@
 import java.nio.charset.Charset;
 import java.nio.file.Files;
 import java.nio.file.attribute.PosixFilePermissions;
+import java.util.List;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
 
@@ -23,7 +24,7 @@
             "    echo Error on counter $COUNTER >&2\n" +
             "    exit 2\n" +
             "  fi\n" +
-            "  sleep 0.01\n" +
+            "  sleep 0.05\n" +
             "  echo The counter is $COUNTER >&2\n" +
             "  let COUNTER=COUNTER+1 \n" +
             "done\n" +
@@ -40,7 +41,7 @@
     }
 
     @Test
-    void test() {
+    void queueTest() {
         JobQueue queue = new JobQueue();
         assertEquals(0, queue.getQueueSize());
         queue.append(new TestJob(10, file));
@@ -49,20 +50,20 @@
         assertEquals(2, queue.getQueueSize());
         queue.append(new TestJob(10, file));
         assertEquals(2, queue.getQueueSize());
-        TestJob job1 = (TestJob)queue.getQueuedJob(10);
+        TestJob job = (TestJob) queue.getQueuedJob(10);
         int counter = 100;
-        while (job1.getStatus() != AbstractJob.Status.RUNNING && counter-- > 0) {
+        while (job.getStatus() != AbstractJob.Status.RUNNING && counter-- > 0) {
             try {
                 Thread.sleep(10);
             } catch (InterruptedException ex) {
                 log.error(ex.getMessage(), ex);
             }
         }
-        assertEquals(AbstractJob.Status.RUNNING, job1.getStatus());
-        TestJob job2 = (TestJob)queue.getQueuedJob(5);
-        assertEquals(AbstractJob.Status.QUEUED, job2.getStatus());
+        assertEquals(AbstractJob.Status.RUNNING, job.getStatus());
+        job = (TestJob) queue.getQueuedJob(5);
+        assertEquals(AbstractJob.Status.QUEUED, job.getStatus());
         counter = 100;
-        while (job2.getStatus() != AbstractJob.Status.RUNNING && counter-- > 0) {
+        while (job.getStatus() != AbstractJob.Status.RUNNING && counter-- > 0) {
             try {
                 Thread.sleep(10);
             } catch (InterruptedException ex) {
@@ -70,9 +71,18 @@
             }
         }
         queue.append(new TestJob(10, file));
-        TestJob job3 = (TestJob)queue.getQueuedJob(10);
-        assertEquals(AbstractJob.Status.QUEUED, job3.getStatus());
+        job = (TestJob) queue.getQueuedJob(10);
+        assertEquals(AbstractJob.Status.QUEUED, job.getStatus());
         queue.waitForQueue(10);
         assertEquals(0, queue.getQueueSize());
+        List<AbstractJob> doneJobs = queue.getDoneJobs();
+        assertEquals(3, doneJobs.size());
+        check(((TestJob)doneJobs.get(0)), AbstractJob.Status.DONE, "10");
+        check(((TestJob)doneJobs.get(1)), AbstractJob.Status.FAILED, "10");
+        check(((TestJob)doneJobs.get(2)), AbstractJob.Status.DONE, "10");
+    }
+
+    private void check(TestJob job, AbstractJob.Status status, String result) {
+        assertEquals(status, job.getStatus());
     }
 }

--
Gitblit v1.10.0