private CompletionMetadata computeCompletionMetadata(Map<String, Configuration> configurations) { ReferenceLibrary referenceLibrary = getReferenceLibraryData(); return new CompletionMetadata( getAddressBooks(referenceLibrary), getAddressGroups(referenceLibrary), getFilterNames(configurations), getInterfaces(configurations), getIps(configurations), getPrefixes(configurations), getStructureNames(configurations), getVrfs(configurations), getZones(configurations)); }
@Test public void testGetInterfaces() { String nodeName = "nodeName"; String int1 = "int1"; String int2 = "int2"; Map<String, Configuration> configs = new HashMap<>(); Configuration config = createTestConfiguration(nodeName, ConfigurationFormat.HOST, int1, int2); configs.put(nodeName, config); assertThat( getInterfaces(configs), equalTo( ImmutableSet.of( new NodeInterfacePair(nodeName, int1), new NodeInterfacePair(nodeName, int2)))); }
@Test public void testGetZones() { String zone1 = "zone1"; String zone2 = "zone2"; Map<String, Configuration> configs = new HashMap<>(); Configuration config = createTestConfiguration("config1", ConfigurationFormat.HOST); config.setZones(ImmutableSortedMap.of(zone1, new Zone(zone1), zone2, new Zone(zone2))); configs.put("config1", config); assertThat(getZones(configs), equalTo(ImmutableSet.of(zone1, zone2))); } }
@Test public void testGetAddressBooks() { String book1 = "book1"; String book2 = "book2"; ReferenceBook refBook1 = ReferenceBook.builder(book1).build(); ReferenceBook refBook2 = ReferenceBook.builder(book2).build(); ReferenceLibrary referenceLibrary = new ReferenceLibrary(ImmutableList.of(refBook1, refBook2)); assertThat(getAddressBooks(referenceLibrary), equalTo(ImmutableSet.of(book1, book2))); }
@Test public void testGetVrfs() { String int1 = "int1"; String int2 = "int2"; String int3 = "int3"; String vrf1 = "vrf1"; String vrf2 = "vrf2"; Map<String, Configuration> configs = new HashMap<>(); Configuration config = createTestConfiguration("config1", ConfigurationFormat.HOST, int1, int2, int3); config.getAllInterfaces().get(int1).setVrfName(vrf1); config.getAllInterfaces().get(int2).setVrfName(vrf2); config.getAllInterfaces().get(int3).setVrfName(vrf1); configs.put("config1", config); assertThat(getVrfs(configs), equalTo(ImmutableSet.of(vrf1, vrf2))); }
@Test public void testGetFilterNames() { String filter1 = "filter1"; String filter2 = "filter2"; IpAccessList ipAccessList1 = IpAccessList.builder().setName(filter1).build(); IpAccessList ipAccessList2 = IpAccessList.builder().setName(filter2).build(); Map<String, Configuration> configs = new HashMap<>(); Configuration config = createTestConfiguration("config1", ConfigurationFormat.HOST); config.setIpAccessLists(ImmutableSortedMap.of(filter1, ipAccessList1, filter2, ipAccessList2)); configs.put("config1", config); assertThat(getFilterNames(configs), equalTo(ImmutableSet.of(filter1, filter2))); }
@Test public void testGetIps() { String nodeName = "nodeName"; String int1 = "int1"; String int2 = "int2"; String ip1 = "10.1.3.7"; String ip2 = "128.212.155.30"; String ip3 = "124.51.32.2"; String address1 = ip1 + "/30"; String address2 = ip2 + "/24"; String address3 = ip3 + "/20"; InterfaceAddress interfaceAddress1 = new InterfaceAddress(address1); InterfaceAddress interfaceAddress2 = new InterfaceAddress(address2); InterfaceAddress interfaceAddress3 = new InterfaceAddress(address3); Map<String, Configuration> configs = new HashMap<>(); Configuration config = createTestConfiguration(nodeName, ConfigurationFormat.HOST, int1, int2); config .getAllInterfaces() .get(int1) .setAllAddresses(ImmutableSet.of(interfaceAddress1, interfaceAddress2)); config .getAllInterfaces() .get(int2) .setAllAddresses(ImmutableSet.of(interfaceAddress2, interfaceAddress3)); configs.put(nodeName, config); assertThat(getIps(configs), equalTo(ImmutableSet.of(ip1, ip2, ip3))); }
@Test public void testGetAddressGroups() { String group1 = "group1"; String group2 = "group2"; AddressGroup addressGroup1 = new AddressGroup(null, group1); AddressGroup addressGroup2 = new AddressGroup(null, group2); ReferenceBook refBook1 = ReferenceBook.builder("book1") .setAddressGroups(ImmutableList.of(addressGroup1, addressGroup2)) .build(); ReferenceBook refBook2 = ReferenceBook.builder("book2").setAddressGroups(ImmutableList.of(addressGroup1)).build(); ReferenceBook refBook3 = ReferenceBook.builder("book3").build(); ReferenceLibrary referenceLibrary = new ReferenceLibrary(ImmutableList.of(refBook1, refBook2, refBook3)); assertThat(getAddressGroups(referenceLibrary), equalTo(ImmutableSet.of(group1, group2))); }
@Test public void testGetPrefixes() { String nodeName = "nodeName"; String int1 = "int1"; String int2 = "int2"; String address1 = "10.1.3.7/30"; String address2 = "128.212.155.30/24"; String address3 = "124.51.32.2/20"; InterfaceAddress interfaceAddress1 = new InterfaceAddress(address1); InterfaceAddress interfaceAddress2 = new InterfaceAddress(address2); InterfaceAddress interfaceAddress3 = new InterfaceAddress(address3); Map<String, Configuration> configs = new HashMap<>(); Configuration config = createTestConfiguration(nodeName, ConfigurationFormat.HOST, int1, int2); config .getAllInterfaces() .get(int1) .setAllAddresses(ImmutableSet.of(interfaceAddress1, interfaceAddress2)); config .getAllInterfaces() .get(int2) .setAllAddresses(ImmutableSet.of(interfaceAddress2, interfaceAddress3)); configs.put(nodeName, config); assertThat( getPrefixes(configs), equalTo( ImmutableSet.of( interfaceAddress1.getPrefix().toString(), interfaceAddress2.getPrefix().toString(), interfaceAddress3.getPrefix().toString()))); }
getStructureNames(configs), equalTo( ImmutableSet.of(