public void testListSecurityGroup() throws Exception { skipIfSecurityGroupsNotSupported(); for (SecurityGroup securityGroup : client.getSecurityGroupClient().listSecurityGroups()) checkGroup(securityGroup); }
@Test(dependsOnMethods = "testCreateIngress") public void testCreateVMInSecurityGroup() throws Exception { skipIfSecurityGroupsNotSupported(); String defaultTemplate = template != null ? template.getImageId() : null; vm = VirtualMachineClientLiveTest.createVirtualMachineWithSecurityGroupInZone(zone.getId(), defaultTemplateOrPreferredInZone(defaultTemplate, client, zone.getId()), group.getId(), client, jobComplete, virtualMachineRunning); if (vm.getPassword() != null && loginCredentials.getOptionalPassword() == null) loginCredentials = loginCredentials.toBuilder().password(vm.getPassword()).build(); // ingress port 22 checkSSH(HostAndPort.fromParts(vm.getIPAddress(), 22)); // ingress icmp disabled as this is platform dependent and may actually // just try tcp port 7 // assert InetAddress.getByName(vm.getIPAddress()).isReachable(1000) : vm; }
@Test public void testCreateVMWithoutSecurityGroupAssignsDefault() throws Exception { skipIfSecurityGroupsNotSupported(); String defaultTemplate = template != null ? template.getImageId() : null; VirtualMachine newVm = VirtualMachineClientLiveTest.createVirtualMachineWithOptionsInZone(DeployVirtualMachineOptions.NONE, zone.getId(), defaultTemplateOrPreferredInZone(defaultTemplate, client, zone.getId()), client, jobComplete, virtualMachineRunning); try { VirtualMachine runningVm = client.getVirtualMachineClient().getVirtualMachine(newVm.getId()); assertEquals(1, runningVm.getSecurityGroups().size()); assertEquals(Iterables.getOnlyElement(runningVm.getSecurityGroups()).getName(), "default"); } finally { assertTrue(jobComplete.apply(client.getVirtualMachineClient().destroyVirtualMachine(newVm.getId()))); } }
@Test(dependsOnMethods = "testCreateDestroySecurityGroup") public void testCreateIngress() throws Exception { skipIfSecurityGroupsNotSupported(); String cidr = getCurrentCIDR(); ImmutableSet<String> cidrs = ImmutableSet.of(cidr); assertTrue(jobComplete.apply(client.getSecurityGroupClient().authorizeIngressICMPToCIDRs(group.getId(), 0, 8, cidrs)), group.toString());
@Test public void testCreateDestroySecurityGroup() { try { zone = Iterables.find(client.getZoneClient().listZones(), new Predicate<Zone>() { @Override public boolean apply(Zone arg0) { return arg0.isSecurityGroupsEnabled(); } }); securityGroupsSupported = true; for (SecurityGroup securityGroup : client.getSecurityGroupClient().listSecurityGroups( ListSecurityGroupsOptions.Builder.named(prefix))) { for (IngressRule rule : securityGroup.getIngressRules()) assertTrue(jobComplete.apply(client.getSecurityGroupClient().revokeIngressRule(rule.getId())), rule.toString()); client.getSecurityGroupClient().deleteSecurityGroup(securityGroup.getId()); } group = client.getSecurityGroupClient().createSecurityGroup(prefix); assertEquals(group.getName(), prefix); checkGroup(group); try { client.getSecurityGroupClient().createSecurityGroup(prefix); fail("Expected IllegalStateException"); } catch (IllegalStateException e) { } } catch (NoSuchElementException e) { e.printStackTrace(); } }