/** When BACKUP_PACKET is received, updates are written to store */ @Test public void whenBACKUP_PACKETThenWriteUpdates() throws Exception { final ByteBuffer buffer1 = randomBuffer(50); final ByteBuffer buffer2 = randomBuffer(50); final ByteBuffer buffer3 = randomBuffer(50); final BACKUP_PACKET bp = Message.BACKUP_PACKET( 7, Arrays.asList( Message.BACKUP(id(1), 4, buffer1), Message.BACKUP(id(2), 5, buffer2), Message.BACKUP(id(3), 6, buffer3))); bp.setNode(sh(10)); mm.receive(bp); InOrder inOrder = inOrder(store, comm); inOrder.verify(store).beginTransaction(); inOrder .verify(store) .write(eq(id(1)), eq(sh(10)), eq(4L), eq(Persistables.toByteArray(buffer1)), anyObject()); inOrder .verify(store) .write(eq(id(2)), eq(sh(10)), eq(5L), eq(Persistables.toByteArray(buffer2)), anyObject()); inOrder .verify(store) .write(eq(id(3)), eq(sh(10)), eq(6L), eq(Persistables.toByteArray(buffer3)), anyObject()); inOrder.verify(store).commit(anyObject()); inOrder.verify(comm).send(argThat(equalTo(Message.BACKUP_PACKETACK(bp)))); verify(monitor).addTransaction(3); verifyNoMoreInteractions(monitor); }