public void testDefaultNetworkInZone() { Network defaultInZone = Network.builder().id("42-1").isDefault(true).zoneId("42").build(); Network defaultNotInZone = Network.builder().id("200-1").isDefault(true).zoneId("200").build(); Network notDefaultInZone = Network.builder().id("42-2").isDefault(false).zoneId("42").build(); Network notDefaultNotInZone = Network.builder().id("200-2").isDefault(false).zoneId("200").build(); Predicate<Network> predicate = defaultNetworkInZone("42"); assertTrue(predicate.apply(defaultInZone)); assertFalse(predicate.apply(defaultNotInZone)); assertFalse(predicate.apply(notDefaultInZone)); assertFalse(predicate.apply(notDefaultNotInZone)); } }
public void testReuseWorks() throws SecurityException, NoSuchMethodException { // create mocks CloudStackClient client = createMock(CloudStackClient.class); BlockUntilJobCompletesAndReturnResult blockUntilJobCompletesAndReturnResult = createMock(BlockUntilJobCompletesAndReturnResult.class); AddressClient addressClient = createMock(AddressClient.class); expect(client.getAddressClient()).andReturn(addressClient).atLeastOnce(); // an address is available expect(addressClient.listPublicIPAddresses(allocatedOnly(true).networkId(networkId))).andReturn( ImmutableSet.<PublicIPAddress> of(address)); replay(client); replay(blockUntilJobCompletesAndReturnResult); replay(addressClient); assertEquals( new ReuseOrAssociateNewPublicIPAddress(client, blockUntilJobCompletesAndReturnResult).apply(Network .builder().id(networkId).zoneId(zoneId).build()), address); verify(client); verify(blockUntilJobCompletesAndReturnResult); verify(addressClient); }
public void testDefaultNetworkInZone() { Network defaultInZone = Network.builder().id("42-1").isDefault(true).zoneId("42").build(); Network defaultNotInZone = Network.builder().id("200-1").isDefault(true).zoneId("200").build(); Network notDefaultInZone = Network.builder().id("42-2").isDefault(false).zoneId("42").build(); Network notDefaultNotInZone = Network.builder().id("200-2").isDefault(false).zoneId("200").build(); Predicate<Network> predicate = defaultNetworkInZone("42"); assertTrue(predicate.apply(defaultInZone)); assertFalse(predicate.apply(defaultNotInZone)); assertFalse(predicate.apply(notDefaultInZone)); assertFalse(predicate.apply(notDefaultNotInZone)); } }
public void testReuseWorks() throws SecurityException, NoSuchMethodException { // create mocks CloudStackApi client = createMock(CloudStackApi.class); BlockUntilJobCompletesAndReturnResult blockUntilJobCompletesAndReturnResult = createMock(BlockUntilJobCompletesAndReturnResult.class); AddressApi addressClient = createMock(AddressApi.class); expect(client.getAddressApi()).andReturn(addressClient).atLeastOnce(); // an address is available expect(addressClient.listPublicIPAddresses(allocatedOnly(true).networkId(networkId))).andReturn( ImmutableSet.<PublicIPAddress> of(address)); replay(client); replay(blockUntilJobCompletesAndReturnResult); replay(addressClient); assertEquals( new ReuseOrAssociateNewPublicIPAddress(client, blockUntilJobCompletesAndReturnResult).apply(Network .builder().id(networkId).zoneId(zoneId).build()), address); verify(client); verify(blockUntilJobCompletesAndReturnResult); verify(addressClient); }
@Test public void testAdvancedWhenNoNetworkEligible() { AdvancedNetworkOptionsConverter converter = new AdvancedNetworkOptionsConverter(); Network unsuitableNetwork = Network.builder() .id("25").zoneId(ZONE_ID) .build(); boolean exceptionThrown = false; try { converter.apply(CloudStackTemplateOptions.NONE, ImmutableMap.of(unsuitableNetwork.getId(), unsuitableNetwork), ZONE_ID, DeployVirtualMachineOptions.NONE); } catch(IllegalArgumentException e) { exceptionThrown = true; } assertTrue(exceptionThrown); } }
public void testSupportsStaticNATFindsWhenFirewallHasStaticNatFeature() { Network network = Network .builder() .id("204") .services( ImmutableSet.of(NetworkService.builder().name("Firewall").capabilities( ImmutableMap.<String, String> of("StaticNat", "true")).build())) .build(); assert !hasLoadBalancerService().apply(network); assert supportsStaticNAT().apply(network); assert !supportsPortForwarding().apply(network); }
public void testNoSupport() { Network network = Network.builder().id("204") .services(ImmutableSet.of(NetworkService.builder().name("Firewall").capabilities( ImmutableMap.<String, String> of()).build())).build(); assert !hasLoadBalancerService().apply(network); assert !supportsStaticNAT().apply(network); assert !supportsPortForwarding().apply(network); }
public void testAssociateWorks() throws SecurityException, NoSuchMethodException { // create mocks CloudStackClient client = createMock(CloudStackClient.class); BlockUntilJobCompletesAndReturnResult blockUntilJobCompletesAndReturnResult = createMock(BlockUntilJobCompletesAndReturnResult.class); AddressClient addressClient = createMock(AddressClient.class); expect(client.getAddressClient()).andReturn(addressClient).atLeastOnce(); // no ip addresses available expect(addressClient.listPublicIPAddresses(allocatedOnly(true).networkId(networkId))).andReturn( ImmutableSet.<PublicIPAddress> of()); AsyncCreateResponse job = AsyncCreateResponse.builder().id("1").jobId("2").build(); // make sure we created the job relating to a new ip expect(addressClient.associateIPAddressInZone(zoneId, networkId(networkId))).andReturn(job); expect(blockUntilJobCompletesAndReturnResult.apply(job)).andReturn(address); replay(client); replay(addressClient); replay(blockUntilJobCompletesAndReturnResult); assertEquals( new ReuseOrAssociateNewPublicIPAddress(client, blockUntilJobCompletesAndReturnResult).apply(Network .builder().id(networkId).zoneId(zoneId).build()), address); verify(client); verify(addressClient); verify(blockUntilJobCompletesAndReturnResult); }
public void testSupportsPortForwardingAndStaticNATWhenFirewallHasFeatures() { Network network = Network .builder() .id("204") .services( ImmutableSet.of(NetworkService.builder().name("Firewall").capabilities( ImmutableMap.<String, String> of("StaticNat", "true", "PortForwarding", "true")).build())).build(); assert Predicates.and(supportsPortForwarding(), supportsStaticNAT()).apply(network); assert !hasLoadBalancerService().apply(network); }
public void testSupportsPortForwardingFindsWhenFirewallHasPortForwardingFeature() { Network network = Network .builder() .id("204") .services( ImmutableSet.of(NetworkService.builder().name("Firewall").capabilities( ImmutableMap.<String, String> of("PortForwarding", "true")).build())).build(); assert !hasLoadBalancerService().apply(network); assert !supportsStaticNAT().apply(network); assert supportsPortForwarding().apply(network); }
public void testSupportsStaticNATFindsWhenFirewallHasStaticNatFeature() { Network network = Network .builder() .id("204") .services( ImmutableSet.of(NetworkService.builder().name("Firewall").capabilities( ImmutableMap.<String, String> of("StaticNat", "true")).build())) .build(); assert !hasLoadBalancerService().apply(network); assert supportsStaticNAT().apply(network); assert !supportsPortForwarding().apply(network); }
public void testSupportsPortForwardingFindsWhenFirewallHasPortForwardingFeature() { Network network = Network .builder() .id("204") .services( ImmutableSet.of(NetworkService.builder().name("Firewall").capabilities( ImmutableMap.<String, String> of("PortForwarding", "true")).build())).build(); assert !hasLoadBalancerService().apply(network); assert !supportsStaticNAT().apply(network); assert supportsPortForwarding().apply(network); }
public void testSupportsPortForwardingAndStaticNATWhenFirewallHasFeatures() { Network network = Network .builder() .id("204") .services( ImmutableSet.of(NetworkService.builder().name("Firewall").capabilities( ImmutableMap.<String, String> of("StaticNat", "true", "PortForwarding", "true")).build())).build(); assert Predicates.and(supportsPortForwarding(), supportsStaticNAT()).apply(network); assert !hasLoadBalancerService().apply(network); }
public void testHasLoadBalancerService() { Network network = Network.builder().id("204").services(ImmutableSet.of(NetworkService.builder().name("Lb").build())).build(); assert hasLoadBalancerService().apply(network); assert !supportsStaticNAT().apply(network); assert !supportsPortForwarding().apply(network); }
@Test public void testAdvancedAutoDetectNetwork() { AdvancedNetworkOptionsConverter converter = new AdvancedNetworkOptionsConverter(); Network eligibleNetwork = Network.builder() .id("25").zoneId(ZONE_ID).isDefault(true).services(ImmutableSet.of(firewallServiceWithStaticNat)) .build(); DeployVirtualMachineOptions optionsActual = converter.apply(CloudStackTemplateOptions.NONE, ImmutableMap.of(eligibleNetwork.getId(), eligibleNetwork), ZONE_ID, DeployVirtualMachineOptions.NONE); DeployVirtualMachineOptions optionsExpected = DeployVirtualMachineOptions.Builder.networkId("25"); assertEquals(optionsActual, optionsExpected); }
public void testHasLoadBalancerService() { Network network = Network.builder().id("204").services(ImmutableSet.of(NetworkService.builder().name("Lb").build())).build(); assert hasLoadBalancerService().apply(network); assert !supportsStaticNAT().apply(network); assert !supportsPortForwarding().apply(network); }
public void testNoSupport() { Network network = Network.builder().id("204") .services(ImmutableSet.of(NetworkService.builder().name("Firewall").capabilities( ImmutableMap.<String, String> of()).build())).build(); assert !hasLoadBalancerService().apply(network); assert !supportsStaticNAT().apply(network); assert !supportsPortForwarding().apply(network); }
public void testAssociateWorks() throws SecurityException, NoSuchMethodException { // create mocks CloudStackApi client = createMock(CloudStackApi.class); BlockUntilJobCompletesAndReturnResult blockUntilJobCompletesAndReturnResult = createMock(BlockUntilJobCompletesAndReturnResult.class); AddressApi addressClient = createMock(AddressApi.class); expect(client.getAddressApi()).andReturn(addressClient).atLeastOnce(); // no ip addresses available expect(addressClient.listPublicIPAddresses(allocatedOnly(true).networkId(networkId))).andReturn( ImmutableSet.<PublicIPAddress> of()); AsyncCreateResponse job = AsyncCreateResponse.builder().id("1").jobId("2").build(); // make sure we created the job relating to a new ip expect(addressClient.associateIPAddressInZone(zoneId, networkId(networkId))).andReturn(job); expect(blockUntilJobCompletesAndReturnResult.apply(job)).andReturn(address); replay(client); replay(addressClient); replay(blockUntilJobCompletesAndReturnResult); assertEquals( new ReuseOrAssociateNewPublicIPAddress(client, blockUntilJobCompletesAndReturnResult).apply(Network .builder().id(networkId).zoneId(zoneId).build()), address); verify(client); verify(addressClient); verify(blockUntilJobCompletesAndReturnResult); }
@Test public void testAdvancedWhenNoNetworkEligible() { AdvancedNetworkOptionsConverter converter = new AdvancedNetworkOptionsConverter(); Network unsuitableNetwork = Network.builder() .id("25").zoneId(ZONE_ID) .build(); boolean exceptionThrown = false; try { converter.apply(new CloudStackTemplateOptions(), ImmutableMap.of(unsuitableNetwork.getId(), unsuitableNetwork), ZONE_ID, DeployVirtualMachineOptions.NONE); } catch (IllegalArgumentException e) { exceptionThrown = true; } assertTrue(exceptionThrown); } }
@Test public void testAdvancedAutoDetectNetwork() { AdvancedNetworkOptionsConverter converter = new AdvancedNetworkOptionsConverter(); Network eligibleNetwork = Network.builder() .id("25").zoneId(ZONE_ID).isDefault(true).services(ImmutableSet.of(firewallServiceWithStaticNat)) .build(); DeployVirtualMachineOptions optionsActual = converter.apply(new CloudStackTemplateOptions(), ImmutableMap.of(eligibleNetwork.getId(), eligibleNetwork), ZONE_ID, DeployVirtualMachineOptions.NONE); DeployVirtualMachineOptions optionsExpected = DeployVirtualMachineOptions.Builder.networkId("25"); assertEquals(optionsActual, optionsExpected); }