1   /*
2    * Wallace IMAP Server
3    * Copyright (C) 2004  Robert Newson
4    *
5    * This program is free software; you can redistribute it and/or
6    * modify it under the terms of the GNU General Public License
7    * as published by the Free Software Foundation; either version 2
8    * of the License, or (at your option) any later version.
9    *
10   * This program is distributed in the hope that it will be useful,
11   * but WITHOUT ANY WARRANTY; without even the implied warranty of
12   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13   * GNU General Public License for more details.
14   *
15   * You should have received a copy of the GNU General Public License
16   * along with this program; if not, write to the Free Software
17   * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
18   */
19  package net.sf.wallace.messages;
20  
21  import javax.mail.Folder;
22  
23  import junit.framework.Assert;
24  import net.sf.wallace.WallaceSessionState;
25  import net.sf.wallace.commands.AbstractCommandTestCase;
26  import net.sf.wallace.javamail.MockFolder;
27  import net.sf.wallace.javamail.MockStore;
28  
29  /***
30   * 
31   * 
32   * @author rnewson
33   */
34  public class CloseMessageTest extends AbstractCommandTestCase {
35  
36      public void testMessage() throws Exception {
37          final MockStore store = new MockStore();
38          final MockFolder folder = new MockFolder(store);
39          folder.open(Folder.READ_ONLY);
40  
41          wallaceSession.setStore(store);
42          wallaceSession.setSelectedFolder(folder);
43          wallaceSession.setState(WallaceSessionState.SELECTED);
44  
45          final CloseMessage message = new CloseMessage();
46  
47          Assert.assertTrue(folder.isOpen());
48          message.getCommand().execute(wallaceSession);
49          Assert.assertFalse(folder.isOpen());
50          Assert.assertEquals(WallaceSessionState.AUTHENTICATED, wallaceSession.getState());
51      }
52  
53  }