diff --git a/modules/repository-datastax/src/main/java/com/intuit/wasabi/repository/cassandra/impl/CassandraAssignmentsRepository.java b/modules/repository-datastax/src/main/java/com/intuit/wasabi/repository/cassandra/impl/CassandraAssignmentsRepository.java index ea1a611ab..0e9d15167 100644 --- a/modules/repository-datastax/src/main/java/com/intuit/wasabi/repository/cassandra/impl/CassandraAssignmentsRepository.java +++ b/modules/repository-datastax/src/main/java/com/intuit/wasabi/repository/cassandra/impl/CassandraAssignmentsRepository.java @@ -699,6 +699,7 @@ public void pushAssignmentsToStaging(String type, String exception, Collection messages = newArrayList("Msg1", "Msg2", "Msg3"); + + //------ Mocking interacting calls + ResultSet genericResultSet = mock(ResultSet.class); + when(driver.getSession()).thenReturn(mock(Session.class)); + when(driver.getSession().execute(any(BatchStatement.class))).thenReturn(genericResultSet); + + //----- Actual call + repository.pushAssignmentsToStaging("type", "string1", messages); + + //----- Verify result + verify(stagingAccessor, times(3)).batchInsertBy(any(UUID.class), eq("type"), eq("string1"), any(String.class)); + } + + @Test + public void testPushAssignmentsToStagingWriteException() { + //------ Input + List messages = newArrayList("Msg1", "Msg2", "Msg3"); + + //------ Mocking interacting calls + doThrow(WriteTimeoutException.class).when(stagingAccessor).batchInsertBy(any(UUID.class), eq("type"), eq("string1"), any(String.class)); + ResultSet genericResultSet = mock(ResultSet.class); + when(driver.getSession()).thenReturn(mock(Session.class)); + when(driver.getSession().execute(any(BatchStatement.class))).thenReturn(genericResultSet); + + //----- Verify expected exception + thrown.expect(RepositoryException.class); + thrown.expectMessage("Error occurred while pushAssignmentsToStaging"); + + //----- Actual call + repository.pushAssignmentsToStaging("type", "string1", messages); + } + @Test public void testPushAssignmentToStagingrWriteException() { doThrow(WriteTimeoutException.class).when(stagingAccessor)