From c30c0279a1cfdd5d48376f6a96439e163e1125e4 Mon Sep 17 00:00:00 2001 From: Robert von Burg Date: Wed, 27 May 2020 10:58:21 +0200 Subject: [PATCH] [Fix] Fixed broken tests for OperationsLog --- .../strolch/handler/operationslog/OperationsLog.java | 4 ++-- .../postgresql/PostgreSqlLogMessageDao.java | 12 ++++++------ .../testbase/runtime/LogMessagesTestRunner.java | 6 ++++++ 3 files changed, 14 insertions(+), 8 deletions(-) diff --git a/li.strolch.agent/src/main/java/li/strolch/handler/operationslog/OperationsLog.java b/li.strolch.agent/src/main/java/li/strolch/handler/operationslog/OperationsLog.java index 8355aced1..d821c122f 100644 --- a/li.strolch.agent/src/main/java/li/strolch/handler/operationslog/OperationsLog.java +++ b/li.strolch.agent/src/main/java/li/strolch/handler/operationslog/OperationsLog.java @@ -145,7 +145,7 @@ public class OperationsLog extends StrolchComponent { StrolchRealm realm = getContainer().getRealm(realmName); if (!realm.getMode().isTransient()) { - persist(realm, logMessages); + this.executorService.submit(() -> persist(realm, logMessages)); } }); } @@ -158,7 +158,7 @@ public class OperationsLog extends StrolchComponent { StrolchRealm realm = getContainer().getRealm(realmName); if (!realm.getMode().isTransient()) { - persist(realm, logMessages); + this.executorService.submit(() -> persist(realm, logMessages)); } } } diff --git a/li.strolch.persistence.postgresql/src/main/java/li/strolch/persistence/postgresql/PostgreSqlLogMessageDao.java b/li.strolch.persistence.postgresql/src/main/java/li/strolch/persistence/postgresql/PostgreSqlLogMessageDao.java index b1dd7d17e..c9216b41d 100644 --- a/li.strolch.persistence.postgresql/src/main/java/li/strolch/persistence/postgresql/PostgreSqlLogMessageDao.java +++ b/li.strolch.persistence.postgresql/src/main/java/li/strolch/persistence/postgresql/PostgreSqlLogMessageDao.java @@ -93,7 +93,7 @@ public class PostgreSqlLogMessageDao implements LogMessageDao { int count = insertStatement.executeUpdate(); if (count != 1) { throw new StrolchPersistenceException(MessageFormat - .format("Expected to insert 1 log_message record, but inserted {0} for LogMessage {2}", count, + .format("Expected to insert 1 log_message record, but inserted {0} for LogMessage {1}", count, logMessage.getId())); //$NON-NLS-1$ } @@ -124,7 +124,7 @@ public class PostgreSqlLogMessageDao implements LogMessageDao { int count = ps.executeUpdate(); if (count != 1) { throw new StrolchPersistenceException(MessageFormat - .format("Expected to update 1 log_message record, but updated {0} for LogMessage {2}", count, + .format("Expected to update 1 log_message record, but updated {0} for LogMessage {1}", count, logMessage.getId())); //$NON-NLS-1$ } @@ -148,7 +148,7 @@ public class PostgreSqlLogMessageDao implements LogMessageDao { remove(removeStatement, removeValuesStatement, logMessage); } catch (SQLException e) { - throw new StrolchPersistenceException(MessageFormat.format("Failed to remove {0} due to {2}", //$NON-NLS-1$ + throw new StrolchPersistenceException(MessageFormat.format("Failed to remove {0} due to {1}", //$NON-NLS-1$ logMessage.getId(), e.getLocalizedMessage()), e); } } @@ -179,7 +179,7 @@ public class PostgreSqlLogMessageDao implements LogMessageDao { } for (int count : countAll) { if (count != 1) { - String msg = "Expected to delete 1 LogMessages per delete statement but deleted {1} elements!"; //$NON-NLS-1$ + String msg = "Expected to delete 1 LogMessages per delete statement but deleted {0} elements!"; //$NON-NLS-1$ msg = MessageFormat.format(msg, nrOfRemoves, count); throw new StrolchPersistenceException(msg); } @@ -201,7 +201,7 @@ public class PostgreSqlLogMessageDao implements LogMessageDao { } catch (SQLException e) { throw new StrolchPersistenceException( - MessageFormat.format("Failed to remove LogMessages due to {2}", e.getLocalizedMessage()), e); + MessageFormat.format("Failed to remove LogMessages due to {0}", e.getLocalizedMessage()), e); } } @@ -229,7 +229,7 @@ public class PostgreSqlLogMessageDao implements LogMessageDao { private void validateValuesStatement(LogMessage logMessage, int nrOfInserts, int[] ints) { if (ints.length != nrOfInserts) { throw new StrolchPersistenceException(MessageFormat - .format("Expected to insert {0} value record, but inserted {1} for LogMessage {3}", nrOfInserts, + .format("Expected to insert {0} value record, but inserted {1} for LogMessage {2}", nrOfInserts, ints.length, logMessage.getId())); //$NON-NLS-1$ } diff --git a/li.strolch.testbase/src/main/java/li/strolch/testbase/runtime/LogMessagesTestRunner.java b/li.strolch.testbase/src/main/java/li/strolch/testbase/runtime/LogMessagesTestRunner.java index 13bdec1f3..10d6ace2f 100644 --- a/li.strolch.testbase/src/main/java/li/strolch/testbase/runtime/LogMessagesTestRunner.java +++ b/li.strolch.testbase/src/main/java/li/strolch/testbase/runtime/LogMessagesTestRunner.java @@ -129,9 +129,15 @@ public class LogMessagesTestRunner { this.operationsLog.updateState(this.realmName, logMessage1.getLocator(), LogMessageState.Inactive); assertEquals(LogMessageState.Inactive, logMessage1.getState()); + // default is async persisting... + Thread.sleep(50L); + this.operationsLog.updateState(this.realmName, logMessage1.getId(), LogMessageState.Active); assertEquals(LogMessageState.Active, logMessage1.getState()); + // default is async persisting... + Thread.sleep(50L); + // now try and remove a single element this.operationsLog.removeMessage(logMessage1); assertFalse(this.operationsLog.getMessagesFor(this.realmName, logMessage1.getLocator()).isPresent());