HostRegistryImpl implements HostRegistry { @Override public ContainerHostInfo getContainerHostInfoByHostname( final String hostname ) throws HostDisconnectedException { Preconditions.checkArgument( !StringUtils.isBlank( hostname ), "Invalid hostname" ); for ( ResourceHostInfo resourceHostInfo : hosts.asMap().values() ) { for ( ContainerHostInfo containerHostInfo : resourceHostInfo.getContainers() ) { if ( hostname.equalsIgnoreCase( containerHostInfo.getHostname() ) ) { return containerHostInfo; } } } throw new HostDisconnectedException( String.format( HOST_NOT_CONNECTED_MSG, hostname ) ); }  @Override void updateResourceHostEntryTimestamp( final String resourceHostId ); @Override ContainerHostInfo getContainerHostInfoById( final String id ); @Override ContainerHostInfo getContainerHostInfoByHostname( final String hostname ); @Override ContainerHostInfo getContainerHostInfoByContainerName( final String containerName ); @Override Set<ContainerHostInfo> getContainerHostsInfo(); @Override ResourceHostInfo getResourceHostInfoById( final String id ); @Override ResourceHostInfo getResourceHostInfoByHostname( final String hostname ); @Override Set<ResourceHostInfo> getResourceHostsInfo(); @Override ResourceHostInfo getResourceHostByContainerHost( final ContainerHostInfo containerHostInfo ); @Override HostInfo getHostInfoById( final String hostId ); @Override void removeResourceHost( final String id ); @Override void addHostListener( final HostListener listener ); @Override void removeHostListener( final HostListener listener ); void init(); void dispose(); @Override boolean pingHost( String hostIp );  }
@Test public void testGetContainerInfoByHostname() throws Exception { ContainerHostInfo existingHost = registry.getContainerHostInfoByHostname( CONTAINER_HOSTNAME ); assertNotNull( existingHost ); try { registry.getContainerHostInfoByHostname( DUMMY_HOSTNAME ); fail( "Expected HostDisconnectedException" ); } catch ( HostDisconnectedException e ) { } }