package org.openstack.atlas.adapter.itest; import org.junit.AfterClass; import org.junit.Assert; import org.junit.BeforeClass; import org.junit.Test; import org.openstack.atlas.adapter.exceptions.InsufficientRequestException; import org.openstack.atlas.adapter.exceptions.RollBackException; import org.openstack.atlas.adapter.exceptions.StmRollBackException; import org.openstack.atlas.adapter.helpers.ZxtmNameBuilder; import org.openstack.atlas.service.domain.entities.LoadBalancer; import org.openstack.atlas.service.domain.entities.LoadBalancerProtocol; import org.rackspace.stingray.client.StingrayRestClient; import org.rackspace.stingray.client.exception.StingrayRestClientException; import org.rackspace.stingray.client.exception.StingrayRestClientObjectNotFoundException; public class UpdateProtocolITest extends STMTestBase { @BeforeClass public static void setupClass() throws InterruptedException { Thread.sleep(SLEEP_TIME_BETWEEN_TESTS); setupIvars(); createSimpleLoadBalancer(); } @AfterClass public static void tearDownClass() { removeLoadBalancer(); stmClient.destroy(); } //TODO: verify logic regarding protcol switching. Primarily switching from HTTP to Non-HTTP protocols. //These tests need to run in order -- HTTPS is the first test @Test public void updateProtocolToHTTPS() throws InsufficientRequestException, StingrayRestClientObjectNotFoundException, StingrayRestClientException, StmRollBackException { StingrayRestClient client = new StingrayRestClient(); String vsName = ZxtmNameBuilder.genVSName(lb); Assert.assertEquals(LoadBalancerProtocol.HTTP.name().toLowerCase(), client.getVirtualServer(vsName).getProperties().getBasic().getProtocol()); lb.setProtocol(LoadBalancerProtocol.HTTPS); stmAdapter.updateLoadBalancer(config, lb, new LoadBalancer(), null); Assert.assertEquals(LoadBalancerProtocol.HTTPS.name().toLowerCase(), client.getVirtualServer(vsName).getProperties().getBasic().getProtocol()); } //These tests need to run in order -- HTTP is the second test @Test public void updateProtocolToHTTP() throws InsufficientRequestException, StingrayRestClientObjectNotFoundException, StingrayRestClientException, StmRollBackException { StingrayRestClient client = new StingrayRestClient(); String vsName = ZxtmNameBuilder.genVSName(lb); Assert.assertEquals(LoadBalancerProtocol.HTTPS.name().toLowerCase(), client.getVirtualServer(vsName).getProperties().getBasic().getProtocol()); lb.setProtocol(LoadBalancerProtocol.HTTP); stmAdapter.updateLoadBalancer(config, lb, new LoadBalancer(), null); Assert.assertEquals(LoadBalancerProtocol.HTTP.name().toLowerCase(), client.getVirtualServer(vsName).getProperties().getBasic().getProtocol()); } }