public void testGenericTransactionManagerLookup() throws Exception { GenericTransactionManagerLookup lookup = new GenericTransactionManagerLookup(); TestingUtil.inject(lookup, globalConfiguration); doTest(lookup); }
private CacheNotifierImpl newNotifier() { CacheNotifierImpl notifier = new CacheNotifierImpl(); AdvancedCache mockCache = mock(AdvancedCache.class, RETURNS_DEEP_STUBS); ComponentRegistry registry = mock(ComponentRegistry.class); Configuration config = mock(Configuration.class, RETURNS_DEEP_STUBS); when(config.clustering().cacheMode()).thenReturn(CacheMode.LOCAL); when(config.memory().storageType()).thenReturn(StorageType.OBJECT); TestingUtil.inject(notifier, mockCache, new ClusteringDependentLogic.LocalLogic(), config, new InternalEntryFactoryImpl(), mock(ClusterEventManager.class), mock(BasicComponentRegistry.class)); return notifier; }
protected DataContainer<String, String> createContainer() { DefaultDataContainer<String, String> dc = new DefaultDataContainer<>(16); InternalEntryFactoryImpl internalEntryFactory = new InternalEntryFactoryImpl(); timeService = new ControlledTimeService(); TestingUtil.inject(internalEntryFactory, timeService); ActivationManager activationManager = mock(ActivationManager.class); doNothing().when(activationManager).onUpdate(Mockito.any(), Mockito.anyBoolean()); InternalExpirationManager expirationManager = mock(InternalExpirationManager.class); Mockito.when(expirationManager.entryExpiredInMemory(Mockito.any(), Mockito.anyLong(), Mockito.anyBoolean())).thenReturn(CompletableFutures.completedTrue()); Mockito.when(expirationManager.entryExpiredInMemoryFromIteration(Mockito.any(), Mockito.anyLong())).thenReturn(CompletableFutures.completedTrue()); TestingUtil.inject(dc, internalEntryFactory, activationManager, timeService, expirationManager); return dc; }
@BeforeMethod(alwaysRun = true) public void setup() { nextInterceptor = new ControlledNextInterceptor(); timeService = new ControlledTimeService(System.currentTimeMillis()); ctx = new SingleKeyNonTxInvocationContext(null); interceptor = new CacheMgmtInterceptor(); interceptor.setNextInterceptor(nextInterceptor); TestingUtil.inject(interceptor, timeService); interceptor.start(); interceptor.setStatisticsEnabled(true); }
public void testSequence() { TriangleOrderManager triangleOrderManager = new TriangleOrderManager(4); DistributionManager mockDistributionManager = mock(DistributionManager.class); when(mockDistributionManager.getCacheTopology()).thenReturn(mockCacheTopology(0)); TestingUtil.inject(triangleOrderManager, mockDistributionManager); assertEquals(1, triangleOrderManager.next(0, 0)); assertEquals(1, triangleOrderManager.next(1, 0)); assertEquals(2, triangleOrderManager.next(1, 0)); }
@BeforeMethod(alwaysRun = true) public void setUp() throws Exception { marshaller = new TestObjectStreamMarshaller(); timeService = getTimeService(); factory = new InternalEntryFactoryImpl(); TestingUtil.inject(factory, timeService); try { //noinspection unchecked cl = createStore(); cl.start(); } catch (Exception e) { log.error("Error creating store", e); throw e; } }
public void testSingleCounterPerKey() throws ExecutionException, InterruptedException { DefaultLockManager lockManager = new DefaultLockManager(); PerKeyLockContainer lockContainer = new PerKeyLockContainer(); lockContainer.inject(commonPool(), AbstractCacheTest.TIME_SERVICE); TestingUtil.inject(lockManager, lockContainer, mockExecutor); doSingleCounterTest(lockManager); }
public void testSessionExpiration() throws Exception { Interpreter interpreter = new Interpreter(); TestingUtil.inject(interpreter, cacheManager, TIME_SERVICE); interpreter.setSessionTimeout(500); interpreter.setSessionReaperWakeupInterval(1000); interpreter.start(); try { String sessionId = interpreter.createSessionId(null); Thread.sleep(1500); Map<String, String> response = interpreter.execute(sessionId, ""); assert response.containsKey("ERROR"); } finally { interpreter.stop(); } }
public void testMultipleCounterPerKey() throws ExecutionException, InterruptedException { DefaultLockManager lockManager = new DefaultLockManager(); PerKeyLockContainer lockContainer = new PerKeyLockContainer(); lockContainer.inject(commonPool(), AbstractCacheTest.TIME_SERVICE); TestingUtil.inject(lockManager, lockContainer, mockExecutor); doMultipleCounterTest(lockManager); }
public void testTimeoutPerKey() throws ExecutionException, InterruptedException { DefaultLockManager lockManager = new DefaultLockManager(); PerKeyLockContainer lockContainer = new PerKeyLockContainer(); lockContainer.inject(commonPool(), AbstractCacheTest.TIME_SERVICE); TestingUtil.inject(lockManager, lockContainer, mockExecutor); doTestWithFailAcquisition(lockManager); }
public void testUnblockOldTopology() { TriangleOrderManager triangleOrderManager = new TriangleOrderManager(4); DistributionManager mockDistributionManager = mock(DistributionManager.class); when(mockDistributionManager.getCacheTopology()).thenReturn(mockCacheTopology(1)); TestingUtil.inject(triangleOrderManager, mockDistributionManager); //same topology, but incorrect sequence number assertFalse(triangleOrderManager.isNext(0, 2, 1)); //lower topology. should unlock everything when(mockDistributionManager.getCacheTopology()).thenReturn(mockCacheTopology(2)); assertTrue(triangleOrderManager.isNext(0, 2, 1)); //higher topology than current one, everything is blocked assertFalse(triangleOrderManager.isNext(0, 1, 3)); //unlocks everything (correct sequence number) when(mockDistributionManager.getCacheTopology()).thenReturn(mockCacheTopology(3)); assertTrue(triangleOrderManager.isNext(0, 1, 3)); }
public void testSingleCounterStripped() throws ExecutionException, InterruptedException { DefaultLockManager lockManager = new DefaultLockManager(); StripedLockContainer lockContainer = new StripedLockContainer(16); lockContainer.inject(commonPool(), AbstractCacheTest.TIME_SERVICE); TestingUtil.inject(lockManager, lockContainer, mockExecutor); doSingleCounterTest(lockManager); }
public void testTimeoutStripped() throws ExecutionException, InterruptedException { DefaultLockManager lockManager = new DefaultLockManager(); StripedLockContainer lockContainer = new StripedLockContainer(16); lockContainer.inject(commonPool(), AbstractCacheTest.TIME_SERVICE); TestingUtil.inject(lockManager, lockContainer, mockExecutor); doTestWithFailAcquisition(lockManager); }
public void testMultipleCounterStripped() throws ExecutionException, InterruptedException { DefaultLockManager lockManager = new DefaultLockManager(); StripedLockContainer lockContainer = new StripedLockContainer(16); lockContainer.inject(commonPool(), AbstractCacheTest.TIME_SERVICE); TestingUtil.inject(lockManager, lockContainer, mockExecutor); doMultipleCounterTest(lockManager); }
public void testInvalidTopologyId() { TriangleOrderManager triangleOrderManager = new TriangleOrderManager(4); DistributionManager mockDistributionManager = mock(DistributionManager.class); when(mockDistributionManager.getCacheTopology()).thenReturn(mockCacheTopology(1)); TestingUtil.inject(triangleOrderManager, mockDistributionManager); try { triangleOrderManager.next(0, 0); fail("Exception expected!"); } catch (OutdatedTopologyException e) { Exceptions.assertException(OutdatedTopologyException.class, e); } try { triangleOrderManager.next(1, 2); fail("Exception expected!"); } catch (OutdatedTopologyException e) { Exceptions.assertException(OutdatedTopologyException.class, e); } }
public void testOnePhaseCommitConfigured() throws XAException { Configuration configuration = new ConfigurationBuilder().clustering().cacheMode(CacheMode.INVALIDATION_ASYNC).build(); TestingUtil.inject(txCoordinator, configuration); txCoordinator.start(); assert XAResource.XA_OK == xaAdapter.prepare(xid); }
public void test1PcAndNonExistentXid() { Configuration configuration = new ConfigurationBuilder().clustering().cacheMode(CacheMode.INVALIDATION_ASYNC).build(); TestingUtil.inject(txCoordinator, configuration); try { EmbeddedXid doesNotExists = new EmbeddedXid(uuid); xaAdapter.commit(doesNotExists, false); assert false; } catch (XAException e) { assertEquals(XAException.XAER_NOTA, e.errorCode); } }
public void test1PcAndNonExistentXid2() { Configuration configuration = new ConfigurationBuilder().clustering().cacheMode(CacheMode.DIST_SYNC).build(); TestingUtil.inject(txCoordinator, configuration); try { EmbeddedXid doesNotExists = new EmbeddedXid(uuid); xaAdapter.commit(doesNotExists, true); assert false; } catch (XAException e) { assertEquals(XAException.XAER_NOTA, e.errorCode); } } }
public void testSequenceWithTopologyChange() { int topologyId = 1; TriangleOrderManager triangleOrderManager = new TriangleOrderManager(5); DistributionManager mockDistributionManager = mock(DistributionManager.class); when(mockDistributionManager.getCacheTopology()).thenReturn(mockCacheTopology(topologyId)); TestingUtil.inject(triangleOrderManager, mockDistributionManager); assertEquals(1, triangleOrderManager.next(1, topologyId)); assertEquals(2, triangleOrderManager.next(1, topologyId)); when(mockDistributionManager.getCacheTopology()).thenReturn(mockCacheTopology(++topologyId)); assertEquals(1, triangleOrderManager.next(1, topologyId)); assertEquals(2, triangleOrderManager.next(1, topologyId)); assertEquals(1, triangleOrderManager.next(4, topologyId)); when(mockDistributionManager.getCacheTopology()).thenReturn(mockCacheTopology(++topologyId)); assertEquals(1, triangleOrderManager.next(1, topologyId)); assertEquals(1, triangleOrderManager.next(2, topologyId)); assertEquals(1, triangleOrderManager.next(3, topologyId)); assertEquals(1, triangleOrderManager.next(4, topologyId)); }
public void testDeliverOrder() { TriangleOrderManager triangleOrderManager = new TriangleOrderManager(4); DistributionManager mockDistributionManager = mock(DistributionManager.class); when(mockDistributionManager.getCacheTopology()).then(i -> mockCacheTopology(0)); TestingUtil.inject(triangleOrderManager, mockDistributionManager); assertTrue(triangleOrderManager.isNext(1, 1, 0)); assertFalse(triangleOrderManager.isNext(1, 2, 0)); assertFalse(triangleOrderManager.isNext(1, 3, 0)); triangleOrderManager.markDelivered(1, 1, 0); assertTrue(triangleOrderManager.isNext(1, 2, 0)); assertFalse(triangleOrderManager.isNext(1, 3, 0)); triangleOrderManager.markDelivered(1, 2, 0); assertTrue(triangleOrderManager.isNext(1, 3, 0)); triangleOrderManager.markDelivered(1, 3, 0); triangleOrderManager.markDelivered(2, 1, 0); triangleOrderManager.markDelivered(3, 1, 0); triangleOrderManager.markDelivered(3, 2, 0); }