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 | |
|
15 | |
|
16 | |
|
17 | 0 | public class CheckMail implements ISanityCheckTestSuite { |
18 | |
|
19 | |
|
20 | |
|
21 | |
|
22 | |
|
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 | |
|
58 | |
|
59 | |
|
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 | |
|
92 | |
|
93 | |
|
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 | |
} |