Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package pl.ovoo.vpabx.test.redirect.group;
- import org.junit.Before;
- import org.junit.Test;
- import org.junit.experimental.categories.Category;
- import org.junit.runner.RunWith;
- import org.springframework.boot.test.context.SpringBootTest;
- import org.springframework.test.context.junit4.SpringRunner;
- import pl.ovoo.vpabx.atmn.AtmnTest;
- import pl.ovoo.vpabx.atmn.category.AtmnTestCategory;
- import pl.ovoo.vpabx.core.utility.announcements.AnnouncementMediaIdType;
- import pl.ovoo.vpabx.util.*;
- import pl.ovoo.vpbx.dao.base.SqlScriptLoader;
- import java.io.IOException;
- import java.nio.file.Files;
- import java.nio.file.Paths;
- import java.sql.SQLException;
- @RunWith(SpringRunner.class)
- @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.DEFINED_PORT)
- public class RedirectToGroupWithCallQueuingTest extends PlayApiBaseTest {
- @Before
- public void beforeTest() throws IOException, SQLException {
- SqlScriptLoader.loadSqlScript(connection, "dbs/schema.sql");
- SqlScriptLoader.loadSqlScript(connection, "dbs/enums-data.sql");
- SqlScriptLoader.loadSqlScript(connection, "dbs/global-parameters-data.sql");
- SqlScriptLoader.loadSqlScript(connection, "base-sql/tenant-data.sql");
- SqlScriptLoader.loadSqlScript(connection, "redirect-test-1/sql/service-data.sql");
- SqlScriptLoader.loadSqlScript(connection, "redirect-test-1/sql/incoming-number-data.sql");
- SqlScriptLoader.loadSqlScript(connection, "redirect-test-1/sql/announcement-data.sql");
- }
- /**
- * Redirect Test -
- * Redirect To Group
- * Sequence Mode
- * A accepts call from X
- * B accepts call from Y
- */
- @Category({AtmnTestCategory.class, RedirectToGroupWithCallQueuingTest.class})
- @Test
- public void redirectToSequenceGroupWithCallQueuingSuccess() throws Exception{
- SqlScriptLoader.loadSqlScript(connection, "redirect-test-1/sql/users-data-sequence-group.sql");
- SqlScriptLoader.loadSqlScript(connection, "redirect-test-1/sql/scenario-redirect-6-data.sql");
- ParticipantInfo external1 = ParticipantInfo.of("external1.vap-wsgw-cc-5.1", "48790186684");
- ParticipantInfo external1_VPABX = ParticipantInfo.of("VPABX1.vap-wsgw-cc-5.1", "48790186687");
- ParticipantInfo external1_VPABX_out = ParticipantInfo.of("VPABX_ext1.vap-wsgw-cc-5.1", "48790186687", "4879018684");
- ParticipantInfo external2 = ParticipantInfo.of("external2.vap-wsgw-cc-5.1", "48729080951");
- ParticipantInfo external2_VPABX = ParticipantInfo.of("VPABX2.vap-wsgw-cc-5.1", "48790186687");
- ParticipantInfo external2_VPABX_out = ParticipantInfo.of("VPABX_ext2.vap-wsgw-cc-5.1", "48790186687", "48729080951");
- ParticipantInfo out_called_C = ParticipantInfo.of("CCC.G2.vap-wsgw-cc-5.1", "48900900102");
- ParticipantInfo out_called_D = ParticipantInfo.of("DDD.G2.vap-wsgw-cc-5.1", "48900900103");
- CallSessionInfo external1_VPABX_session = CallSessionInfo.of(this, "XXX-VPABX-session.vap-wsgw-cc-5.1", external1, external1_VPABX);
- CallSessionInfo external1_C_session = CallSessionInfo.of(this, "XXX-VPABX-CCC-session.vap-wsgw-cc-5.1", external1_VPABX_out, out_called_C);
- CallSessionInfo external2_VPABX_session = CallSessionInfo.of(this, "YYY-VPABX-session.vap-wsgw-cc-5.1", external2, external2_VPABX);
- CallSessionInfo external2_D_session = CallSessionInfo.of(this, "YYY-VPABX-DDD-session.vap-wsgw-cc-5.1", external2_VPABX_out, out_called_D);
- external1_VPABX_session.addSubSessions(out_called_C);
- // A call to VPABX
- external1_VPABX_session.sendCallDirectionMT_check200DeferredResponse_NoDTMF();
- external1_VPABX_session.waitForConnectToResource_NoDTMF_send204Response();
- external1_VPABX_session.sendConnectedToResource_check204Response();
- external1_VPABX_session.waitForAudioMessageStart_send201Pending("http://url.annoucements.com/moh.mp3", AnnouncementMediaIdType.MUSIC_ON_HOLD.name(),
- ParticipantType.CALLING);
- external1_VPABX_session.waitForAccessibilityStatus_send200(out_called_C, AccessibilityStatus.REACHABLE);
- external1_VPABX_session.waitForCallOut_send201(external1_C_session);
- external1_C_session.sendRinging_check204Response();
- external2_VPABX_session.addSubSessions(out_called_D);
- external2_VPABX_session.sendCallDirectionMT_check200DeferredResponse_NoDTMF();
- external2_VPABX_session.waitForConnectToResource_NoDTMF_send204Response();
- external2_VPABX_session.sendConnectedToResource_check204Response();
- external2_VPABX_session.waitForAudioMessageStart_send201Pending("http://url.annoucements.com/moh.mp3", AnnouncementMediaIdType.MUSIC_ON_HOLD.name(),
- ParticipantType.CALLING);
- external1_C_session.sendAnswered_check204Response();
- //testHttpServer.clearSubSessionResolvers();
- external1_VPABX_session.waitForAudioMessageStop_send204Response(ParticipantType.CALLING);
- external1_VPABX_session.sendAudioTerminated_check204Response(ParticipantType.CALLING);
- external1_VPABX_session.waitForTransfer_send303Response(ParticipantType.CALLING, external1_C_session, ParticipantType.CALLING);
- Thread.sleep(4_000);
- external2_VPABX_session.waitForAccessibilityStatus_send200(out_called_D, AccessibilityStatus.REACHABLE);
- external2_VPABX_session.waitForCallOut_send201(external2_D_session);
- external2_D_session.sendRinging_check204Response();
- external2_D_session.sendAnswered_check204Response();
- testHttpServer.clearSubSessionResolvers();
- external2_VPABX_session.waitForAudioMessageStop_send204Response(ParticipantType.CALLING);
- external2_VPABX_session.sendAudioTerminated_check204Response(ParticipantType.CALLING);
- external2_VPABX_session.waitForTransfer_send303Response(ParticipantType.CALLING, external2_D_session, ParticipantType.CALLING);
- Thread.sleep(2_000);
- // X disconnects
- external1_C_session.sendDisconnected_check204Response(ParticipantType.CALLED);
- external1_C_session.waitForDisconnect_send204Response();
- external1_C_session.sendDisconnectedApplication_check204Response();
- Thread.sleep(2_000);
- // Y disconnects
- external2_D_session.sendDisconnected_check204Response(ParticipantType.CALLED);
- external2_D_session.waitForDisconnect_send204Response();
- external2_D_session.sendDisconnectedApplication_check204Response();
- Thread.sleep(2_000);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement