Advertisement
Guest User

Untitled

a guest
Nov 27th, 2015
62
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 8.55 KB | None | 0 0
  1. package com.ubikvoip.billing.server.api.workers;
  2.  
  3. import java.math.BigDecimal;
  4. import java.util.ArrayList;
  5.  
  6. import junit.framework.TestCase;
  7.  
  8. import org.junit.After;
  9. import org.junit.Before;
  10. import org.junit.Test;
  11.  
  12. import com.ubikvoip.billing.server.api.message.Message;
  13. import com.ubikvoip.billing.server.api.message.reply.FailureReply;
  14. import com.ubikvoip.billing.server.api.message.reply.SuccessReply;
  15. import com.ubikvoip.billing.server.api.message.request.AddTransferRequest;
  16. import com.ubikvoip.billing.server.client.Client;
  17. import com.ubikvoip.billing.server.client.ClientProviderFactory;
  18. import com.ubikvoip.billing.server.com.APIClientTestImpl;
  19. import com.ubikvoip.billing.server.config.ConfigFactory;
  20. import com.ubikvoip.billing.server.daemon.ApiDaemon;
  21. import com.ubikvoip.billing.server.db.CustomPGSQLTest;
  22. import com.ubikvoip.billing.server.db.DatabaseHelper;
  23. import com.ubikvoip.billing.server.invoice.service.BillingService;
  24. import com.ubikvoip.billing.server.invoice.service.TransferService.Transfer;
  25. import com.ubikvoip.billing.server.mail.MailServerTest;
  26. import com.ubikvoip.billing.server.operation.Operation;
  27. import com.ubikvoip.billing.server.session.BillingSessionProviderFactory;
  28. import com.ubikvoip.billing.server.utils.Hash;
  29.  
  30. public class TestAddTransferRequestWorker extends TestCase
  31. {
  32.  
  33.     private static final String TEST_HOST = "localhost";
  34.     private static final int TEST_PORT = 1337;
  35.     private static final String TEST_CLIENT_ID = "JUNIT";
  36.     private static final String TEST_PASSWORD = "JUNIT_PASSWORD";
  37.  
  38.     private APIClientTestImpl apiClient = null;
  39.  
  40.     @Before
  41.     protected void setUp()
  42.     {
  43.         try
  44.         {
  45.             DatabaseHelper.bootstrap();
  46.             MailServerTest.reset();
  47.             ApiDaemon.doStart();
  48.            
  49.             if (this.apiClient != null)
  50.             {
  51.                 this.apiClient.close();
  52.                 this.apiClient = null;
  53.             }
  54.  
  55.             this.apiClient = new APIClientTestImpl(TEST_HOST, TEST_PORT, TEST_CLIENT_ID, Hash.getMD5(TEST_PASSWORD));
  56.  
  57.             CustomPGSQLTest t = CustomPGSQLTest.getInstance();
  58.             t.customQuery("DELETE FROM billing_session");
  59.             t.customQuery("DELETE FROM users");
  60.             t.customQuery("DELETE FROM client");
  61.             t.customQuery("DELETE FROM service_client_rate");
  62.  
  63.             Client client = new Client();
  64.             client.setId(TEST_CLIENT_ID);
  65.             ClientProviderFactory.getInstance().addClient(client);
  66.  
  67.             BillingSessionProviderFactory.getInstance().addUser(
  68.                     TEST_CLIENT_ID, Hash.getMD5(TEST_PASSWORD), TEST_CLIENT_ID);
  69.         }
  70.         catch (Exception e)
  71.         {
  72.             fail(e.getMessage());
  73.         }
  74.  
  75.     }
  76.  
  77.     @After
  78.     protected void tearDown()
  79.     {
  80.         try
  81.         {
  82.             MailServerTest.reset();
  83.            
  84.             if (this.apiClient != null)
  85.             {
  86.                 this.apiClient.close();
  87.                 this.apiClient = null;
  88.             }
  89.  
  90.             CustomPGSQLTest t = CustomPGSQLTest.getInstance();
  91.             t.customQuery("DELETE FROM billing_session");
  92.             t.customQuery("DELETE FROM users");
  93.             t.customQuery("DELETE FROM client");
  94.             t.customQuery("DELETE FROM service_client_rate");
  95.  
  96.             ConfigFactory.getInstance().clear();
  97.  
  98.         }
  99.         catch (Exception e)
  100.         {
  101.             fail(e.getMessage());
  102.         }
  103.     }
  104.  
  105.     @Test
  106.     public void testWithNoData()
  107.     {
  108.         try
  109.         {
  110.             String session_id = this.apiClient.doInitConnection();
  111.  
  112.             AddTransferRequest request = new AddTransferRequest();
  113.             request.setTransferList(new ArrayList<Transfer>());
  114.  
  115.             request.setSessionID(session_id);
  116.  
  117.             ArrayList<Class<? extends Message>> expected_replies = new ArrayList<>();
  118.  
  119.             expected_replies.add(SuccessReply.class);
  120.  
  121.             Message reply = this.apiClient.sendToServerAndWaitForReply(request, expected_replies);
  122.  
  123.             // Nothing to add
  124.             assertTrue(reply instanceof SuccessReply);
  125.  
  126.             this.apiClient.doClose(session_id);
  127.  
  128.             assertEquals(0, MailServerTest.getReceivedMessages().length);
  129.         }
  130.         catch (Exception e)
  131.         {
  132.             fail(e.getMessage());
  133.         }
  134.     }
  135.  
  136.     @Test
  137.     public void testWithNoRate()
  138.     {
  139.         try
  140.         {
  141.             String session_id = this.apiClient.doInitConnection();
  142.  
  143.             ArrayList<Transfer> transferList = new ArrayList<>();
  144.             transferList.add(new Transfer("300", "4182661111"));
  145.             AddTransferRequest request = new AddTransferRequest();
  146.             request.setTransferList(transferList);
  147.  
  148.             request.setSessionID(session_id);
  149.  
  150.             ArrayList<Class<? extends Message>> expected_replies = new ArrayList<>();
  151.  
  152.             expected_replies.add(FailureReply.class);
  153.  
  154.             Message reply = this.apiClient.sendToServerAndWaitForReply(request, expected_replies);
  155.  
  156.             // Nothing to add
  157.             assertTrue(reply instanceof FailureReply);
  158.  
  159.             this.apiClient.doClose(session_id);
  160.  
  161.             assertEquals(0, MailServerTest.getReceivedMessages().length);
  162.         }
  163.         catch (Exception e)
  164.         {
  165.             fail(e.getMessage());
  166.         }
  167.     }
  168.  
  169.     @Test
  170.     public void testSingleTransfer()
  171.     {
  172.         try
  173.         {
  174.             ClientProviderFactory.getInstance().addRate(
  175.                     TEST_CLIENT_ID, BillingService.TRANSFER, Operation.ADD, "", new BigDecimal(0));
  176.  
  177.             String session_id = this.apiClient.doInitConnection();
  178.  
  179.             ArrayList<Transfer> transferList = new ArrayList<>();
  180.             transferList.add(new Transfer("300", "4182661111"));
  181.             AddTransferRequest request = new AddTransferRequest();
  182.             request.setTransferList(transferList);
  183.  
  184.             request.setSessionID(session_id);
  185.  
  186.             ArrayList<Class<? extends Message>> expected_replies = new ArrayList<>();
  187.  
  188.             expected_replies.add(SuccessReply.class);
  189.  
  190.             Message reply = this.apiClient.sendToServerAndWaitForReply(request, expected_replies);
  191.  
  192.             // Nothing to add
  193.             assertTrue(reply instanceof SuccessReply);
  194.  
  195.             this.apiClient.doClose(session_id);
  196.  
  197.             assertEquals(0, MailServerTest.getReceivedMessages().length);
  198.         }
  199.         catch (Exception e)
  200.         {
  201.             fail(e.getMessage());
  202.         }
  203.     }
  204.  
  205.     @Test
  206.     public void testAddMulti()
  207.     {
  208.         try
  209.         {
  210.             ClientProviderFactory.getInstance().addRate(
  211.                     TEST_CLIENT_ID, BillingService.TRANSFER, Operation.ADD, "", new BigDecimal(0));
  212.  
  213.             String session_id = this.apiClient.doInitConnection();
  214.  
  215.             ArrayList<Transfer> transferList = new ArrayList<>();
  216.             transferList.add(new Transfer("300", "4182661111"));
  217.             transferList.add(new Transfer("400", "4182661111"));
  218.             transferList.add(new Transfer("300", "4443332211"));
  219.             transferList.add(new Transfer("500", "4182661111"));
  220.  
  221.             AddTransferRequest request = new AddTransferRequest();
  222.             request.setTransferList(transferList);
  223.  
  224.             request.setSessionID(session_id);
  225.  
  226.             ArrayList<Class<? extends Message>> expected_replies = new ArrayList<>();
  227.  
  228.             expected_replies.add(SuccessReply.class);
  229.  
  230.             Message reply = this.apiClient.sendToServerAndWaitForReply(request, expected_replies);
  231.  
  232.             // Nothing to add
  233.             assertTrue(reply instanceof SuccessReply);
  234.  
  235.             this.apiClient.doClose(session_id);
  236.  
  237.             assertEquals(0, MailServerTest.getReceivedMessages().length);
  238.         }
  239.         catch (Exception e)
  240.         {
  241.             fail(e.getMessage());
  242.         }
  243.     }
  244.  
  245.     @Test
  246.     public void testAddDuplicate()
  247.     {
  248.         try
  249.         {
  250.             ClientProviderFactory.getInstance().addRate(
  251.                     TEST_CLIENT_ID, BillingService.TRANSFER, Operation.ADD, "", new BigDecimal(0));
  252.  
  253.             String session_id = this.apiClient.doInitConnection();
  254.  
  255.             ArrayList<Transfer> transferList = new ArrayList<>();
  256.             transferList.add(new Transfer("300", "4182661111"));
  257.             transferList.add(new Transfer("300", "4182661111"));
  258.  
  259.             AddTransferRequest request = new AddTransferRequest();
  260.             request.setTransferList(transferList);
  261.  
  262.             request.setSessionID(session_id);
  263.  
  264.             ArrayList<Class<? extends Message>> expected_replies = new ArrayList<>();
  265.  
  266.             expected_replies.add(FailureReply.class);
  267.  
  268.             Message reply = this.apiClient.sendToServerAndWaitForReply(request, expected_replies);
  269.  
  270.             // Nothing to add
  271.             assertTrue(reply instanceof FailureReply);
  272.  
  273.             this.apiClient.doClose(session_id);
  274.  
  275.             assertEquals(0, MailServerTest.getReceivedMessages().length);
  276.         }
  277.         catch (Exception e)
  278.         {
  279.             fail(e.getMessage());
  280.         }
  281.     }
  282.  
  283.     @Test
  284.     public void testWithInvalidSession()
  285.     {
  286.         try
  287.         {
  288.             ClientProviderFactory.getInstance().addRate(
  289.                     TEST_CLIENT_ID, BillingService.TRANSFER, Operation.ADD, "", new BigDecimal(0));
  290.  
  291.             ArrayList<Transfer> transferList = new ArrayList<>();
  292.             transferList.add(new Transfer("300", "4182661111"));
  293.             transferList.add(new Transfer("400", "4182661111"));
  294.  
  295.             AddTransferRequest request = new AddTransferRequest();
  296.             request.setTransferList(transferList);
  297.  
  298.             ArrayList<Class<? extends Message>> expected_replies = new ArrayList<>();
  299.  
  300.             expected_replies.add(FailureReply.class);
  301.  
  302.             Message reply = this.apiClient.sendToServerAndWaitForReply(request, expected_replies);
  303.  
  304.             // Nothing to add
  305.             assertTrue(reply instanceof FailureReply);
  306.  
  307.             assertEquals(0, MailServerTest.getReceivedMessages().length);
  308.         }
  309.         catch (Exception e)
  310.         {
  311.             fail(e.getMessage());
  312.         }
  313.     }
  314. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement