Advertisement
Guest User

Untitled

a guest
Oct 23rd, 2019
92
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 6.52 KB | None | 0 0
  1. package pl.ovoo.vpabx.test.redirect.group;
  2.  
  3. import org.junit.Before;
  4. import org.junit.Test;
  5. import org.junit.experimental.categories.Category;
  6. import org.junit.runner.RunWith;
  7. import org.springframework.boot.test.context.SpringBootTest;
  8. import org.springframework.test.context.junit4.SpringRunner;
  9. import pl.ovoo.vpabx.atmn.AtmnTest;
  10. import pl.ovoo.vpabx.atmn.category.AtmnTestCategory;
  11. import pl.ovoo.vpabx.core.utility.announcements.AnnouncementMediaIdType;
  12. import pl.ovoo.vpabx.util.*;
  13. import pl.ovoo.vpbx.dao.base.SqlScriptLoader;
  14.  
  15. import java.io.IOException;
  16. import java.nio.file.Files;
  17. import java.nio.file.Paths;
  18. import java.sql.SQLException;
  19.  
  20. @RunWith(SpringRunner.class)
  21. @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.DEFINED_PORT)
  22. public class RedirectToGroupWithCallQueuingTest extends PlayApiBaseTest {
  23.  
  24.     @Before
  25.     public void beforeTest() throws IOException, SQLException {
  26.  
  27.         SqlScriptLoader.loadSqlScript(connection, "dbs/schema.sql");
  28.         SqlScriptLoader.loadSqlScript(connection, "dbs/enums-data.sql");
  29.         SqlScriptLoader.loadSqlScript(connection, "dbs/global-parameters-data.sql");
  30.         SqlScriptLoader.loadSqlScript(connection, "base-sql/tenant-data.sql");
  31.         SqlScriptLoader.loadSqlScript(connection, "redirect-test-1/sql/service-data.sql");
  32.         SqlScriptLoader.loadSqlScript(connection, "redirect-test-1/sql/incoming-number-data.sql");
  33.         SqlScriptLoader.loadSqlScript(connection, "redirect-test-1/sql/announcement-data.sql");
  34.  
  35.     }
  36.  
  37.  
  38.     /**
  39.      * Redirect Test -
  40.      * Redirect To Group
  41.      * Sequence Mode
  42.      * A accepts call from X
  43.      * B accepts call from Y
  44.      */
  45.     @Category({AtmnTestCategory.class, RedirectToGroupWithCallQueuingTest.class})
  46.     @Test
  47.     public void redirectToSequenceGroupWithCallQueuingSuccess() throws Exception{
  48.         SqlScriptLoader.loadSqlScript(connection, "redirect-test-1/sql/users-data-sequence-group.sql");
  49.         SqlScriptLoader.loadSqlScript(connection, "redirect-test-1/sql/scenario-redirect-6-data.sql");
  50.  
  51.         ParticipantInfo external1 = ParticipantInfo.of("external1.vap-wsgw-cc-5.1", "48790186684");
  52.         ParticipantInfo external1_VPABX = ParticipantInfo.of("VPABX1.vap-wsgw-cc-5.1", "48790186687");
  53.         ParticipantInfo external1_VPABX_out = ParticipantInfo.of("VPABX_ext1.vap-wsgw-cc-5.1", "48790186687", "4879018684");
  54.         ParticipantInfo external2 = ParticipantInfo.of("external2.vap-wsgw-cc-5.1", "48729080951");
  55.         ParticipantInfo external2_VPABX = ParticipantInfo.of("VPABX2.vap-wsgw-cc-5.1", "48790186687");
  56.         ParticipantInfo external2_VPABX_out = ParticipantInfo.of("VPABX_ext2.vap-wsgw-cc-5.1", "48790186687", "48729080951");
  57.  
  58.  
  59.         ParticipantInfo out_called_C = ParticipantInfo.of("CCC.G2.vap-wsgw-cc-5.1", "48900900102");
  60.         ParticipantInfo out_called_D = ParticipantInfo.of("DDD.G2.vap-wsgw-cc-5.1", "48900900103");
  61.  
  62.  
  63.         CallSessionInfo external1_VPABX_session = CallSessionInfo.of(this, "XXX-VPABX-session.vap-wsgw-cc-5.1", external1, external1_VPABX);
  64.         CallSessionInfo external1_C_session = CallSessionInfo.of(this, "XXX-VPABX-CCC-session.vap-wsgw-cc-5.1", external1_VPABX_out, out_called_C);
  65.         CallSessionInfo external2_VPABX_session = CallSessionInfo.of(this, "YYY-VPABX-session.vap-wsgw-cc-5.1", external2, external2_VPABX);
  66.         CallSessionInfo external2_D_session = CallSessionInfo.of(this, "YYY-VPABX-DDD-session.vap-wsgw-cc-5.1", external2_VPABX_out, out_called_D);
  67.  
  68.         external1_VPABX_session.addSubSessions(out_called_C);
  69.  
  70.         // A call to VPABX
  71.         external1_VPABX_session.sendCallDirectionMT_check200DeferredResponse_NoDTMF();
  72.         external1_VPABX_session.waitForConnectToResource_NoDTMF_send204Response();
  73.         external1_VPABX_session.sendConnectedToResource_check204Response();
  74.         external1_VPABX_session.waitForAudioMessageStart_send201Pending("http://url.annoucements.com/moh.mp3", AnnouncementMediaIdType.MUSIC_ON_HOLD.name(),
  75.                 ParticipantType.CALLING);
  76.  
  77.         external1_VPABX_session.waitForAccessibilityStatus_send200(out_called_C, AccessibilityStatus.REACHABLE);
  78.         external1_VPABX_session.waitForCallOut_send201(external1_C_session);
  79.  
  80.         external1_C_session.sendRinging_check204Response();
  81.  
  82.  
  83.         external2_VPABX_session.addSubSessions(out_called_D);
  84.  
  85.         external2_VPABX_session.sendCallDirectionMT_check200DeferredResponse_NoDTMF();
  86.         external2_VPABX_session.waitForConnectToResource_NoDTMF_send204Response();
  87.         external2_VPABX_session.sendConnectedToResource_check204Response();
  88.         external2_VPABX_session.waitForAudioMessageStart_send201Pending("http://url.annoucements.com/moh.mp3", AnnouncementMediaIdType.MUSIC_ON_HOLD.name(),
  89.                 ParticipantType.CALLING);
  90.  
  91.         external1_C_session.sendAnswered_check204Response();
  92.  
  93.         //testHttpServer.clearSubSessionResolvers();
  94.  
  95.         external1_VPABX_session.waitForAudioMessageStop_send204Response(ParticipantType.CALLING);
  96.         external1_VPABX_session.sendAudioTerminated_check204Response(ParticipantType.CALLING);
  97.         external1_VPABX_session.waitForTransfer_send303Response(ParticipantType.CALLING, external1_C_session, ParticipantType.CALLING);
  98.         Thread.sleep(4_000);
  99.  
  100.  
  101.         external2_VPABX_session.waitForAccessibilityStatus_send200(out_called_D, AccessibilityStatus.REACHABLE);
  102.         external2_VPABX_session.waitForCallOut_send201(external2_D_session);
  103.  
  104.         external2_D_session.sendRinging_check204Response();
  105.         external2_D_session.sendAnswered_check204Response();
  106.  
  107.         testHttpServer.clearSubSessionResolvers();
  108.  
  109.         external2_VPABX_session.waitForAudioMessageStop_send204Response(ParticipantType.CALLING);
  110.         external2_VPABX_session.sendAudioTerminated_check204Response(ParticipantType.CALLING);
  111.         external2_VPABX_session.waitForTransfer_send303Response(ParticipantType.CALLING, external2_D_session, ParticipantType.CALLING);
  112.         Thread.sleep(2_000);
  113.  
  114.         // X disconnects
  115.         external1_C_session.sendDisconnected_check204Response(ParticipantType.CALLED);
  116.         external1_C_session.waitForDisconnect_send204Response();
  117.         external1_C_session.sendDisconnectedApplication_check204Response();
  118.         Thread.sleep(2_000);
  119.         // Y disconnects
  120.         external2_D_session.sendDisconnected_check204Response(ParticipantType.CALLED);
  121.         external2_D_session.waitForDisconnect_send204Response();
  122.         external2_D_session.sendDisconnectedApplication_check204Response();
  123.         Thread.sleep(2_000);
  124.  
  125.  
  126.     }
  127. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement