@Test public void testExceptionResultsInNormalError() throws Exception { // In this test, we ensure that all handlers are called even if we throw an exception in one RefreshHandler exceptionalHandler = Mockito.mock(RefreshHandler.class); Mockito.stub(exceptionalHandler.handleRefresh(Mockito.anyString(), Mockito.any(String[].class))) .toThrow(new RuntimeException("Exceptional Handler Throws Exception")); RefreshHandler otherExceptionalHandler = Mockito.mock(RefreshHandler.class); Mockito.stub(otherExceptionalHandler.handleRefresh(Mockito.anyString(), Mockito.any(String[].class))) .toThrow(new RuntimeException("More Exceptions")); RefreshRegistry.defaultRegistry().register("exceptional", exceptionalHandler); RefreshRegistry.defaultRegistry().register("exceptional", otherExceptionalHandler); DFSAdmin admin = new DFSAdmin(config); String[] args = new String[]{"-refresh", "localhost:" + cluster.getNameNodePort(), "exceptional"}; int exitCode = admin.run(args); assertEquals(-1, exitCode); // Exceptions result in a -1 Mockito.verify(exceptionalHandler).handleRefresh("exceptional", new String[]{}); Mockito.verify(otherExceptionalHandler).handleRefresh("exceptional", new String[]{}); RefreshRegistry.defaultRegistry().unregisterAll("exceptional"); } }
Mockito.stub(scktChnl.write((ByteBuffer)Mockito.anyObject())).toThrow(new IOException());
@Test public void testLogonFailsWithMultipleHosts() throws Exception { Properties p = new Properties(); SocketServerInstanceFactory instanceFactory = Mockito.mock(SocketServerInstanceFactory.class); Mockito.stub(instanceFactory.getServerInstance((HostInfo)Mockito.anyObject())).toThrow(new SingleInstanceCommunicationException()); UrlServerDiscovery discovery = new UrlServerDiscovery(new TeiidURL("mm://host1:1,host2:2")); //$NON-NLS-1$ try { new SocketServerConnection(instanceFactory, false, discovery, p); fail("exception expected"); //$NON-NLS-1$ } catch (CommunicationException e) { assertEquals("TEIID20021 No valid host available. Attempted connections to: [host1:1, host2:2]", e.getMessage()); //$NON-NLS-1$ } }
Mockito.stub(scktChnl.write((ByteBuffer[])Mockito.anyObject(), Mockito.anyInt(), Mockito.anyInt())).toThrow(new IOException());
Mockito.stub(scktChnl.write((ByteBuffer[])Mockito.anyObject(), Mockito.anyInt(), Mockito.anyInt())).toThrow(new IOException());
Mockito.stub(scktChnl.write((ByteBuffer[])Mockito.anyObject(), Mockito.anyInt(), Mockito.anyInt())).toThrow(new IOException());
@Test public void testFindRequiresSource() throws Exception { String modelName = "model"; //$NON-NLS-1$ String functionName = "fakeFunction"; //$NON-NLS-1$ ArrayList<String> bindings = new ArrayList<String>(); bindings.add(modelName); VDBMetaData vdb = Mockito.mock(VDBMetaData.class); ModelMetaData model = Mockito.mock(ModelMetaData.class); Mockito.stub(vdb.getModel(modelName)).toReturn(model); Mockito.stub(model.getSourceNames()).toReturn(bindings); BasicSourceCapabilities basicSourceCapabilities = new BasicSourceCapabilities(); basicSourceCapabilities.setFunctionSupport(functionName, true); ConnectorManagerRepository repo = Mockito.mock(ConnectorManagerRepository.class); ConnectorManager cm = Mockito.mock(ConnectorManager.class); Mockito.stub(cm.getCapabilities()).toThrow(new TranslatorException()); Mockito.stub(repo.getConnectorManager(Mockito.anyString())).toReturn(cm); CachedFinder finder = new CachedFinder(repo, vdb); // Test SourceCapabilities actual = finder.findCapabilities(modelName); assertNotNull(actual); //$NON-NLS-1$ assertFalse(finder.isValid(modelName)); }