public FSEditLog mockEditLog(StoragePurger purger) { final List<JournalManager> jms = Lists.newArrayList(); for (FakeRoot root : dirRoots.values()) { if (!root.type.isOfType(NameNodeDirType.EDITS)) continue; FileJournalManager fjm = new FileJournalManager( root.mockStorageDir(), null, null); fjm.purger = purger; jms.add(fjm); } FSEditLog mockLog = Mockito.mock(FSEditLog.class); Mockito.doAnswer(new Answer<Void>() { @Override public Void answer(InvocationOnMock invocation) throws Throwable { Object[] args = invocation.getArguments(); assert args.length == 1; long txId = (Long) args[0]; for (JournalManager jm : jms) { jm.purgeLogsOlderThan(txId); } return null; } }).when(mockLog).purgeLogsOlderThan(Mockito.anyLong()); return mockLog; }
@SuppressWarnings("unchecked") public FSEditLog mockEditLog(StoragePurger purger) throws IOException { final List<JournalManager> jms = Lists.newArrayList(); final JournalSet journalSet = new JournalSet(0); for (FakeRoot root : dirRoots.values()) { if (!root.type.isOfType(NameNodeDirType.EDITS)) continue; // passing null NNStorage for unit test because it does not use it FileJournalManager fjm = new FileJournalManager(conf, root.mockStorageDir(), null); fjm.purger = purger; jms.add(fjm); journalSet.add(fjm, false); } FSEditLog mockLog = Mockito.mock(FSEditLog.class); Mockito.doAnswer(new Answer<Void>() { @Override public Void answer(InvocationOnMock invocation) throws Throwable { Object[] args = invocation.getArguments(); assert args.length == 1; long txId = (Long) args[0]; for (JournalManager jm : jms) { jm.purgeLogsOlderThan(txId); } return null; } }).when(mockLog).purgeLogsOlderThan(Mockito.anyLong()); Mockito.doAnswer(new Answer<Void>() { @Override public Void answer(InvocationOnMock invocation) throws Throwable { Object[] args = invocation.getArguments(); journalSet.selectInputStreams((Collection<EditLogInputStream>)args[0], (Long)args[1], (Boolean)args[2]); return null; } }).when(mockLog).selectInputStreams(Mockito.anyCollection(), Mockito.anyLong(), Mockito.anyBoolean()); return mockLog; }
@SuppressWarnings("unchecked") public FSEditLog mockEditLog(StoragePurger purger) throws IOException { final List<JournalManager> jms = Lists.newArrayList(); final JournalSet journalSet = new JournalSet(0); for (FakeRoot root : dirRoots.values()) { if (!root.type.isOfType(NameNodeDirType.EDITS)) continue; // passing null NNStorage for unit test because it does not use it FileJournalManager fjm = new FileJournalManager(conf, root.mockStorageDir(), null); fjm.purger = purger; jms.add(fjm); journalSet.add(fjm, false); } FSEditLog mockLog = Mockito.mock(FSEditLog.class); Mockito.doAnswer(new Answer<Void>() { @Override public Void answer(InvocationOnMock invocation) throws Throwable { Object[] args = invocation.getArguments(); assert args.length == 1; long txId = (Long) args[0]; for (JournalManager jm : jms) { jm.purgeLogsOlderThan(txId); } return null; } }).when(mockLog).purgeLogsOlderThan(Mockito.anyLong()); Mockito.doAnswer(new Answer<Void>() { @Override public Void answer(InvocationOnMock invocation) throws Throwable { Object[] args = invocation.getArguments(); journalSet.selectInputStreams((Collection<EditLogInputStream>)args[0], (long)((Long)args[1]), (boolean)((Boolean)args[2]), (boolean)((Boolean)args[3])); return null; } }).when(mockLog).selectInputStreams(Mockito.anyCollection(), Mockito.anyLong(), Mockito.anyBoolean(), Mockito.anyBoolean()); return mockLog; }
@SuppressWarnings("unchecked") public FSEditLog mockEditLog(StoragePurger purger) throws IOException { final List<JournalManager> jms = Lists.newArrayList(); final JournalSet journalSet = new JournalSet(0); for (FakeRoot root : dirRoots.values()) { if (!root.type.isOfType(NameNodeDirType.EDITS)) continue; // passing null NNStorage for unit test because it does not use it FileJournalManager fjm = new FileJournalManager(conf, root.mockStorageDir(), null); fjm.purger = purger; jms.add(fjm); journalSet.add(fjm, false); } FSEditLog mockLog = Mockito.mock(FSEditLog.class); Mockito.doAnswer(new Answer<Void>() { @Override public Void answer(InvocationOnMock invocation) throws Throwable { Object[] args = invocation.getArguments(); assert args.length == 1; long txId = (Long) args[0]; for (JournalManager jm : jms) { jm.purgeLogsOlderThan(txId); } return null; } }).when(mockLog).purgeLogsOlderThan(Mockito.anyLong()); Mockito.doAnswer(new Answer<Void>() { @Override public Void answer(InvocationOnMock invocation) throws Throwable { Object[] args = invocation.getArguments(); journalSet.selectInputStreams((Collection<EditLogInputStream>)args[0], (long)((Long)args[1]), (boolean)((Boolean)args[2])); return null; } }).when(mockLog).selectInputStreams(Mockito.anyCollection(), Mockito.anyLong(), Mockito.anyBoolean()); return mockLog; }