@Bean public EntityManager entityManager() { EntityManager mock = Mockito.mock(EntityManager.class); try { Mockito.when(mock.findById(Matchers.same(Account.class), Matchers.anyLong())) .thenReturn(_accountDao.findById(Account.ACCOUNT_ID_SYSTEM)); Mockito.when(mock.findById(Matchers.same(User.class), Matchers.anyLong())) .thenReturn(_userDao.findById(User.UID_SYSTEM)); Mockito.when(mock.findById(Matchers.same(NetworkOffering.class), Matchers.any(Long.class))) .thenAnswer( new Answer<NetworkOffering>() { @Override public NetworkOffering answer(final InvocationOnMock invocation) throws Throwable { Long id = (Long) invocation.getArguments()[1]; return _networkOfferingDao.findById(id); } }); Mockito.when(mock.findById(Matchers.same(IpAddress.class), Matchers.any(Long.class))) .thenAnswer( new Answer<IpAddress>() { @Override public IpAddress answer(final InvocationOnMock invocation) throws Throwable { Long id = (Long) invocation.getArguments()[1]; return _ipAddressDao.findById(id); } }); Mockito.when(mock.findById(Matchers.same(DataCenter.class), Matchers.any(Long.class))) .thenAnswer( new Answer<DataCenter>() { @Override public DataCenter answer(final InvocationOnMock invocation) throws Throwable { Long id = (Long) invocation.getArguments()[1]; return _zoneDao.findById(id); } }); } catch (Exception e) { e.printStackTrace(); } CallContext.init(mock); return mock; }
@Before public void setUp() throws Exception { // Mocks ServerManagementContext smCtxt = Mockito.mock(ServerManagementContext.class, Mockito.RETURNS_MOCKS); ClientHandshakeAckMessage msg = mock(ClientHandshakeAckMessage.class); final MessageChannelInternal channel = mock(MessageChannelInternal.class); ChannelManager chMgr = mock(ChannelManager.class); ChannelStats stats = mock(ChannelStats.class); final ArgumentCaptor<ChannelID> cidCollector = ArgumentCaptor.forClass(ChannelID.class); when(channel.getChannelID()) .then( new Answer<ChannelID>() { @Override public ChannelID answer(InvocationOnMock invocation) throws Throwable { return cidCollector.getValue(); } }); final ArgumentCaptor<ChannelManagerEventListener> lsnrCaptor = ArgumentCaptor.forClass(ChannelManagerEventListener.class); Mockito.doNothing().when(chMgr).addEventListener(lsnrCaptor.capture()); when(channel.getRemoteAddress()).thenReturn(new TCSocketAddress(8192)); when(channel.createMessage(TCMessageType.CLIENT_HANDSHAKE_ACK_MESSAGE)).thenReturn(msg); when(chMgr.getChannel(cidCollector.capture())).thenReturn(channel); when(msg.getChannel()).thenReturn(channel); channelMgrMbean = new DSOChannelManagerImpl(chMgr, mock(TCConnectionManager.class), "1.0"); Mockito.doAnswer( new Answer<Object>() { @Override public Object answer(InvocationOnMock invocation) throws Throwable { lsnrCaptor.getValue().channelRemoved(channel); return null; } }) .when(channel) .close(); when(smCtxt.getChannelManager()).thenReturn((DSOChannelManagerMBean) channelMgrMbean); when(stats.getCounter(Matchers.same(channel), Matchers.startsWith("serverMap"))) .thenReturn(mock(SampledCumulativeCounter.class)); when(stats.getCounter( Matchers.same(channel), Matchers.argThat( new ArgumentMatcher<String>() { @Override public boolean matches(Object argument) { // Ugly, ugly, ugly String str = (String) argument; return !str.startsWith("serverMap"); } }))) .thenReturn(SampledCounter.NULL_SAMPLED_COUNTER); when(smCtxt.getChannelStats()).thenReturn(stats); mbeanSvr = mock(MBeanServer.class); dso = new DSO( smCtxt, mock(ServerConfigurationContext.class), mbeanSvr, mock(TerracottaOperatorEventHistoryProvider.class)); }