PostgresQueueTest#testList: Tolerate up to 1s skew in queued time stamp
On OSX the test is failing with:
Not true that <2019-02-27 14:09:57.617928> is at most <2019-02-27 14:09:57.6>
Add a tolerance of up to 1 second.
Change-Id: I2b126032d98d532e71c76ac75a1958e84988fe8b
diff --git a/src/test/java/com/ericsson/gerrit/plugins/gcconductor/postgresqueue/PostgresQueueTest.java b/src/test/java/com/ericsson/gerrit/plugins/gcconductor/postgresqueue/PostgresQueueTest.java
index 2b60076..ffa452b 100644
--- a/src/test/java/com/ericsson/gerrit/plugins/gcconductor/postgresqueue/PostgresQueueTest.java
+++ b/src/test/java/com/ericsson/gerrit/plugins/gcconductor/postgresqueue/PostgresQueueTest.java
@@ -184,18 +184,21 @@
assertThat(queue.list().get(0).getPath()).isEqualTo(repoPath);
assertThat(queue.list().get(0).getExecutor()).isEqualTo(executor);
assertThat(queue.list().get(0).getQueuedAt()).isAtLeast(before);
- assertThat(queue.list().get(0).getQueuedAt())
- .isAtMost(new Timestamp(System.currentTimeMillis()));
+ assertTimestampDiff(queue.list().get(0).getQueuedAt());
assertThat(queue.list().get(0).getQueuedFrom()).isEqualTo(hostname);
assertThat(queue.list().get(1).getPath()).isEqualTo(repoPath2);
assertThat(queue.list().get(1).getExecutor()).isNull();
assertThat(queue.list().get(1).getQueuedAt()).isAtLeast(queue.list().get(0).getQueuedAt());
- assertThat(queue.list().get(1).getQueuedAt())
- .isAtMost(new Timestamp(System.currentTimeMillis()));
+ assertTimestampDiff(queue.list().get(1).getQueuedAt());
assertThat(queue.list().get(1).getQueuedFrom()).isEqualTo(hostname);
}
+ private void assertTimestampDiff(Timestamp actual) {
+ long timestampDiff = Math.abs(actual.getTime() - System.currentTimeMillis());
+ assertThat(timestampDiff).isAtMost(TimeUnit.SECONDS.toMillis(1));
+ }
+
@Test(expected = GcQueueException.class)
public void testListThatFailsWhenGettingConnection() throws Exception {
queue = new PostgresQueue(createDataSourceThatFailsWhenGettingConnection());