Author: rdonkin
Date: Sun Nov 30 03:48:27 2008
New Revision: 721799

URL: http://svn.apache.org/viewvc?rev=721799&view=rev
Log:
Scripted AddUser implementation

Added:
    james/protocol-tester/trunk/antlib/src/test/java/org/
    james/protocol-tester/trunk/antlib/src/test/java/org/apache/
    james/protocol-tester/trunk/antlib/src/test/java/org/apache/james/
    james/protocol-tester/trunk/antlib/src/test/java/org/apache/james/mpt/
    james/protocol-tester/trunk/antlib/src/test/java/org/apache/james/mpt/ant/
    
james/protocol-tester/trunk/antlib/src/test/java/org/apache/james/mpt/ant/TestAddUser.java
Modified:
    james/protocol-tester/trunk/antlib/pom.xml
    
james/protocol-tester/trunk/antlib/src/main/java/org/apache/james/mpt/ant/MailProtocolTestTask.java

Modified: james/protocol-tester/trunk/antlib/pom.xml
URL: 
http://svn.apache.org/viewvc/james/protocol-tester/trunk/antlib/pom.xml?rev=721799&r1=721798&r2=721799&view=diff
==============================================================================
--- james/protocol-tester/trunk/antlib/pom.xml (original)
+++ james/protocol-tester/trunk/antlib/pom.xml Sun Nov 30 03:48:27 2008
@@ -62,6 +62,15 @@
       <artifactId>ant-antunit</artifactId>
       <scope>test</scope>
     </dependency>
+    <dependency>
+        <groupId>${project.groupId}</groupId>
+        <artifactId>apache-james-mtp</artifactId>
+        <!-- TODO: Use dependency from project pom -->
+        <version>${project.version}</version>
+        <type>test-jar</type>
+        <scope>test</scope>
+    </dependency>
+    
   </dependencies>
 
   <build>

Modified: 
james/protocol-tester/trunk/antlib/src/main/java/org/apache/james/mpt/ant/MailProtocolTestTask.java
URL: 
http://svn.apache.org/viewvc/james/protocol-tester/trunk/antlib/src/main/java/org/apache/james/mpt/ant/MailProtocolTestTask.java?rev=721799&r1=721798&r2=721799&view=diff
==============================================================================
--- 
james/protocol-tester/trunk/antlib/src/main/java/org/apache/james/mpt/ant/MailProtocolTestTask.java
 (original)
+++ 
james/protocol-tester/trunk/antlib/src/main/java/org/apache/james/mpt/ant/MailProtocolTestTask.java
 Sun Nov 30 03:48:27 2008
@@ -148,8 +148,11 @@
         scripts.add(resources);
     }
     
-    private void doExecute() {
-        super.execute();
+    private void doExecute() throws BuildException {
+        for (final Iterator it=users.iterator();it.hasNext();) {
+            final AddUser userAdder = (AddUser) it.next();
+            userAdder.execute();
+        }
     }
     
     public AddUser createAddUser() {
@@ -269,6 +272,10 @@
             }
         }
         
+        /**
+         * Creates a user.
+         * @throws BuildException
+         */
         void execute() throws BuildException {
             validate();
             try {
@@ -279,7 +286,7 @@
                 } else {
                     reader = new FileReader(scriptFile);
                 }
-                ScriptedUserAdder adder = new ScriptedUserAdder(getHost(), 
getPort(), MailProtocolTestTask.this);
+                final ScriptedUserAdder adder = new 
ScriptedUserAdder(getHost(), getPort(), MailProtocolTestTask.this);
                 adder.addUser(getUser(), getPasswd(), reader);
             } catch (Exception e) {
                 throw new BuildException("User addition failed", e);

Added: 
james/protocol-tester/trunk/antlib/src/test/java/org/apache/james/mpt/ant/TestAddUser.java
URL: 
http://svn.apache.org/viewvc/james/protocol-tester/trunk/antlib/src/test/java/org/apache/james/mpt/ant/TestAddUser.java?rev=721799&view=auto
==============================================================================
--- 
james/protocol-tester/trunk/antlib/src/test/java/org/apache/james/mpt/ant/TestAddUser.java
 (added)
+++ 
james/protocol-tester/trunk/antlib/src/test/java/org/apache/james/mpt/ant/TestAddUser.java
 Sun Nov 30 03:48:27 2008
@@ -0,0 +1,67 @@
+/****************************************************************
+ * Licensed to the Apache Software Foundation (ASF) under one   *
+ * or more contributor license agreements.  See the NOTICE file *
+ * distributed with this work for additional information        *
+ * regarding copyright ownership.  The ASF licenses this file   *
+ * to you under the Apache License, Version 2.0 (the            *
+ * "License"); you may not use this file except in compliance   *
+ * with the License.  You may obtain a copy of the License at   *
+ *                                                              *
+ *   http://www.apache.org/licenses/LICENSE-2.0                 *
+ *                                                              *
+ * Unless required by applicable law or agreed to in writing,   *
+ * software distributed under the License is distributed on an  *
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY       *
+ * KIND, either express or implied.  See the License for the    *
+ * specific language governing permissions and limitations      *
+ * under the License.                                           *
+ ****************************************************************/
+
+package org.apache.james.mpt.ant;
+
+import java.io.File;
+
+import org.apache.james.mpt.DiscardProtocol;
+import org.apache.tools.ant.Project;
+
+import junit.framework.TestCase;
+
+public class TestAddUser extends TestCase {
+
+    private static final int PORT = 10001;
+    
+    DiscardProtocol fakeServer;
+    
+    DiscardProtocol.Record record;
+    
+    MailProtocolTestTask subject;
+    
+    protected void setUp() throws Exception {
+        super.setUp();
+        fakeServer = new DiscardProtocol(PORT);
+        fakeServer.start();
+        record = fakeServer.recordNext();
+        
+        subject = new MailProtocolTestTask();
+        subject.setHost("127.0.0.1");
+        subject.setPort(PORT+1);
+        subject.setScript(new File("pom.xml"));
+        subject.setProject(new Project());
+    }
+
+    protected void tearDown() throws Exception {
+        super.tearDown();
+        fakeServer.stop();
+    }
+
+    public void testShouldExecuteScriptAgainstPort() throws Exception {
+        MailProtocolTestTask.AddUser user = subject.createAddUser();
+        user.setPort(PORT);
+        user.setPasswd("PASSWORD");
+        user.setUser("USER");
+        final String script = "This script adds a user";
+        user.addText("C: " + script);
+        subject.execute();
+        assertEquals(script + "\r\n", record.complete());
+    }
+}



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to