@Test public void preloadSingleService() throws Exception { preloader.tasks.add(new TestPreloadCallable( new DataPreload(PRELOAD_STRING_KEY, PRELOAD_STRING_VALUE))); PreloaderService service = new ConcurrentPreloaderService(new ImmediateExecutorService(), preloader); Collection<PreloadedData> preloads = service.preload((Gadget) null); Collection<Object> preloaded = getAll(preloads); assertEquals(ImmutableMap.of(PRELOAD_STRING_KEY, PRELOAD_STRING_VALUE), preloaded.iterator().next()); }
@Test public void multiplePreloadsFiresJustOneInCurrentThread() throws Exception { TestPreloadCallable first = new TestPreloadCallable(new DataPreload(PRELOAD_STRING_KEY, PRELOAD_STRING_VALUE)); TestPreloadCallable second = new TestPreloadCallable(new DataPreload(PRELOAD_NUMERIC_KEY, PRELOAD_MAP_VALUE)); TestPreloadCallable third = new TestPreloadCallable(new DataPreload(PRELOAD_MAP_KEY, PRELOAD_NUMERIC_VALUE)); preloader.tasks.add(first); preloader.tasks.add(second); preloader.tasks.add(third); PreloaderService service = new ConcurrentPreloaderService(Executors.newFixedThreadPool(5), preloader); service.preload((Gadget) null); TestPreloadCallable ranInSameThread = null; for (TestPreloadCallable preloadCallable: Lists.newArrayList(first, second, third)) { if (preloadCallable.executedThread == Thread.currentThread()) { if (ranInSameThread != null) { fail("More than one request ran in the current thread."); } ranInSameThread = preloadCallable; } } assertNotNull("No preloads executed in the current thread. ", ranInSameThread); }
@Test public void multiplePreloadsFiresJustOneInCurrentThread() throws Exception { TestPreloadCallable first = new TestPreloadCallable(new DataPreload(PRELOAD_STRING_KEY, PRELOAD_STRING_VALUE)); TestPreloadCallable second = new TestPreloadCallable(new DataPreload(PRELOAD_NUMERIC_KEY, PRELOAD_MAP_VALUE)); TestPreloadCallable third = new TestPreloadCallable(new DataPreload(PRELOAD_MAP_KEY, PRELOAD_NUMERIC_VALUE)); preloader.tasks.add(first); preloader.tasks.add(second); preloader.tasks.add(third); PreloaderService service = new ConcurrentPreloaderService(Executors.newFixedThreadPool(5), preloader); service.preload((Gadget) null); TestPreloadCallable ranInSameThread = null; for (TestPreloadCallable preloadCallable: Lists.newArrayList(first, second, third)) { if (preloadCallable.executedThread == Thread.currentThread()) { if (ranInSameThread != null) { fail("More than one request ran in the current thread."); } ranInSameThread = preloadCallable; } } assertNotNull("No preloads executed in the current thread. ", ranInSameThread); }
@Test public void multiplePreloadsFiresJustOneInCurrentThread() throws Exception { TestPreloadCallable first = new TestPreloadCallable(new DataPreload(PRELOAD_STRING_KEY, PRELOAD_STRING_VALUE)); TestPreloadCallable second = new TestPreloadCallable(new DataPreload(PRELOAD_NUMERIC_KEY, PRELOAD_MAP_VALUE)); TestPreloadCallable third = new TestPreloadCallable(new DataPreload(PRELOAD_MAP_KEY, PRELOAD_NUMERIC_VALUE)); preloader.tasks.add(first); preloader.tasks.add(second); preloader.tasks.add(third); PreloaderService service = new ConcurrentPreloaderService(Executors.newFixedThreadPool(5), preloader); service.preload((Gadget) null); TestPreloadCallable ranInSameThread = null; for (TestPreloadCallable preloadCallable: Lists.newArrayList(first, second, third)) { if (preloadCallable.executedThread == Thread.currentThread()) { if (ranInSameThread != null) { fail("More than one request ran in the current thread."); } ranInSameThread = preloadCallable; } } assertNotNull("No preloads executed in the current thread. ", ranInSameThread); }
@Test public void preloadMultipleServices() throws PreloadException { preloader.tasks.add(new TestPreloadCallable( new DataPreload(PRELOAD_STRING_KEY, PRELOAD_STRING_VALUE))); preloader.tasks.add(new TestPreloadCallable( new DataPreload(PRELOAD_NUMERIC_KEY, PRELOAD_NUMERIC_VALUE))); preloader.tasks.add(new TestPreloadCallable( new DataPreload(PRELOAD_MAP_KEY, PRELOAD_MAP_VALUE))); PreloaderService service = new ConcurrentPreloaderService(new TestExecutorService(), preloader); Collection<PreloadedData> preloads = service.preload((Gadget) null); Collection<Object> preloaded = getAll(preloads); assertEquals(ImmutableList.<Object>of( ImmutableMap.of(PRELOAD_STRING_KEY, PRELOAD_STRING_VALUE), ImmutableMap.of(PRELOAD_NUMERIC_KEY, PRELOAD_NUMERIC_VALUE), ImmutableMap.of(PRELOAD_MAP_KEY, PRELOAD_MAP_VALUE)), preloaded); }
@Test public void preloadMultipleServices() throws PreloadException { preloader.tasks.add(new TestPreloadCallable( new DataPreload(PRELOAD_STRING_KEY, PRELOAD_STRING_VALUE))); preloader.tasks.add(new TestPreloadCallable( new DataPreload(PRELOAD_NUMERIC_KEY, PRELOAD_NUMERIC_VALUE))); preloader.tasks.add(new TestPreloadCallable( new DataPreload(PRELOAD_MAP_KEY, PRELOAD_MAP_VALUE))); PreloaderService service = new ConcurrentPreloaderService(new ImmediateExecutorService(), preloader); Collection<PreloadedData> preloads = service.preload((Gadget) null); Collection<Object> preloaded = getAll(preloads); assertEquals(ImmutableList.<Object>of( ImmutableMap.of(PRELOAD_STRING_KEY, PRELOAD_STRING_VALUE), ImmutableMap.of(PRELOAD_NUMERIC_KEY, PRELOAD_NUMERIC_VALUE), ImmutableMap.of(PRELOAD_MAP_KEY, PRELOAD_MAP_VALUE)), preloaded); }
@Test public void preloadMultipleServices() throws PreloadException { preloader.tasks.add(new TestPreloadCallable( new DataPreload(PRELOAD_STRING_KEY, PRELOAD_STRING_VALUE))); preloader.tasks.add(new TestPreloadCallable( new DataPreload(PRELOAD_NUMERIC_KEY, PRELOAD_NUMERIC_VALUE))); preloader.tasks.add(new TestPreloadCallable( new DataPreload(PRELOAD_MAP_KEY, PRELOAD_MAP_VALUE))); PreloaderService service = new ConcurrentPreloaderService(new ImmediateExecutorService(), preloader); Collection<PreloadedData> preloads = service.preload((Gadget) null); Collection<Object> preloaded = getAll(preloads); assertEquals(ImmutableList.<Object>of( ImmutableMap.of(PRELOAD_STRING_KEY, PRELOAD_STRING_VALUE), ImmutableMap.of(PRELOAD_NUMERIC_KEY, PRELOAD_NUMERIC_VALUE), ImmutableMap.of(PRELOAD_MAP_KEY, PRELOAD_MAP_VALUE)), preloaded); }
@Test public void preloadSingleService() throws Exception { preloader.tasks.add(new TestPreloadCallable( new DataPreload(PRELOAD_STRING_KEY, PRELOAD_STRING_VALUE))); PreloaderService service = new ConcurrentPreloaderService(new ImmediateExecutorService(), preloader); Collection<PreloadedData> preloads = service.preload((Gadget) null); Collection<Object> preloaded = getAll(preloads); assertEquals(ImmutableMap.of(PRELOAD_STRING_KEY, PRELOAD_STRING_VALUE), preloaded.iterator().next()); }
@Test public void singlePreloadExecutesInCurrentThread() throws Exception { TestPreloadCallable callable = new TestPreloadCallable(new DataPreload(PRELOAD_STRING_KEY, PRELOAD_STRING_VALUE)); preloader.tasks.add(callable); PreloaderService service = new ConcurrentPreloaderService(Executors.newCachedThreadPool(), preloader); service.preload((Gadget) null); assertSame("Single request not run in current thread", Thread.currentThread(), callable.executedThread); }
@Test public void singlePreloadExecutesInCurrentThread() throws Exception { TestPreloadCallable callable = new TestPreloadCallable(new DataPreload(PRELOAD_STRING_KEY, PRELOAD_STRING_VALUE)); preloader.tasks.add(callable); PreloaderService service = new ConcurrentPreloaderService(Executors.newCachedThreadPool(), preloader); service.preload((Gadget) null); assertSame("Single request not run in current thread", Thread.currentThread(), callable.executedThread); }
@Test public void singlePreloadExecutesInCurrentThread() throws Exception { TestPreloadCallable callable = new TestPreloadCallable(new DataPreload(PRELOAD_STRING_KEY, PRELOAD_STRING_VALUE)); preloader.tasks.add(callable); PreloaderService service = new ConcurrentPreloaderService(Executors.newCachedThreadPool(), preloader); service.preload((Gadget) null); assertSame("Single request not run in current thread", Thread.currentThread(), callable.executedThread); }
@Test public void preloadSingleService() throws Exception { preloader.tasks.add(new TestPreloadCallable( new DataPreload(PRELOAD_STRING_KEY, PRELOAD_STRING_VALUE))); PreloaderService service = new ConcurrentPreloaderService(new TestExecutorService(), preloader); Collection<PreloadedData> preloads = service.preload((Gadget) null); Collection<Object> preloaded = getAll(preloads); assertEquals(ImmutableMap.of(PRELOAD_STRING_KEY, PRELOAD_STRING_VALUE), preloaded.iterator().next()); }