From f0265b3c4ea3df75960f58d0f4ff0165bb580220 Mon Sep 17 00:00:00 2001 From: Stuart Hendren Date: Tue, 12 Aug 2014 16:34:36 +0100 Subject: [PATCH] JCLOUDS-661: Adding a test for single-port firewall rules --- .../BaseSecurityGroupExtensionLiveTest.java | 57 +++++++++++++--------- 1 file changed, 35 insertions(+), 22 deletions(-) diff --git a/compute/src/test/java/org/jclouds/compute/extensions/internal/BaseSecurityGroupExtensionLiveTest.java b/compute/src/test/java/org/jclouds/compute/extensions/internal/BaseSecurityGroupExtensionLiveTest.java index 5c461eb..258b8cb 100644 --- a/compute/src/test/java/org/jclouds/compute/extensions/internal/BaseSecurityGroupExtensionLiveTest.java +++ b/compute/src/test/java/org/jclouds/compute/extensions/internal/BaseSecurityGroupExtensionLiveTest.java @@ -135,21 +135,18 @@ public void testAddIpPermission() { SecurityGroup group = optGroup.get(); - IpPermission.Builder builder = IpPermission.builder(); - - builder.ipProtocol(IpProtocol.TCP); - builder.fromPort(10); - builder.toPort(20); - builder.cidrBlock("0.0.0.0/0"); + IpPermission portRangeIpPermission = createPortRangePermission(); + IpPermission singlePortIpPermission = createSinglePortPermission(); - IpPermission perm = builder.build(); + Set expectedPermissions = ImmutableSet.of(portRangeIpPermission, singlePortIpPermission); - SecurityGroup newGroup = securityGroupExtension.get().addIpPermission(perm, group); + SecurityGroup onePermissionAdded = securityGroupExtension.get().addIpPermission(portRangeIpPermission, group); + SecurityGroup twoPermissionsAdded = securityGroupExtension.get().addIpPermission(singlePortIpPermission, + onePermissionAdded); - assertEquals(Iterables.getOnlyElement(newGroup.getIpPermissions()), perm, - "Expecting IpPermission " + perm + " but group was " + newGroup); + assertEquals(twoPermissionsAdded.getIpPermissions(), expectedPermissions); } - + @Test(groups = { "integration", "live" }, singleThreaded = true, dependsOnMethods = "testAddIpPermission") public void testRemoveIpPermission() { skipIfSecurityGroupsNotSupported(); @@ -165,19 +162,14 @@ public void testRemoveIpPermission() { SecurityGroup group = optGroup.get(); - IpPermission.Builder builder = IpPermission.builder(); - - builder.ipProtocol(IpProtocol.TCP); - builder.fromPort(10); - builder.toPort(20); - builder.cidrBlock("0.0.0.0/0"); - - IpPermission perm = builder.build(); + IpPermission portRangeIpPermission = createPortRangePermission(); + IpPermission singlePortIpPermission = createSinglePortPermission(); - SecurityGroup newGroup = securityGroupExtension.get().removeIpPermission(perm, group); + SecurityGroup newGroup = securityGroupExtension.get().removeIpPermission(portRangeIpPermission, group); + SecurityGroup emptyGroup = securityGroupExtension.get().removeIpPermission(singlePortIpPermission, newGroup); - assertEquals(Iterables.size(newGroup.getIpPermissions()), 0, - "Group should have no permissions, but has " + Iterables.size(newGroup.getIpPermissions())); + assertEquals(Iterables.size(emptyGroup.getIpPermissions()), 0, "Group should have no permissions, but has " + + Iterables.size(emptyGroup.getIpPermissions())); } @Test(groups = { "integration", "live" }, singleThreaded = true, dependsOnMethods = "testRemoveIpPermission") @@ -355,6 +347,27 @@ public boolean apply(SecurityGroup input) { }); } + private IpPermission createPortRangePermission() { + IpPermission.Builder builder = IpPermission.builder(); + + builder.ipProtocol(IpProtocol.TCP); + builder.fromPort(10); + builder.toPort(20); + builder.cidrBlock("0.0.0.0/0"); + + return builder.build(); + } + + private IpPermission createSinglePortPermission() { + IpPermission.Builder builder = IpPermission.builder(); + + builder.ipProtocol(IpProtocol.UDP); + builder.fromPort(41); + builder.toPort(41); + builder.cidrBlock("1.1.1.1/32"); + + return builder.build(); + } private void cleanup() { if (securityGroupsSupported) { -- 2.0.3