@Test public void testGetServiceAddressByFlavor() throws Exception { when(stacksDAO.getAllStackPaths()).thenReturn( getStackPaths("/po/poc1/1.50/xreGuide", "/po/poc2/1.50/xreGuide", "/po/poc3/1.50/xreGuide")); when(stacksDAO.getHosts(new XreStackPath("/po/poc1/1.50/xreGuide"))) .thenReturn(Arrays.asList(new HostIPs("ipv4", "ipv6"), new HostIPs("ipv4_2", "ipv6_2"))); when(stacksDAO.getHosts(new XreStackPath("/po/poc2/1.50/xreGuide"))) .thenReturn(Arrays.asList(new HostIPs("ipv4_3", "ipv6_3"))); HostIPsListWrapper result = testee.getHostsForFlavorAndService("1.50", "xreGuide"); Assert.assertEquals(new HostIPs("ipv4", "ipv6"), result.getHostIPsList().get(0)); Assert.assertEquals(new HostIPs("ipv4_2", "ipv6_2"), result.getHostIPsList().get(1)); Assert.assertEquals(new HostIPs("ipv4_3", "ipv6_3"), result.getHostIPsList().get(2)); }
@Override public HostIPsListWrapper getHostsForFlavorAndService(String flavorName, String serviceName) { HostIPsListWrapper result = new HostIPsListWrapper(); for (XreStackPath stack : getStackPathsForServiceAndFlavor(serviceName, flavorName)) { result.getHostIPsList().addAll(getNodesAddresses(stack)); } return result; }
StacksService implements IStacksService { @Override public HostIPsListWrapper getHostsForFlavorAndService(String flavorName, String serviceName) { HostIPsListWrapper result = new HostIPsListWrapper(); for (XreStackPath stack : getStackPathsForServiceAndFlavor(serviceName, flavorName)) { result.getHostIPsList().addAll(getNodesAddresses(stack)); } return result; } }
StacksService implements IStacksService { @Override public HostIPsListWrapper getHostsForFlavorAndService(String flavorName, String serviceName) { HostIPsListWrapper result = new HostIPsListWrapper(); for (XreStackPath stack : getStackPathsForServiceAndFlavor(serviceName, flavorName)) { result.getHostIPsList().addAll(getNodesAddresses(stack)); } return result; }  }
StacksService implements IStacksService { @Override public HostIPsListWrapper getHostsForFlavorAndService(String flavorName, String serviceName) { HostIPsListWrapper result = new HostIPsListWrapper(); for (XreStackPath stack : getStackPathsForServiceAndFlavor(serviceName, flavorName)) { result.getHostIPsList().addAll(getNodesAddresses(stack)); } return result; }  @PostConstruct void init(); @Override ServicePaths getStacksForService(String serviceName); @Override ServicePaths updateStacksForService(String serviceName, ServicePaths servicePaths, Whitelisted whitelisted); @Override Set<String> getAllServiceNames(); @Override Boolean isServiceExists(String serviceName); @Override ServicePaths getStacksForAllServices(); @Override Set<PathItem> getActiveStacksAndFlavors(String serviceName); Set<PathItem> getActiveStacksAndFlavors(String serviceName, ServicePaths servicePaths); @Override HostIPsListWrapper getHostsForStackOnlyAndService(String stackName, String serviceName); @Override HostIPsListWrapper getRandomHostForStackOnlyAndService(String stackOnlyPath, String serviceName); @Override HostIPsListWrapper getHostsForStackAndService(String stackName, String serviceName); @Override HostIPsListWrapper getRandomHostForStackAndService(String stackName, String serviceName); @Override HostIPsListWrapper getHostsForFlavorAndService(String flavorName, String serviceName); @Override HostIPsListWrapper getRandomHostForFlavorAndService(String flavorName, String serviceName); @Override Set<StackData> getAllStacksAndHosts(String serviceName); Boolean isStackNameWithoutFlavor(String stackName); @Override HostIPsListWrapper getAddressByStackOrFlavor(String appName, String stackName, String flavorName); @Override HostIPsListWrapper getRandomAddressByStackOrFlavor(String serviceName, String stackName, String flavorName); @Override void deleteStack(String serviceName, String dataCenter, String availabilityZone, String flavor); @Override synchronized void deleteStacks(Paths paths); void setWhiteListService(IWhiteListService whiteListService); void setInitialDelay(long initialDelay); void setRefreshDelay(long refreshDelay); }
StacksService implements IStacksService { @Override public HostIPsListWrapper getHostsForFlavorAndService(String flavorName, String serviceName) { HostIPsListWrapper result = new HostIPsListWrapper(); for (XreStackPath stack : getStackPathsForServiceAndFlavor(serviceName, flavorName)) { result.getHostIPsList().addAll(getNodesAddresses(stack)); } return result; }  @PostConstruct void init(); @Override ServicePaths getStacksForService(String serviceName); @Override ServicePaths updateStacksForService(String serviceName, ServicePaths servicePaths, Whitelisted whitelisted); @Override Set<String> getAllServiceNames(); @Override Boolean isServiceExists(String serviceName); @Override ServicePaths getStacksForAllServices(); @Override Set<PathItem> getActiveStacksAndFlavors(String serviceName); Set<PathItem> getActiveStacksAndFlavors(String serviceName, ServicePaths servicePaths); @Override HostIPsListWrapper getHostsForStackOnlyAndService(String stackName, String serviceName); @Override HostIPsListWrapper getRandomHostForStackOnlyAndService(String stackOnlyPath, String serviceName); @Override HostIPsListWrapper getHostsForStackAndService(String stackName, String serviceName); @Override HostIPsListWrapper getRandomHostForStackAndService(String stackName, String serviceName); @Override HostIPsListWrapper getHostsForFlavorAndService(String flavorName, String serviceName); @Override HostIPsListWrapper getRandomHostForFlavorAndService(String flavorName, String serviceName); @Override Set<StackData> getAllStacksAndHosts(String serviceName); Boolean isStackNameWithoutFlavor(String stackName); @Override HostIPsListWrapper getAddressByStackOrFlavor(String appName, String stackName, String flavorName); @Override HostIPsListWrapper getRandomAddressByStackOrFlavor(String serviceName, String stackName, String flavorName); @Override void deleteStack(String serviceName, String dataCenter, String availabilityZone, String flavor); @Override synchronized void deleteStacks(Paths paths); void setWhiteListService(IWhiteListService whiteListService); void setInitialDelay(long initialDelay); void setRefreshDelay(long refreshDelay);  }