1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.jsieve.commands.optional;
20
21 import java.util.ArrayList;
22 import java.util.Collections;
23 import java.util.List;
24
25 import junit.framework.TestCase;
26
27 import org.apache.commons.logging.LogFactory;
28 import org.apache.jsieve.Argument;
29 import org.apache.jsieve.Arguments;
30 import org.apache.jsieve.BaseSieveContext;
31 import org.apache.jsieve.ConfigurationManager;
32 import org.apache.jsieve.ScriptCoordinate;
33 import org.apache.jsieve.SieveContext;
34 import org.apache.jsieve.StringListArgument;
35 import org.apache.jsieve.TestList;
36 import org.apache.jsieve.mail.ActionFileInto;
37 import org.apache.jsieve.util.check.ScriptCheckMailAdapter;
38
39 public class FileIntoTest extends TestCase {
40
41 FileInto subject;
42
43 ScriptCheckMailAdapter mockAdapter;
44 Arguments dummyArguments;
45 SieveContext dummyContext;
46
47 @SuppressWarnings("unchecked")
48 protected void setUp() throws Exception {
49 super.setUp();
50 mockAdapter = new ScriptCheckMailAdapter();
51 List<String> stringList = new ArrayList<String>();
52 stringList.add("Whatever");
53 List<Argument> argumentList = new ArrayList<Argument>();
54 argumentList.add(new StringListArgument(stringList));
55 dummyArguments = new Arguments(argumentList, new TestList(Collections.EMPTY_LIST));
56 ConfigurationManager configurationManager = new ConfigurationManager();
57 dummyContext = new BaseSieveContext(
58 configurationManager.getCommandManager(), configurationManager
59 .getComparatorManager(), configurationManager
60 .getTestManager(), LogFactory
61 .getLog(this.getClass()));
62 dummyContext.setCoordinate(new ScriptCoordinate(0, 0, 0, 0));
63 subject = new FileInto();
64 }
65
66 protected void tearDown() throws Exception {
67 super.tearDown();
68 }
69
70 public void testFileIntoShouldNotAllowMultipleFileIntoActions() throws Exception {
71 subject.execute(mockAdapter, dummyArguments, null, dummyContext);
72 assertEquals(1, mockAdapter.getActions().size());
73 assertTrue(mockAdapter.getActions().get(0) instanceof ActionFileInto);
74
75 subject.execute(mockAdapter, dummyArguments, null, dummyContext);
76 assertEquals(1, mockAdapter.getActions().size());
77 assertTrue(mockAdapter.getActions().get(0) instanceof ActionFileInto);
78 }
79 }