package vnet.sms.gateway.server.framework; import org.junit.Ignore; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Value; import org.springframework.test.annotation.DirtiesContext; import org.springframework.test.context.ActiveProfiles; import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; import vnet.sms.common.messages.Msisdn; import vnet.sms.common.messages.Sms; import vnet.sms.gateway.server.framework.test.IntegrationTestClient; @Ignore("To be executed manually") @RunWith(SpringJUnit4ClassRunner.class) @ActiveProfiles("itest") @DirtiesContext(classMode = DirtiesContext.ClassMode.AFTER_CLASS) @ContextConfiguration({ "classpath:META-INF/services/gateway-server-application-context.xml", "classpath:META-INF/services/gateway-server-authentication-manager-context.xml", "classpath:META-INF/services/gateway-server-jms-client-context.xml", "classpath:META-INF/services/gateway-server-shell-context.xml", "classpath*:META-INF/module/module-context.xml", "classpath:META-INF/itest/itest-gateway-server-embedded-activemq-broker-context.xml", "classpath:META-INF/itest/itest-serialization-transport-plugin-context.xml", "classpath:META-INF/itest/itest-test-client-context.xml", "classpath:META-INF/itest/itest-test-jms-listener-context.xml", "classpath:META-INF/itest/itest-gateway-server-description-context.xml" }) public class RemoteShellExploration { @Value("#{ '${gateway.server.host}' }") private String serverHost; @Value("#{ '${gateway.server.port}' }") private int serverPort; @Test public final void exploreShell() throws Throwable { final IntegrationTestClient testClient1 = newClient(); testClient1.connect(); testClient1.login(1, "test-client-1", "password"); final IntegrationTestClient testClient2 = newClient(); testClient2.connect(); testClient2.login(2, "test-client-2", "password"); final IntegrationTestClient testClient3 = newClient(); testClient3.connect(); testClient3.login(3, "test-client-3", "password"); for (int i = 0; i < 100000000; i++) { final Sms sms = new Sms(new Msisdn("016567543" + i), new Msisdn( "016567543" + i), "message:" + i); testClient1.sendMessage(i, sms); testClient2.sendMessage(i, sms); testClient3.sendMessage(i, sms); } Thread.sleep(600000L); testClient3.disconnect(); testClient2.disconnect(); testClient1.disconnect(); } private IntegrationTestClient newClient() { return new IntegrationTestClient(this.serverHost, this.serverPort); } }