From 1ea8b328dbb99198c2380165bc4cbb74199c1c17 Mon Sep 17 00:00:00 2001 From: Justin Oliver Date: Mon, 14 Oct 2019 15:40:57 +0100 Subject: [PATCH] Clean processed_event table --- .../utils/persistence/DatabaseCleaner.java | 8 ++++++++ .../persistence/DatabaseCleanerTest.java | 19 +++++++++++++++++++ 2 files changed, 27 insertions(+) diff --git a/test-utils-event-store/test-utils-persistence/src/main/java/uk/gov/justice/services/test/utils/persistence/DatabaseCleaner.java b/test-utils-event-store/test-utils-persistence/src/main/java/uk/gov/justice/services/test/utils/persistence/DatabaseCleaner.java index 816b8b5fd..4efdc38a6 100644 --- a/test-utils-event-store/test-utils-persistence/src/main/java/uk/gov/justice/services/test/utils/persistence/DatabaseCleaner.java +++ b/test-utils-event-store/test-utils-persistence/src/main/java/uk/gov/justice/services/test/utils/persistence/DatabaseCleaner.java @@ -66,6 +66,14 @@ public void cleanStreamStatusTable(final String contextName) { cleanViewStoreTables(contextName, "stream_status"); } + /** + * Deletes all the data in the 'processed_event' table + * + * @param contextName the name of the context who's tables you are cleaning + */ + public void cleanProcessedEventTable(final String contextName) { + cleanViewStoreTables(contextName, "processed_event"); + } /** * Deletes all the data in the Event-Store tables diff --git a/test-utils-event-store/test-utils-persistence/src/test/java/uk/gov/justice/services/test/utils/persistence/DatabaseCleanerTest.java b/test-utils-event-store/test-utils-persistence/src/test/java/uk/gov/justice/services/test/utils/persistence/DatabaseCleanerTest.java index 2ce20d868..1c73020e9 100644 --- a/test-utils-event-store/test-utils-persistence/src/test/java/uk/gov/justice/services/test/utils/persistence/DatabaseCleanerTest.java +++ b/test-utils-event-store/test-utils-persistence/src/test/java/uk/gov/justice/services/test/utils/persistence/DatabaseCleanerTest.java @@ -127,6 +127,25 @@ public void shouldCleanTheStreamStatusTable() throws Exception { verify(preparedStatement).close(); } + @Test + public void shouldCleanTheProcessedEventTable() throws Exception { + + final String tableName = "processed_event"; + final String contextName = "my-context"; + + final Connection connection = mock(Connection.class); + final PreparedStatement preparedStatement = mock(PreparedStatement.class); + + when(testJdbcConnectionProvider.getViewStoreConnection(contextName)).thenReturn(connection); + when(connection.prepareStatement("DELETE FROM " + tableName)).thenReturn(preparedStatement); + + databaseCleaner.cleanProcessedEventTable(contextName); + + verify(preparedStatement).executeUpdate(); + verify(connection).close(); + verify(preparedStatement).close(); + } + @Test public void shouldThrowADataAccessExceptionIfCleaningAViewStoreTableFails() throws Exception {