@Test
public void testApplyWithGroup() {
NovaSecurityGroupInRegionToSecurityGroup parser = createGroupParser();
final org.jclouds.openstack.nova.v2_0.domain.SecurityGroup otherGroup = securityGroupWithCidr();
SecurityGroupInRegion origGroup = new SecurityGroupInRegion(securityGroupWithGroup(), region.getId(), allGroups);
SecurityGroup newGroup = parser.apply(origGroup);
assertEquals(newGroup.getId(), origGroup.getRegion() + "/" + origGroup.getSecurityGroup().getId());
assertEquals(newGroup.getProviderId(), origGroup.getSecurityGroup().getId());
assertEquals(newGroup.getName(), origGroup.getSecurityGroup().getName());
assertEquals(newGroup.getOwnerId(), origGroup.getSecurityGroup().getTenantId());
final IpPermission permission = Iterables.getOnlyElement(newGroup.getIpPermissions());
assertEquals(Iterables.getOnlyElement(permission.getGroupIds()), region.getId() + "/" + otherGroup.getId());
assertEquals(permission.getFromPort(), 10);
assertEquals(permission.getToPort(), 20);
assertTrue(permission.getCidrBlocks().isEmpty());
assertEquals(newGroup.getLocation().getId(), origGroup.getRegion());
}