package com.jakeapp.gui.console; import java.io.File; import org.junit.After; import org.junit.Assert; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import com.googlecode.junit.ext.Prerequisite; import com.googlecode.junit.ext.PrerequisiteAwareClassRunner; import com.jakeapp.jake.ics.impl.xmpp.XmppUserId; import com.jakeapp.jake.test.FSTestCommons; import com.jakeapp.jake.test.TestDBEnabledTestCase; import com.jakeapp.jake.test.XmppTestEnvironment; @RunWith(PrerequisiteAwareClassRunner.class) public class JakeCommanderXmppRuns extends TestDBEnabledTestCase { private static XmppUserId testUser1 = new XmppUserId(XmppTestEnvironment .getXmppId("myuser1")); private static String testUser1Passwd = "mypasswd1"; private static final String project = "testproject1"; @Override protected String getDbTemplateName() { return "oneuser"; } protected FifoStreamer fifo; @Override @Before public void setup() throws Exception { super.setup(); FSTestCommons.recursiveDelete(new File(".jake")); String pwd = new File(".").getAbsolutePath(); System.out.println("You are now in " + pwd); File projectdir = new File(pwd, project); projectdir.mkdir(); Assert.assertTrue(folderExists(projectdir)); fifo = new FifoStreamer(); fifo.addLine("coreLogin " + testUser1 + " " + testUser1Passwd); fifo.addLine("openProject " + project); XmppTestEnvironment.assureUserExists(XmppTestEnvironment.getHost(), testUser1 .getUsername(), testUser1Passwd); } @Override @After public void teardown() throws Exception { super.teardown(); XmppTestEnvironment.assureUserDeleted(testUser1, testUser1Passwd); } public void go() { fifo.addLine("stop"); new JakeCommander(fifo); } @Test @Prerequisite(checker = XmppTestEnvironment.class) public void testMinimalRun() { go(); } @Prerequisite(checker = XmppTestEnvironment.class) @Test public void testMinimalOnlineRun() { // fifo.addLine("newProject " + tmpdir.getAbsolutePath()); fifo.addLine("login"); go(); } @Prerequisite(checker = XmppTestEnvironment.class) @Test public void testWithProjectOnlineRun() { fifo.addLine("startProject " + project); fifo.addLine("login"); fifo.addLine("wait"); go(); } @Test public void logout() { fifo.addLine("logout"); go(); } @Prerequisite(checker = XmppTestEnvironment.class) @Test public void loginlogout() { fifo.addLine("login"); fifo.addLine("logout"); go(); } @Prerequisite(checker = XmppTestEnvironment.class) @Test public void sendInvite() { fifo.addLine("startProject"); fifo.addLine("login"); fifo.addLine("invite myuser2@localhost"); go(); } @Prerequisite(checker = XmppTestEnvironment.class) @Test public void listInvitable() { fifo.addLine("startProject"); fifo.addLine("login"); fifo.addLine("listInvitable"); go(); } }