KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > columba > mail > filter > plugins > HeaderfieldFilterTest


1 // The contents of this file are subject to the Mozilla Public License Version
2
// 1.1
3
//(the "License"); you may not use this file except in compliance with the
4
//License. You may obtain a copy of the License at http://www.mozilla.org/MPL/
5
//
6
//Software distributed under the License is distributed on an "AS IS" basis,
7
//WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
8
//for the specific language governing rights and
9
//limitations under the License.
10
//
11
//The Original Code is "The Columba Project"
12
//
13
//The Initial Developers of the Original Code are Frederik Dietz and Timo
14
// Stich.
15
//Portions created by Frederik Dietz and Timo Stich are Copyright (C) 2003.
16
//
17
//All Rights Reserved.
18
package org.columba.mail.filter.plugins;
19
20 import org.columba.mail.filter.MailFilterCriteria;
21 import org.columba.mail.filter.MailFilterFactory;
22 import org.columba.mail.folder.MailboxTstFactory;
23
24 /**
25  * @author fdietz
26  *
27  */

28 public class HeaderfieldFilterTest extends AbstractFilterTst {
29
30     /**
31      * Constructor for HeaderfieldFilterTest.
32      *
33      * @param arg0
34      */

35     public HeaderfieldFilterTest(String JavaDoc arg0) {
36         super(arg0);
37
38     }
39
40     /**
41      * Constructor for HeaderfieldFilterTest.
42      *
43      * @param arg0
44      */

45     public HeaderfieldFilterTest(MailboxTstFactory factory, String JavaDoc arg0) {
46         super(factory, arg0);
47
48     }
49
50     /**
51      * Check if Subject: contains "test"
52      *
53      * @throws Exception
54      */

55     public void testSubjectContainsFilter() throws Exception JavaDoc {
56         // add message to folder
57
Object JavaDoc uid = addMessage();
58
59         // !!! Subject: test
60
// create filter configuration
61
// -> check if <Subject> <contains> pattern <test>
62
MailFilterCriteria criteria = MailFilterFactory
63                 .createSubjectContains("test");
64
65         // create filter
66
HeaderfieldFilter filter = new HeaderfieldFilter();
67
68         // init configuration
69
filter.setUp(criteria);
70
71         // execute filter
72
boolean result = filter.process(getSourceFolder(), uid);
73         assertEquals("filter result", true, result);
74     }
75
76     /**
77      * Check if Subject: contains "pudding" fails as expected
78      *
79      * @throws Exception
80      */

81     public void testSubjectContainsFailedFilter() throws Exception JavaDoc {
82         // add message to folder
83
Object JavaDoc uid = addMessage();
84
85         // !!! Subject: test
86
// create filter configuration
87
// -> check if <Subject> <contains> pattern <test>
88
MailFilterCriteria criteria = MailFilterFactory
89                 .createSubjectContains("pudding");
90
91         // create filter
92
HeaderfieldFilter filter = new HeaderfieldFilter();
93
94         // init configuration
95
filter.setUp(criteria);
96
97         // execute filter
98
boolean result = filter.process(getSourceFolder(), uid);
99         assertEquals("filter result", false, result);
100     }
101
102     /**
103      * Check if Subject: contains not "pudding" works
104      *
105      * @throws Exception
106      */

107     public void testSubjectContainsNotFilter() throws Exception JavaDoc {
108         // add message to folder
109
Object JavaDoc uid = addMessage();
110
111         // !!! Subject: test
112
// create filter configuration
113
// -> check if <Subject> <contains> pattern <test>
114
MailFilterCriteria criteria = MailFilterFactory
115                 .createSubjectContainsNot("pudding");
116
117         // create filter
118
HeaderfieldFilter filter = new HeaderfieldFilter();
119
120         // init configuration
121
filter.setUp(criteria);
122
123         // execute filter
124
boolean result = filter.process(getSourceFolder(), uid);
125         assertEquals("filter result", true, result);
126     }
127
128     /**
129      * Check if From: contains "alice@mail.org"
130      *
131      * @throws Exception
132      */

133     public void testFromFilter() throws Exception JavaDoc {
134         // add message to folder
135
Object JavaDoc uid = addMessage();
136         getSourceFolder().setAttribute(uid, "From", "alice@mail.org");
137
138         // !!! From: alice@mail.org
139
// create filter configuration
140
// -> check if <From> <contains> pattern <alice@mail.org>
141
MailFilterCriteria criteria = MailFilterFactory
142                 .createFromContains("alice@mail.org");
143
144         // create filter
145
HeaderfieldFilter filter = new HeaderfieldFilter();
146
147         // init configuration
148
filter.setUp(criteria);
149
150         // execute filter
151
boolean result = filter.process(getSourceFolder(), uid);
152         assertEquals("filter result", true, result);
153     }
154
155     /**
156      * Check if X-Mailer contains "Columba" using the custom headerfield filter.
157      *
158      * @throws Exception
159      */

160     public void testCustomHeaderFilter() throws Exception JavaDoc {
161         // add message to folder
162
Object JavaDoc uid = addMessage();
163
164         // !!! From: alice@mail.org
165
// create filter configuration
166
// -> check if <From> <contains> pattern <alice@mail.org>
167
MailFilterCriteria criteria = MailFilterFactory
168                 .createCustomHeaderfieldContains("X-Mailer", "Columba");
169
170         // create filter
171
HeaderfieldFilter filter = new HeaderfieldFilter();
172
173         // init configuration
174
filter.setUp(criteria);
175
176         // execute filter
177
boolean result = filter.process(getSourceFolder(), uid);
178         assertEquals("filter result", true, result);
179     }
180 }
Popular Tags