public boolean removeSecurityGroupCreatedByJcloudsAndInvalidateCache(Set<String> tags) { String securityGroupIdCreatedByJclouds = getSecurityGroupIdCreatedByJclouds(tags); if (securityGroupIdCreatedByJclouds == null) return true; return securityGroupExtension.removeSecurityGroup(securityGroupIdCreatedByJclouds); }
public boolean removeSecurityGroupCreatedByJcloudsAndInvalidateCache(Set<String> tags) { String securityGroupIdCreatedByJclouds = getSecurityGroupIdCreatedByJclouds(tags); if (securityGroupIdCreatedByJclouds == null) return true; return securityGroupExtension.removeSecurityGroup(securityGroupIdCreatedByJclouds); }
@Test(groups = { "integration", "live" }, singleThreaded = true, dependsOnMethods = "testRemoveIpPermissionWithCidrExclusionGroup", alwaysRun = true) public void testDeleteSecurityGroup() { skipIfSecurityGroupsNotSupported(); ComputeService computeService = view.getComputeService(); Optional<SecurityGroupExtension> securityGroupExtension = computeService.getSecurityGroupExtension(); assertTrue(securityGroupExtension.isPresent(), "security group extension was not present"); Optional<SecurityGroup> optGroup = getGroup(securityGroupExtension.get()); assertTrue(optGroup.isPresent()); SecurityGroup group = optGroup.get(); assertTrue(securityGroupExtension.get().removeSecurityGroup(group.getId())); }
private void cleanup() { if (securityGroupsSupported) { ComputeService computeService = view.getComputeService(); Optional<SecurityGroupExtension> securityGroupExtension = computeService.getSecurityGroupExtension(); if (securityGroupExtension.isPresent()) { Optional<SecurityGroup> group = getGroup(securityGroupExtension.get()); if (group.isPresent()) { securityGroupExtension.get().removeSecurityGroup(group.get().getId()); } } } }
private void deleteSecurityGroupFromAnotherView(SecurityGroup seedGroup) { ComputeServiceContext localView = createView(setupProperties(), setupModules()); try { ComputeService localComputeService = localView.getComputeService(); Optional<SecurityGroupExtension> securityGroupExtension = localComputeService.getSecurityGroupExtension(); assertTrue(securityGroupExtension.isPresent(), "security extension was not present"); final SecurityGroupExtension security = securityGroupExtension.get(); boolean deleted = security.removeSecurityGroup(seedGroup.getId()); assertTrue(deleted, "just created security group failed deletion"); } finally { localView.close(); } }
public void testRemoveSecurityGroup() { HttpRequest delete = HttpRequest.builder().method("DELETE").endpoint( URI.create("https://az-1.region-a.geo-1.compute.hpcloudsvc.com/v2/3456/os-security-groups/160")) .headers( ImmutableMultimap.<String, String>builder().put("Accept", "application/json") .put("X-Auth-Token", authToken).build()).build(); HttpResponse deleteResponse = HttpResponse.builder().statusCode(202).build(); HttpRequest getSecurityGroup = HttpRequest.builder().method("GET").endpoint( URI.create("https://az-1.region-a.geo-1.compute.hpcloudsvc.com/v2/3456/os-security-groups/160")).headers( ImmutableMultimap.<String, String> builder().put("Accept", "application/json").put("X-Auth-Token", authToken).build()).build(); HttpResponse getSecurityGroupResponse = HttpResponse.builder().statusCode(200).payload( payloadFromResource("/securitygroup_details_extension.json")).build(); Builder<HttpRequest, HttpResponse> requestResponseMap = ImmutableMap.<HttpRequest, HttpResponse> builder(); requestResponseMap.put(keystoneAuthWithUsernameAndPasswordAndTenantName, responseWithKeystoneAccess); requestResponseMap.put(extensionsOfNovaRequest, extensionsOfNovaResponse); requestResponseMap.put(getSecurityGroup, getSecurityGroupResponse); requestResponseMap.put(delete, deleteResponse); SecurityGroupExtension extension = requestsSendResponses(requestResponseMap.build()).getSecurityGroupExtension().get(); assertTrue(extension.removeSecurityGroup(region + "/160"), "Expected removal of securitygroup to be successful"); }
private void verifyAndDeleteSecurityGroup(SecurityGroupExtension security, int countBeforeAdd, final SecurityGroup testGroup) { logger.info("Loading security groups"); Set<SecurityGroup> afterAdd = security.listSecurityGroups(); final int countAfterAdd = afterAdd.size(); logger.info("Found %d security groups", countAfterAdd); assertEquals(countAfterAdd, countBeforeAdd + 1); final Predicate<SecurityGroup> findTestGroup = new Predicate<SecurityGroup>() { @Override public boolean apply(SecurityGroup input) { return input.getName().equals(testGroup.getName()); } }; final SecurityGroup created = Iterables.find(afterAdd, findTestGroup); assertNotNull(created, "Did not find security group created as expected"); logger.info("Removing %s", testGroup.getName()); security.removeSecurityGroup(testGroup.getId()); logger.info("Loading security groups"); Set<SecurityGroup> afterRemove = security.listSecurityGroups(); final int sizeAfterRemove = afterRemove.size(); logger.info("Found %d security groups", sizeAfterRemove); assertEquals(sizeAfterRemove, countBeforeAdd); final Optional<SecurityGroup> removed = Iterables.tryFind(afterRemove, findTestGroup); assertTrue(!removed.isPresent(), "Did not remove test security group as expected"); } }
public void testRemoveSecurityGroupDoesNotExist() { HttpRequest listSecurityGroups = HttpRequest.builder().method("GET") .endpoint("http://localhost:8080/client/api") .addQueryParam("response", "json") .addQueryParam("command", "listSecurityGroups") .addQueryParam("listAll", "true") .addQueryParam("id", "14") .addQueryParam("apiKey", "APIKEY") .addQueryParam("signature", "pWQ30A6l5qh4eaNypGwM9FoLnUM=") .addHeader("Accept", "application/json") .build(); HttpResponse listSecurityGroupsResponse = HttpResponse.builder().statusCode(200) .payload(payloadFromResource("/getsecuritygroupresponse.json")) .build(); Map<HttpRequest, HttpResponse> requestResponseMap = ImmutableMap.<HttpRequest, HttpResponse> builder() .put(listTemplates, listTemplatesResponse) .put(listOsTypes, listOsTypesResponse) .put(listOsCategories, listOsCategoriesResponse) .put(listZones, listZonesResponse) .put(listServiceOfferings, listServiceOfferingsResponse) .put(listAccounts, listAccountsResponse) .put(listNetworks, listNetworksResponse) .put(listSecurityGroups, listSecurityGroupsResponse) .build(); SecurityGroupExtension extension = requestsSendResponses(requestResponseMap).getSecurityGroupExtension().get(); assertFalse(extension.removeSecurityGroup("14"), "Should not have found security group to remove"); }
@Test(groups = {"integration", "live"}, singleThreaded = true) public void testSecurityGroupCacheInvalidated() throws Exception { ComputeService computeService = view.getComputeService(); Optional<SecurityGroupExtension> securityGroupExtension = computeService.getSecurityGroupExtension(); assertTrue(securityGroupExtension.isPresent(), "security extension was not present"); final SecurityGroupExtension security = securityGroupExtension.get(); final SecurityGroup seedGroup = security.createSecurityGroup(secGroupNameToDelete, getNodeTemplate().getLocation()); boolean deleted = security.removeSecurityGroup(seedGroup.getId()); assertTrue(deleted, "just created security group failed deletion"); final SecurityGroup recreatedGroup = security.createSecurityGroup(secGroupNameToDelete, getNodeTemplate().getLocation()); // Makes sure the security group exists and is re-created and is not just returned from cache security.addIpPermission(IpPermission.builder() .fromPort(1000) .toPort(1000) .cidrBlock("1.1.1.1/32") .ipProtocol(IpProtocol.TCP) .build(), recreatedGroup); boolean deleted2 = security.removeSecurityGroup(recreatedGroup.getId()); assertTrue(deleted2, "just created security group failed deletion"); }
@Test(groups = {"integration", "live"}, singleThreaded = true) public void testSecurityGroupCacheInvalidatedWhenDeletedExternally() throws Exception { String testSecurityGroupName = secGroupNameToDelete + "-externally"; ComputeService computeService = view.getComputeService(); Optional<SecurityGroupExtension> securityGroupExtension = computeService.getSecurityGroupExtension(); assertTrue(securityGroupExtension.isPresent(), "security extension was not present"); final SecurityGroupExtension security = securityGroupExtension.get(); final SecurityGroup seedGroup = security.createSecurityGroup(testSecurityGroupName, getNodeTemplate().getLocation()); deleteSecurityGroupFromAnotherView(seedGroup); boolean deleted = security.removeSecurityGroup(seedGroup.getId()); assertFalse(deleted, "SG deleted externally so should've failed deletion"); final SecurityGroup recreatedGroup = security.createSecurityGroup(testSecurityGroupName, getNodeTemplate().getLocation()); // Makes sure the security group exists and is re-created and is not just returned from cache security.addIpPermission(IpPermission.builder() .fromPort(1000) .toPort(1000) .cidrBlock("1.1.1.1/32") .ipProtocol(IpProtocol.TCP) .build(), recreatedGroup); boolean deleted2 = security.removeSecurityGroup(recreatedGroup.getId()); assertTrue(deleted2, "just created security group failed deletion"); }
assertTrue(extension.removeSecurityGroup(new RegionAndName(region, "jclouds#some-group").slashEncode()));
assertTrue(extension.removeSecurityGroup("13"), "Did not remove security group");