NamedClusterManager implements NamedClusterService { @Override public NamedCluster getNamedClusterByHost( String hostName, IMetaStore metastore ) { NamedCluster namedCluster = null; if ( hostName == null ) { return null; } if ( metastore != null ) { namedCluster = searchMetastoreByHost( hostName, metastore ); } if ( namedCluster == null ) { IMetaStore slaveMetastore = getSlaveServerMetastore(); if ( slaveMetastore != null ) { namedCluster = searchMetastoreByHost( hostName, slaveMetastore ); } } return namedCluster; }  BundleContext getBundleContext(); void setBundleContext( BundleContext bundleContext ); @Override void close( IMetaStore metastore ); @Override NamedCluster getClusterTemplate(); @Override void setClusterTemplate( NamedCluster clusterTemplate ); @Override void create( NamedCluster namedCluster, IMetaStore metastore ); @Override NamedCluster read( String clusterName, IMetaStore metastore ); @Override void update( NamedCluster namedCluster, IMetaStore metastore ); @Override void delete( String clusterName, IMetaStore metastore ); @Override List<NamedCluster> list( IMetaStore metastore ); @Override List<NamedCluster> list( IMetaStore metastore, List<MetaStoreException> exceptionList ); @Override List<String> listNames( IMetaStore metastore ); @Override boolean contains( String clusterName, IMetaStore metastore ); @Override NamedCluster getNamedClusterByName( String namedClusterName, IMetaStore metastore ); Map<String, Object> getProperties(); @Override NamedCluster getNamedClusterByHost( String hostName, IMetaStore metastore ); @Override void updateNamedClusterTemplate( String hostName, int port, boolean isMapr ); static final String BIG_DATA_SLAVE_METASTORE_DIR; }
@Test @SuppressWarnings( "unchecked" ) public void testGetNamedClusterByHost() throws MetaStoreException { String testName = "testName"; String testHostName = "testHostName"; NamedCluster namedCluster = mock( NamedCluster.class ); when( namedCluster.getName() ).thenReturn( testName ); when( namedCluster.getHdfsHost() ).thenReturn( testHostName ); List namedClusters = new ArrayList<>( Arrays.asList( namedCluster ) ); when( metaStoreFactory.getElements( anyBoolean(), any( List.class ) ) ).thenReturn( namedClusters ) .thenReturn( namedClusters ).thenThrow( new MetaStoreException() ); assertNull( namedClusterManager.getNamedClusterByHost( testHostName, null ) ); assertEquals( namedCluster, namedClusterManager.getNamedClusterByHost( testHostName, metaStore ) ); assertNull( namedClusterManager.getNamedClusterByHost( "fakeName", metaStore ) ); assertNull( namedClusterManager.getNamedClusterByHost( testHostName, metaStore ) ); }