@Before public void createMocks() throws BucketNotFoundException { GemFireCacheImpl cache = Fakes.cache(); context = mock(RegionFunctionContext.class); ResultSender sender = mock(ResultSender.class); Region region = mock(Region.class); InternalLuceneService service = mock(InternalLuceneService.class); InternalLuceneIndex index = mock(InternalLuceneIndex.class); RepositoryManager repoManager = mock(RepositoryManager.class); IndexRepository repo = mock(IndexRepository.class); IndexWriter writer = mock(IndexWriter.class); RegionDirectory directory = mock(RegionDirectory.class); fileSystem = mock(FileSystem.class); Region bucket = mock(Region.class); when(bucket.getFullPath()).thenReturn(bucketName); when(context.getArguments()).thenReturn(new String[] {directoryName, indexName}); when(context.getResultSender()).thenReturn(sender); when(context.getDataSet()).thenReturn(region); when(region.getCache()).thenReturn(cache); when(cache.getService(any())).thenReturn(service); when(repoManager.getRepositories(eq(context))).thenReturn(Collections.singleton(repo)); when(index.getRepositoryManager()).thenReturn(repoManager); when(index.getName()).thenReturn(indexName); when(service.getIndex(eq(indexName), any())).thenReturn(index); when(directory.getFileSystem()).thenReturn(fileSystem); when(writer.getDirectory()).thenReturn(directory); when(repo.getWriter()).thenReturn(writer); when(repo.getRegion()).thenReturn(bucket); }
final Collection<IndexRepository> repositories = repoManager.getRepositories(ctx); repositories.stream().forEach(repo -> { final IndexWriter writer = repo.getWriter(); RegionDirectory directory = (RegionDirectory) writer.getDirectory(); FileSystem fs = directory.getFileSystem();