public void testStart() throws Exception { MockControl bundleContextControl = MockControl.createControl(BundleContext.class); BundleContext context = (BundleContext) bundleContextControl.getMock(); // platform determination // extracting bundle id from bundle bundleContextControl.expectAndReturn(context.getBundle(), new MockBundle()); // look for existing resolved bundles bundleContextControl.expectAndReturn(context.getBundles(), new Bundle[0], 2); // register namespace and entity resolving service // context.registerService((String[]) null, null, null); // bundleContextControl.setMatcher(MockControl.ALWAYS_MATCHER); // bundleContextControl.setReturnValue(null); // register context service context.registerService((String[]) null, null, null); bundleContextControl.setMatcher(MockControl.ALWAYS_MATCHER); bundleContextControl.setReturnValue(null, MockControl.ONE_OR_MORE); // create task executor EntryLookupControllingMockBundle aBundle = new EntryLookupControllingMockBundle(null); aBundle.setEntryReturnOnNextCallToGetEntry(null); bundleContextControl.expectAndReturn(context.getBundle(), aBundle, MockControl.ONE_OR_MORE); // listen for bundle events context.addBundleListener(null); bundleContextControl.setMatcher(MockControl.ALWAYS_MATCHER); bundleContextControl.setVoidCallable(2); bundleContextControl.expectAndReturn( context.registerService(new String[0], null, new Properties()), new MockServiceRegistration(), MockControl.ONE_OR_MORE); bundleContextControl.setMatcher(MockControl.ALWAYS_MATCHER); bundleContextControl.replay(); this.listener.start(context); bundleContextControl.verify(); }
public void testMultipleStartsAreIgnored() { mockTaskProcessor_.executeTaskPeriodically(0, null, false); controlTaskProcessor_.setMatcher(MockControl.ALWAYS_MATCHER); controlTaskProcessor_.setReturnValue(mockScheduledFuture_); replayAll(); objectUnderTest_.startTask(2000); objectUnderTest_.startTask(2000); verifyAll(); }
public void testStopTask() { mockTaskProcessor_.executeTaskPeriodically(0, null, false); controlTaskProcessor_.setMatcher(MockControl.ALWAYS_MATCHER); controlTaskProcessor_.setReturnValue(mockScheduledFuture_); controlScheduledFuture_.expectAndReturn(mockScheduledFuture_.cancel(true), true); replayAll(); objectUnderTest_.startTask(2000); objectUnderTest_.stopTask(); verifyAll(); }
public void testStartTaskRegistersTask() { mockTaskProcessor_.executeTaskPeriodically(1000, null, true); controlTaskProcessor_.setMatcher( new AbstractMatcher() { public boolean matches(Object[] expected, Object[] actual) { return expected[0].equals(actual[0]); } }); controlTaskProcessor_.setReturnValue(mockScheduledFuture_); replayAll(); objectUnderTest_.startTask(1000); verifyAll(); }
/** * Test that the manager executes the correct search to find the recent comments. * * @param issueIds the issue ids to limit the comment search by. * @param request the search request being used to find the comments. This is the request that is * normally used to find all the issue ids to form the scope of the comment search. The * request may also be used to add extra "update date" criteria to the comment search. * @param user the user performing the search. * @param includeDates true if and only if the passed search request should be used to create * extra "update date" criteria. * @param expectedQuery the query that we expect to be generated by the manager. * @throws Exception this is a test, just rethrow for a failure. */ private void _testGetRecentComments( final List<Long> issueIds, final SearchRequest request, final User user, final boolean includeDates, final org.apache.lucene.search.Query expectedQuery) throws Exception { // the issue searcher is never called, but we need it there. final MockControl mockIssueSearcherControl = MockClassControl.createControl(IndexSearcher.class); final IndexSearcher mockIssueSearcher = (IndexSearcher) mockIssueSearcherControl.getMock(); mockIssueSearcherControl.replay(); // this is where we check to make sure search lucene with the correct comment. final MockControl mockCommentSearcherControl = MockClassControl.createControl(IndexSearcher.class); final IndexSearcher mockCommentSearcher = (IndexSearcher) mockCommentSearcherControl.getMock(); final Sort sort = new Sort( new SortField[] { new SortField(DocumentConstants.COMMENT_UPDATED, SortField.STRING, true) }); final ArgumentsMatcher compositeArgumentsMatcher = ArgumentsMatcherBuilder.newNaturalBuilder() .addDefaultMatcher() .addDefaultMatcher() .addArgumentMatcher(Sort.class, new LuceneSortMatcher()) .asArgumentsMatcher(); mockCommentSearcher.search(expectedQuery, Integer.MAX_VALUE, sort); mockCommentSearcherControl.setMatcher(compositeArgumentsMatcher); mockCommentSearcherControl.setReturnValue(null); mockCommentSearcherControl.replay(); final MockSearchProviderFactory factory = new MockSearchProviderFactory(); factory.addRegistration(SearchProviderFactory.ISSUE_INDEX, mockIssueSearcher); factory.addRegistration(SearchProviderFactory.COMMENT_INDEX, mockCommentSearcher); // create a IssueSearchProvider that will return our constant list of ids. MockIssueSearchProvider mockIssueSearchProvider = new MockIssueSearchProvider(issueIds, user, request.getQuery()); final SearchService service = EasyMock.createMock(SearchService.class); EasyMock.expect(service.doesQueryFitFilterForm(user, request.getQuery())) .andReturn(includeDates); EasyMock.replay(service); MyLuceneQueryModifier myLuceneQueryModifier = new MyLuceneQueryModifier(); CommentService commentService = EasyMock.createMock(CommentService.class); JqlOperandResolver jqlOperandResolver = MockJqlOperandResolver.createSimpleSupport(); final DefaultRecentCommentManager defaultCommentManager = new DefaultRecentCommentManager( commentService, factory, mockIssueSearchProvider, dateSupport, jqlOperandResolver, service, myLuceneQueryModifier); defaultCommentManager.getRecentComments(request, user); mockIssueSearcherControl.verify(); mockCommentSearcherControl.verify(); }
@Override public void setMatcher(final ArgumentsMatcher matcher) { delegate.setMatcher(matcher); }