@Test public void testRuleGroupMatches() { assertTrue(Iterables.any(group().getIngressRules(), ruleGroupMatches("tcp", 22, 22, ImmutableMultimap.<String, String>builder().put("adrian", "adriancole").build()))); assertFalse(Iterables.any(group().getIngressRules(), ruleGroupMatches("tcp", 22, 22, ImmutableMultimap.<String, String>builder().put("adrian", "somegroup").build()))); assertFalse(Iterables.any(group().getIngressRules(), ruleGroupMatches("tcp", 22, 22, ImmutableMultimap.<String, String>builder().put("someuser", "adriancole").build()))); } }
@Override public SecurityGroup removeIpPermission(IpPermission ipPermission, SecurityGroup group) { checkNotNull(group, "group"); checkNotNull(ipPermission, "ipPermission"); String id = checkNotNull(group.getId(), "group.getId()"); org.jclouds.cloudstack.domain.SecurityGroup rawGroup = api.getSecurityGroupApi() .getSecurityGroup(id); if (!ipPermission.getCidrBlocks().isEmpty()) { for (IngressRule rule : filter(rawGroup.getIngressRules(), ruleCidrMatches(ipPermission.getIpProtocol().toString(), ipPermission.getFromPort(), ipPermission.getToPort(), ipPermission.getCidrBlocks()))) { jobComplete.apply(api.getSecurityGroupApi().revokeIngressRule(rule.getId())); } } if (!ipPermission.getTenantIdGroupNamePairs().isEmpty()) { for (IngressRule rule : filter(rawGroup.getIngressRules(), ruleGroupMatches(ipPermission.getIpProtocol().toString(), ipPermission.getFromPort(), ipPermission.getToPort(), ipPermission.getTenantIdGroupNamePairs()))) { jobComplete.apply(api.getSecurityGroupApi().revokeIngressRule(rule.getId())); } } return getSecurityGroupById(id); }