package com.sequenceiq.it.cloudbreak; import java.util.HashMap; import java.util.Map; import org.springframework.beans.factory.annotation.Value; import org.springframework.util.StringUtils; import org.testng.Assert; import org.testng.annotations.Optional; import org.testng.annotations.Parameters; import org.testng.annotations.Test; import com.sequenceiq.cloudbreak.api.model.NetworkRequest; public class OpenStackNetworkCreationTest extends AbstractCloudbreakIntegrationTest { @Value("${integrationtest.openstack.publicNetId}") private String defaultPublicNetId; @Test @Parameters({ "networkName", "subnetCIDR", "publicNetId" }) public void testOpenstackNetworkCreation(@Optional("it-openstack-network") String networkName, @Optional("10.0.36.0/24") String subnetCIDR, @Optional("") String publicNetId) throws Exception { // GIVEN publicNetId = getPublicNetId(publicNetId, defaultPublicNetId); // WHEN NetworkRequest networkRequest = new NetworkRequest(); networkRequest.setDescription("OpenStack network for integration testing"); networkRequest.setName(networkName); networkRequest.setSubnetCIDR(subnetCIDR); Map<String, Object> map = new HashMap<>(); map.put("publicNetId", publicNetId); networkRequest.setParameters(map); networkRequest.setCloudPlatform("OPENSTACK"); String id = getCloudbreakClient().networkEndpoint().postPrivate(networkRequest).getId().toString(); // THEN Assert.assertNotNull(id); getItContext().putContextParam(CloudbreakITContextConstants.NETWORK_ID, id, true); } private String getPublicNetId(String publicNetId, String defaultPublicNetId) { if ("__empty__".equals(publicNetId)) { publicNetId = ""; } else if (StringUtils.isEmpty(publicNetId)) { publicNetId = defaultPublicNetId; } return publicNetId; } }