Coverage Report - pt.digitalis.dif.utils.mail.sanitycheck.CheckMail
 
Classes in this File Line Coverage Branch Coverage Complexity
CheckMail
0%
0/49
0%
0/20
4,333
 
 1  0
 package pt.digitalis.dif.utils.mail.sanitycheck;
 2  
 
 3  
 import pt.digitalis.dif.sanitycheck.ExecutionResult;
 4  
 import pt.digitalis.dif.sanitycheck.ISanityCheckTestSuite;
 5  
 import pt.digitalis.dif.sanitycheck.TestResult;
 6  
 import pt.digitalis.dif.sanitycheck.annotations.SanityCheckTest;
 7  
 import pt.digitalis.dif.utils.mail.MailAction;
 8  
 import pt.digitalis.dif.utils.mail.MailMemoryPool;
 9  
 import pt.digitalis.dif.utils.mail.MailSender;
 10  
 import pt.digitalis.dif.utils.mail.MailType;
 11  
 import pt.digitalis.utils.pools.ActionStatus;
 12  
 
 13  
 /**
 14  
  * @author Galaio da Silva <a href="mailto:jgalaio@digitalis.pt">jgalaio@digitalis.pt</a><br/>
 15  
  * @created 30 de Ago de 2011
 16  
  */
 17  0
 public class CheckMail implements ISanityCheckTestSuite {
 18  
 
 19  
     /**
 20  
      * Test the Mail configurations
 21  
      * 
 22  
      * @return <code>SanityUnitResult</code>
 23  
      */
 24  
     @SanityCheckTest
 25  
     public TestResult test1MailConfiguration()
 26  
     {
 27  0
         MailSender mailSender = MailSender.getInstance();
 28  
 
 29  0
         String errorMessage = "";
 30  0
         TestResult result = null;
 31  
 
 32  0
         if (mailSender.getConfiguration().getMailServer() == null
 33  0
                 || "".equals(mailSender.getConfiguration().getMailServer()))
 34  0
             errorMessage += "MailServer, ";
 35  
 
 36  0
         if (mailSender.getConfiguration().getDefaultFromAddress() == null
 37  0
                 || "".equals(mailSender.getConfiguration().getDefaultFromAddress()))
 38  0
             errorMessage += "DefaultFromAddress, ";
 39  
 
 40  0
         if (!"".equals(errorMessage))
 41  
         {
 42  0
             errorMessage = errorMessage.substring(0, errorMessage.length() - 2);
 43  0
             errorMessage += " has configuration problems check in [CONFS]/Digi Utils/mail.";
 44  
 
 45  0
             result = new TestResult(ExecutionResult.FAILED);
 46  0
             result.setErrorMessage(errorMessage);
 47  
         }
 48  
         else
 49  
         {
 50  0
             result = new TestResult(ExecutionResult.PASSED);
 51  
         }
 52  
 
 53  0
         return result;
 54  
     }
 55  
 
 56  
     /**
 57  
      * Test the Mail authentication configurations
 58  
      * 
 59  
      * @return <code>SanityUnitResult</code>
 60  
      */
 61  
     @SanityCheckTest
 62  
     public TestResult test2MailAuthenticationConfiguration()
 63  
     {
 64  0
         MailSender mailSender = MailSender.getInstance();
 65  0
         String errorMessage = "";
 66  0
         TestResult result = null;
 67  
 
 68  0
         if ("".equals(mailSender.getConfiguration().getMailServerUsername()))
 69  0
             errorMessage += "MailServerUsername, ";
 70  
 
 71  0
         if ("".equals(mailSender.getConfiguration().getMailServerPassword()))
 72  0
             errorMessage += "MailServerPassword, ";
 73  
 
 74  0
         if (!"".equals(errorMessage))
 75  
         {
 76  0
             errorMessage = errorMessage.substring(0, errorMessage.length() - 2);
 77  0
             errorMessage += " with empty value. This could be a problem if you server has authentication or some restritions. If you don't need authenticantion bether keep #/Default/Value#. Check [CONFS]/Digi Utils/mail.";
 78  
 
 79  0
             result = new TestResult(ExecutionResult.WARNING);
 80  0
             result.setErrorMessage(errorMessage);
 81  
         }
 82  
         else
 83  
         {
 84  0
             result = new TestResult(ExecutionResult.PASSED);
 85  
         }
 86  
 
 87  0
         return result;
 88  
     }
 89  
 
 90  
     /**
 91  
      * Test send mail
 92  
      * 
 93  
      * @return <code>SanityUnitResult</code>
 94  
      */
 95  
     @SanityCheckTest
 96  
     public TestResult test3MailSend()
 97  
     {
 98  
 
 99  0
         MailSender mailSender = MailSender.getInstance();
 100  0
         String errorMessage = "";
 101  0
         TestResult result = null;
 102  
 
 103  0
         MailAction mailAction = new MailAction();
 104  0
         mailAction.setSubject("Mail Sanity Check");
 105  0
         mailAction.setMailSenderInstance(mailSender);
 106  0
         mailAction.setAddressTo(mailSender.getConfiguration().getDefaultFromAddress());
 107  
 
 108  0
         mailAction.setType(MailType.HTML);
 109  
 
 110  0
         mailAction.setBody("Mail Sanity Check");
 111  0
         mailAction = MailMemoryPool.getPool().executeActionWait(mailAction);
 112  
 
 113  0
         if (mailAction.getStatus().equals(ActionStatus.FAILED))
 114  0
             errorMessage += mailAction.getReason() + " | " + mailAction.getReasonException();
 115  
 
 116  0
         if (!"".equals(errorMessage))
 117  
         {
 118  0
             result = new TestResult(ExecutionResult.FAILED);
 119  0
             result.setErrorMessage(errorMessage);
 120  
         }
 121  
         else
 122  
         {
 123  0
             result = new TestResult(ExecutionResult.PASSED);
 124  
         }
 125  
 
 126  0
         return result;
 127  
 
 128  
     }
 129  
 
 130  
 }