-
Notifications
You must be signed in to change notification settings - Fork 3
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Fix removal of event log trigger happening after database connections…
… destroyed
- Loading branch information
amckenzie
committed
Aug 28, 2020
1 parent
8ff50ff
commit de6a976
Showing
5 changed files
with
61 additions
and
14 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
24 changes: 24 additions & 0 deletions
24
.../justice/services/eventstore/management/trigger/TriggerRemovalServletContextListener.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,24 @@ | ||
package uk.gov.justice.services.eventstore.management.trigger; | ||
|
||
import uk.gov.justice.services.eventsourcing.util.sql.triggers.EventLogTriggerManipulator; | ||
|
||
import javax.inject.Inject; | ||
import javax.servlet.ServletContextEvent; | ||
import javax.servlet.ServletContextListener; | ||
import javax.servlet.annotation.WebListener; | ||
|
||
@WebListener | ||
public class TriggerRemovalServletContextListener implements ServletContextListener { | ||
|
||
@Inject | ||
private EventLogTriggerManipulator eventLogTriggerManipulator; | ||
|
||
@Override | ||
public void contextInitialized(final ServletContextEvent ignored) { | ||
} | ||
|
||
@Override | ||
public void contextDestroyed(final ServletContextEvent servletContextEvent) { | ||
eventLogTriggerManipulator.removeTriggerFromEventLogTable(); | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
33 changes: 33 additions & 0 deletions
33
...tice/services/eventstore/management/trigger/TriggerRemovalServletContextListenerTest.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,33 @@ | ||
package uk.gov.justice.services.eventstore.management.trigger; | ||
|
||
import static org.mockito.Mockito.mock; | ||
import static org.mockito.Mockito.verify; | ||
|
||
import uk.gov.justice.services.eventsourcing.util.sql.triggers.EventLogTriggerManipulator; | ||
|
||
import javax.servlet.ServletContextEvent; | ||
|
||
import org.junit.Test; | ||
import org.junit.runner.RunWith; | ||
import org.mockito.InjectMocks; | ||
import org.mockito.Mock; | ||
import org.mockito.runners.MockitoJUnitRunner; | ||
|
||
@RunWith(MockitoJUnitRunner.class) | ||
public class TriggerRemovalServletContextListenerTest { | ||
|
||
@Mock | ||
private EventLogTriggerManipulator eventLogTriggerManipulator; | ||
|
||
@InjectMocks | ||
private TriggerRemovalServletContextListener triggerRemovalServletContextListener; | ||
|
||
@Test | ||
public void shouldRemoveTriggerOnShutdown() throws Exception { | ||
|
||
final ServletContextEvent servletContextEvent = mock(ServletContextEvent.class); | ||
triggerRemovalServletContextListener.contextDestroyed(servletContextEvent); | ||
|
||
verify(eventLogTriggerManipulator).removeTriggerFromEventLogTable(); | ||
} | ||
} |