@Test( expected = KettleException.class ) public void testSendExport() throws Exception { slaveServer.setHostname( "hostNameStub" ); slaveServer.setUsername( "userNAmeStub" ); HttpPost httpPostMock = mock( HttpPost.class ); URI uriMock = new URI( "fake" ); doReturn( uriMock ).when( httpPostMock ).getURI(); doReturn( httpPostMock ).when( slaveServer ).buildSendExportMethod( anyString(), anyString(), any( InputStream.class ) ); File tempFile; tempFile = File.createTempFile( "PDI-", "tmp" ); tempFile.deleteOnExit(); slaveServer.sendExport( tempFile.getAbsolutePath(), "", "" ); fail( "Incorrect connection details had been used, but no exception was thrown" ); }
@Test( expected = KettleException.class ) public void testSendXML() throws Exception { slaveServer.setHostname( "hostNameStub" ); slaveServer.setUsername( "userNAmeStub" ); HttpPost httpPostMock = mock( HttpPost.class ); URI uriMock = new URI( "fake" ); doReturn( uriMock ).when( httpPostMock ).getURI(); doReturn( httpPostMock ).when( slaveServer ).buildSendXMLMethod( any( byte[].class ), anyString() ); slaveServer.sendXML( "", "" ); fail( "Incorrect connection details had been used, but no exception was thrown" ); }
@Test( expected = KettleException.class ) public void testExecService() throws Exception { HttpGet httpGetMock = mock( HttpGet.class ); URI uriMock = new URI( "fake" ); doReturn( uriMock ).when( httpGetMock ).getURI(); doReturn( httpGetMock ).when( slaveServer ).buildExecuteServiceMethod( anyString(), anyMapOf( String.class, String.class ) ); slaveServer.setHostname( "hostNameStub" ); slaveServer.setUsername( "userNAmeStub" ); slaveServer.execService( "wrong_app_name" ); fail( "Incorrect connection details had been used, but no exception was thrown" ); }
slaveServer.setUsername( "uname" ); slaveServer.setPassword( "passw" ); slaveServer.setHostname( "hname" ); slaveServer.setPort( "1111" ); HttpPost httpPostMock = mock( HttpPost.class );
private void getInfo() { slaveServer.setName( wName.getText() ); slaveServer.setHostname( wHostname.getText() ); slaveServer.setPort( wPort.getText() ); slaveServer.setWebAppName( wWebAppName.getText() ); slaveServer.setUsername( wUsername.getText() ); slaveServer.setPassword( wPassword.getText() ); slaveServer.setProxyHostname( wProxyHost.getText() ); slaveServer.setProxyPort( wProxyPort.getText() ); slaveServer.setNonProxyHosts( wNonProxyHosts.getText() ); slaveServer.setMaster( wMaster.getSelection() ); slaveServer.setSslMode( wSSL.getSelection() ); }
private void checkNetworkInterfaceSetting( LogChannelInterface log, Node slaveNode, SlaveServer slaveServer ) { // See if we need to grab the network interface to use and then override the host name // String networkInterfaceName = XMLHandler.getTagValue( slaveNode, "network_interface" ); if ( !Utils.isEmpty( networkInterfaceName ) ) { // OK, so let's try to get the IP address for this network interface... // try { String newHostname = Const.getIPAddress( networkInterfaceName ); if ( newHostname != null ) { slaveServer.setHostname( newHostname ); // Also change the name of the slave... // slaveServer.setName( slaveServer.getName() + "-" + newHostname ); log.logBasic( "Hostname for slave server [" + slaveServer.getName() + "] is set to [" + newHostname + "], information derived from network " + networkInterfaceName ); } } catch ( SocketException e ) { log.logError( "Unable to get the IP address for network interface " + networkInterfaceName + " for slave server [" + slaveServer.getName() + "]", e ); } } }
@Test public void testAuthCredentialsSchemeWithoutSSL() { slaveServer.setUsername( "admin" ); slaveServer.setPassword( "password" ); slaveServer.setHostname( "localhost" ); slaveServer.setPort( "8080" ); slaveServer.setSslMode( false ); AuthCache cache = slaveServer.getAuthContext().getAuthCache(); assertNull( cache.get( new HttpHost( "localhost", 8080, "https" ) ) ); assertNotNull( cache.get( new HttpHost( "localhost", 8080, "http" ) ) ); }
@Ignore @Test public void test() throws Exception { CountDownLatch latch = new CountDownLatch( 1 ); System.setProperty( Const.KETTLE_SLAVE_DETECTION_TIMER, "100" ); SlaveServer master = new SlaveServer(); master.setHostname( "127.0.0.1" ); master.setPort( "9000" ); master.setUsername( "cluster" ); master.setPassword( "cluster" ); master.setMaster( true ); SlaveServerConfig config = new SlaveServerConfig(); config.setSlaveServer( master ); Carte carte = new Carte( config ); SlaveServerDetection slaveServerDetection = mock( SlaveServerDetection.class ); carte.getWebServer().getDetections().add( slaveServerDetection ); SlaveServer slaveServer = mock( SlaveServer.class, RETURNS_MOCKS ); when( slaveServerDetection.getSlaveServer() ).thenReturn( slaveServer ); when( slaveServer.getStatus() ).thenAnswer( new Answer<SlaveServerStatus>() { @Override public SlaveServerStatus answer( InvocationOnMock invocation ) throws Throwable { SlaveServerDetection anotherDetection = mock( SlaveServerDetection.class ); carte.getWebServer().getDetections().add( anotherDetection ); latch.countDown(); return new SlaveServerStatus(); } } ); latch.await( 10, TimeUnit.SECONDS ); assertEquals( carte.getWebServer().getDetections().size(), 2 ); carte.getWebServer().stopServer(); }
@Test public void testAuthCredentialsSchemeWithSSL() { slaveServer.setUsername( "admin" ); slaveServer.setPassword( "password" ); slaveServer.setHostname( "localhost" ); slaveServer.setPort( "8443" ); slaveServer.setSslMode( true ); AuthCache cache = slaveServer.getAuthContext().getAuthCache(); assertNotNull( cache.get( new HttpHost( "localhost", 8443, "https" ) ) ); assertNull( cache.get( new HttpHost( "localhost", 8443, "http" ) ) ); }
private SlaveServer generateSlaveServer() { Random random = new Random(); int id = random.nextInt(); SlaveServer slaveServer = new SlaveServer(); slaveServer.setName( NAME + id ); slaveServer.setHostname( HOST_NAME + id ); slaveServer.setPort( PORT + id ); slaveServer.setWebAppName( WEB_APP_NAME + id ); slaveServer.setUsername( USERNAME + id ); slaveServer.setPassword( PASSWORD + id ); slaveServer.setProxyHostname( PROXY_HOST_NAME + id ); slaveServer.setProxyPort( PROXY_PORT + id ); slaveServer.setNonProxyHosts( NON_PROXY_HOSTS + id ); slaveServer.setObjectId( new StringObjectId( ID + id ) ); return slaveServer; }
@Test public void testAddCredentials() throws IOException, ClassNotFoundException { String testUser = "test_username"; slaveServer.setUsername( testUser ); String testPassword = "test_password"; slaveServer.setPassword( testPassword ); String host = "somehost"; slaveServer.setHostname( host ); int port = 1000; slaveServer.setPort( "" + port ); HttpClientContext auth = slaveServer.getAuthContext(); Credentials cred = auth.getCredentialsProvider().getCredentials( new AuthScope( host, port ) ); assertEquals( testUser, cred.getUserPrincipal().getName() ); assertEquals( testPassword, cred.getPassword() ); String user2 = "user2"; slaveServer.setUsername( user2 ); slaveServer.setPassword( "pass2" ); auth = slaveServer.getAuthContext(); cred = auth.getCredentialsProvider().getCredentials( new AuthScope( host, port ) ); assertEquals( user2, cred.getUserPrincipal().getName() ); }
public void dataNodeToElement( DataNode rootNode, RepositoryElementInterface element ) throws KettleException { SlaveServer slaveServer = (SlaveServer) element; slaveServer.setHostname( getString( rootNode, PROP_HOST_NAME ) ); slaveServer.setPort( getString( rootNode, PROP_PORT ) ); slaveServer.setUsername( getString( rootNode, PROP_USERNAME ) ); slaveServer.setPassword( Encr.decryptPasswordOptionallyEncrypted( getString( rootNode, PROP_PASSWORD ) ) ); slaveServer.setProxyHostname( getString( rootNode, PROP_PROXY_HOST_NAME ) ); slaveServer.setProxyPort( getString( rootNode, PROP_PROXY_PORT ) ); slaveServer.setWebAppName( getString( rootNode, PROP_WEBAPP_NAME ) ); slaveServer.setNonProxyHosts( getString( rootNode, PROP_NON_PROXY_HOSTS ) ); slaveServer.setMaster( rootNode.getProperty( PROP_MASTER ).getBoolean() ); }
public SlaveServer loadSlaveServer( ObjectId id_slave_server ) throws KettleException { SlaveServer slaveServer = new SlaveServer(); slaveServer.setObjectId( id_slave_server ); RowMetaAndData row = getSlaveServer( id_slave_server ); if ( row == null ) { throw new KettleDatabaseException( BaseMessages.getString( PKG, "SlaveServer.SlaveCouldNotBeFound", id_slave_server.toString() ) ); } slaveServer.setName( row.getString( KettleDatabaseRepository.FIELD_SLAVE_NAME, null ) ); slaveServer.setHostname( row.getString( KettleDatabaseRepository.FIELD_SLAVE_HOST_NAME, null ) ); slaveServer.setPort( row.getString( KettleDatabaseRepository.FIELD_SLAVE_PORT, null ) ); slaveServer.setWebAppName( row.getString( KettleDatabaseRepository.FIELD_SLAVE_WEB_APP_NAME, null ) ); slaveServer.setUsername( row.getString( KettleDatabaseRepository.FIELD_SLAVE_USERNAME, null ) ); slaveServer.setPassword( Encr.decryptPasswordOptionallyEncrypted( row.getString( KettleDatabaseRepository.FIELD_SLAVE_PASSWORD, null ) ) ); slaveServer.setProxyHostname( row.getString( KettleDatabaseRepository.FIELD_SLAVE_PROXY_HOST_NAME, null ) ); slaveServer.setProxyPort( row.getString( KettleDatabaseRepository.FIELD_SLAVE_PROXY_PORT, null ) ); slaveServer.setNonProxyHosts( row.getString( KettleDatabaseRepository.FIELD_SLAVE_NON_PROXY_HOSTS, null ) ); slaveServer.setMaster( row.getBoolean( KettleDatabaseRepository.FIELD_SLAVE_MASTER, false ) ); return slaveServer; }
public void ok() { getInfo(); if ( !slaveServer.getName().equals( originalServer.getName() ) ) { if ( DialogUtils.objectWithTheSameNameExists( slaveServer, existingServers ) ) { String title = BaseMessages.getString( PKG, "SlaveServerDialog.SlaveServerNameExists.Title" ); String message = BaseMessages.getString( PKG, "SlaveServerDialog.SlaveServerNameExists", slaveServer.getName() ); String okButton = BaseMessages.getString( PKG, "System.Button.OK" ); MessageDialog dialog = new MessageDialog( shell, title, null, message, MessageDialog.ERROR, new String[] { okButton }, 0 ); dialog.open(); return; } } originalServer.setName( slaveServer.getName() ); originalServer.setHostname( slaveServer.getHostname() ); originalServer.setPort( slaveServer.getPort() ); originalServer.setWebAppName( slaveServer.getWebAppName() ); originalServer.setUsername( slaveServer.getUsername() ); originalServer.setPassword( slaveServer.getPassword() ); originalServer.setProxyHostname( slaveServer.getProxyHostname() ); originalServer.setProxyPort( slaveServer.getProxyPort() ); originalServer.setNonProxyHosts( slaveServer.getNonProxyHosts() ); originalServer.setMaster( slaveServer.isMaster() ); originalServer.setSslMode( slaveServer.isSslMode() ); originalServer.setChanged(); ok = true; dispose(); }