@Test(dependsOnMethods = "testCreatePortForwardingRule") public void testListPortForwardingRules() throws Exception { Set<PortForwardingRule> response = client.getFirewallApi().listPortForwardingRules(); assert null != response; assertTrue(response.size() > 0); for (final PortForwardingRule rule : response) { checkPortForwardingRule(rule); } }
public Maybe<PublicIPAddress> findPublicIpAddressByVmId(final String vmId) { Set<PortForwardingRule> portForwardingRules = getCloudstackGlobalClient().getFirewallApi().listPortForwardingRules(); Optional<PortForwardingRule> pfr = Iterables.tryFind(portForwardingRules, new Predicate<PortForwardingRule>() { @Override public boolean apply(PortForwardingRule portForwardingRule) { return portForwardingRule.getVirtualMachineId().equals(vmId); } }); if (pfr.isPresent()) { return Maybe.of(getCloudstackGlobalClient().getAddressApi().getPublicIPAddress(pfr.get().getIPAddressId())); } else { return Maybe.absent(); } } }
public void testListPortForwardingRulesWhenReponseIs404() { FirewallApi client = requestSendsResponse( HttpRequest.builder() .method("GET") .endpoint("http://localhost:8080/client/api") .addQueryParam("response", "json") .addQueryParam("command", "listPortForwardingRules") .addQueryParam("listAll", "true") .addQueryParam("apiKey", "identity") .addQueryParam("signature", "8SXGJZWdcJfVz4V90Pyod12x9dM=") .addHeader("Accept", "application/json") .build(), HttpResponse.builder() .statusCode(404) .build()); assertEquals(client.listPortForwardingRules(), ImmutableSet.of()); }
public void testListPortForwardingRulesWhenResponseIs2xx() { FirewallApi client = requestSendsResponse( HttpRequest.builder() .method("GET") .endpoint("http://localhost:8080/client/api") .addQueryParam("response", "json") .addQueryParam("command", "listPortForwardingRules") .addQueryParam("listAll", "true") .addQueryParam("apiKey", "identity") .addQueryParam("signature", "8SXGJZWdcJfVz4V90Pyod12x9dM=") .addHeader("Accept", "application/json") .build(), HttpResponse.builder() .statusCode(200) .payload(payloadFromResource("/listportforwardingrulesresponse.json")) .build()); Set<String> cidrs = ImmutableSet.of("0.0.0.0/1", "128.0.0.0/1"); assertEquals(client.listPortForwardingRules(), ImmutableSet.<PortForwardingRule>of( PortForwardingRule.builder().id("18").privatePort(22).protocol(PortForwardingRule.Protocol.TCP) .publicPort(22).virtualMachineId("89").virtualMachineName("i-3-89-VM").IPAddressId("34") .IPAddress("72.52.126.63").state(PortForwardingRule.State.ACTIVE).build(), PortForwardingRule.builder().id("15").privatePort(22).protocol(PortForwardingRule.Protocol.TCP) .publicPort(2022).virtualMachineId("3").virtualMachineName("i-3-3-VM").IPAddressId("3") .IPAddress("72.52.126.32").state(PortForwardingRule.State.ACTIVE) .CIDRs(cidrs).tags(Tag.builder().account("1").domain("ROOT").domainId("1").key("some-tag").resourceId("15") .resourceType(Tag.ResourceType.PORT_FORWARDING_RULE).value("some-value").build()).build() ) ); }