Author: norman
Date: Thu Jan  7 19:36:06 2010
New Revision: 896976

URL: http://svn.apache.org/viewvc?rev=896976&view=rev
Log:
Rename jar to work with maven and allow to configure more smoke tests then one 
(MPT-2)

Added:
    
james/mpt/trunk/mavenplugin/src/main/java/org/apache/james/mpt/maven/AddUser.java
    
james/mpt/trunk/mavenplugin/src/main/java/org/apache/james/mpt/maven/MailProtocolTest.java
Modified:
    james/mpt/trunk/mavenplugin/   (props changed)
    james/mpt/trunk/mavenplugin/pom.xml
    
james/mpt/trunk/mavenplugin/src/main/java/org/apache/james/mpt/maven/MailProtocolTestMojo.java

Propchange: james/mpt/trunk/mavenplugin/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Thu Jan  7 19:36:06 2010
@@ -0,0 +1 @@
+target

Modified: james/mpt/trunk/mavenplugin/pom.xml
URL: 
http://svn.apache.org/viewvc/james/mpt/trunk/mavenplugin/pom.xml?rev=896976&r1=896975&r2=896976&view=diff
==============================================================================
--- james/mpt/trunk/mavenplugin/pom.xml (original)
+++ james/mpt/trunk/mavenplugin/pom.xml Thu Jan  7 19:36:06 2010
@@ -28,7 +28,7 @@
   </parent>
   <modelVersion>4.0.0</modelVersion>
   <groupId>org.apache.james</groupId>
-  <artifactId>apache-james-mpt-mavenplugin</artifactId>
+  <artifactId>maven-mpt-plugin</artifactId>
   <name>Apache JAMES MPT Maven2 Plugin</name>
   <description>Apache JAMES Mail Protocol Tester (MPT) is a library providing 
a framework for the 
 scritable functional testing of ASCII based line protocols. This Maven2 Plugin 
 is an easy interface

Added: 
james/mpt/trunk/mavenplugin/src/main/java/org/apache/james/mpt/maven/AddUser.java
URL: 
http://svn.apache.org/viewvc/james/mpt/trunk/mavenplugin/src/main/java/org/apache/james/mpt/maven/AddUser.java?rev=896976&view=auto
==============================================================================
--- 
james/mpt/trunk/mavenplugin/src/main/java/org/apache/james/mpt/maven/AddUser.java
 (added)
+++ 
james/mpt/trunk/mavenplugin/src/main/java/org/apache/james/mpt/maven/AddUser.java
 Thu Jan  7 19:36:06 2010
@@ -0,0 +1,122 @@
+/****************************************************************
+ * 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.maven;
+
+import java.io.File;
+
+
+/**
+ * Adds a user.
+ */
+public class AddUser {
+    
+    private int port;
+    private String user;
+    private String passwd;
+    private String scriptText;
+    private String host;
+    private File scriptFile;
+
+    /**
+     * Gets the host (either name or number) against which this
+     * test will run.
+     * @return host, not null
+     */
+    public String getHost() {
+        return host;
+    }
+
+    public void setHost(String host) {
+       this.host = host;
+    }
+    
+    /**
+     * Gets the port against which the user addition
+     * script should be executed.
+     * @return port number
+     */
+    public int getPort() {
+        return port;
+    }
+
+    /**
+     * Sets the port against which the user addition
+     * script should be executed.
+     * @param port port number
+     */
+    public void setPort(int port) {
+        this.port = port;
+    }
+
+    /**
+     * Gets the password for the user.
+     * @return password not null
+     */
+    public String getPasswd() {
+        return passwd;
+    }
+
+    /**
+     * Sets the password for the user.
+     * This will be passed in the user creation script.
+     * @param passwd not null
+     */
+    public void setPasswd(String passwd) {
+        this.passwd = passwd;
+    }
+
+    /**
+     * Gets the name of the user to be created.
+     * @return user name, not null
+     */
+    public String getUser() {
+        return user;
+    }
+
+    /**
+     * Sets the name of the user to be created.
+     * @param user not null
+     */
+    public void setUser(String user) {
+        this.user = user;
+    }
+    
+    /**
+     * Sets user addition script.
+     * @param scriptText not null
+     */
+    public void setScriptText(String scriptText) {
+        this.scriptText = scriptText;
+    }
+
+
+    public String getScriptText() {
+        return scriptText;
+    }
+
+    public File getScriptFile() {
+       return scriptFile;
+    }
+    
+    public void setScriptFile(File scriptFile) {
+       this.scriptFile = scriptFile;
+    }
+    
+}
\ No newline at end of file

Added: 
james/mpt/trunk/mavenplugin/src/main/java/org/apache/james/mpt/maven/MailProtocolTest.java
URL: 
http://svn.apache.org/viewvc/james/mpt/trunk/mavenplugin/src/main/java/org/apache/james/mpt/maven/MailProtocolTest.java?rev=896976&view=auto
==============================================================================
--- 
james/mpt/trunk/mavenplugin/src/main/java/org/apache/james/mpt/maven/MailProtocolTest.java
 (added)
+++ 
james/mpt/trunk/mavenplugin/src/main/java/org/apache/james/mpt/maven/MailProtocolTest.java
 Thu Jan  7 19:36:06 2010
@@ -0,0 +1,194 @@
+/****************************************************************
+ * 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.maven;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileReader;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.Reader;
+import java.io.StringReader;
+
+import org.apache.james.mpt.ExternalHostSystem;
+import org.apache.james.mpt.Monitor;
+import org.apache.james.mpt.ProtocolSessionBuilder;
+import org.apache.james.mpt.Runner;
+import org.apache.james.mpt.ScriptedUserAdder;
+import org.apache.maven.plugin.MojoExecutionException;
+import org.apache.maven.plugin.MojoFailureException;
+
+public class MailProtocolTest implements Monitor{
+
+   private Integer port;
+   
+   private File scriptFile;
+   
+   private String host;
+
+   private String shabang;
+   
+   private AddUser[] addUsers;
+
+   public void setScriptFile(File scriptFile) {
+          this.scriptFile = scriptFile;
+   }
+   
+   public void setPort(Integer port) {
+          this.port = port;
+   }
+   
+   public void setHost(String host) {
+          this.host = host;
+   }
+   
+   public void setShabang(String shabang) {
+          this.shabang = shabang;
+   }
+   
+   public void setAddUser(AddUser[] addUsers) {
+          this.addUsers = addUsers;
+   }
+   
+
+   /**
+    * Gets the host (either name or number) against which this
+    * test will run.
+    * @return host, not null
+    */
+   public String getHost() {
+       return host;
+   }
+
+
+   /**
+    * Gets the port against which this test will run.
+    * @return port number
+    */
+   public int getPort() {
+       return port;
+   }
+
+   
+   /*
+    * (non-Javadoc)
+    * @see org.apache.maven.plugin.AbstractMojo#execute()
+    */
+       public void execute() throws MojoExecutionException, 
MojoFailureException {
+               validate();
+               
+    
+               for (int i = 0; i < addUsers.length; i++) {
+                       AddUser addUser = (AddUser) addUsers[i];
+                         try {
+                           
+                           final Reader reader; 
+                           if (addUser.getScriptText() != null) {
+                               reader = new 
StringReader(addUser.getScriptText());
+                           } else {
+                               reader = new 
FileReader(addUser.getScriptFile());
+                           }
+                           final ScriptedUserAdder adder = new 
ScriptedUserAdder(addUser.getHost(), addUser.getPort(), this);
+                           adder.addUser(addUser.getUser(), 
addUser.getPasswd(), reader);
+                       } catch (Exception e) {
+                           //getLog().error("Unable to add user", e);
+                           throw new MojoFailureException("User addition 
failed: \n" + e.getMessage());
+                       }
+               }
+       final Runner runner = new Runner();
+       InputStream inputStream;
+               try {
+                       inputStream = new FileInputStream(scriptFile);
+
+                       final ExternalHostSystem hostSystem = new 
ExternalHostSystem(host, port, this, shabang, null);
+                   final ProtocolSessionBuilder builder = new 
ProtocolSessionBuilder();
+                    
+               builder.addProtocolLines(scriptFile.getName(), inputStream, 
runner.getTestElements());
+                       runner.runSessions(hostSystem);
+
+               } catch (IOException e1) {
+           throw new MojoExecutionException("Cannot load script " + 
scriptFile.getName(), e1);
+       } catch (Exception e) {
+           throw new MojoExecutionException("[FAILURE] in script " + 
scriptFile.getName() + "\n" + e.getMessage(), e);
+       }
+      
+       }
+
+       /**
+        * Validate if the configured parameters are valid
+        * 
+        * @throws MojoFailureException
+        */
+       private void validate() throws MojoFailureException {
+               if (port <= 0) {
+           throw new MojoFailureException("'port' configuration must be set.");
+               }
+               
+               if (scriptFile.exists() == false ) {
+           throw new MojoFailureException("'scriptFile' not exists");
+               }
+               
+               for (int i = 0; i < addUsers.length; i++) {
+                       AddUser addUser = (AddUser)addUsers[i];
+                       
+                       if (addUser.getScriptText() == null && 
addUser.getScriptFile() == null) {
+                   throw new MojoFailureException("AddUser must contain the 
text of the script or a scriptFile");
+               }
+               
+               if (addUser.getPort() <= 0) {
+                   throw new MojoFailureException("'port' attribute must be 
set on AddUser to the port against which the script should run.");
+               }
+               
+               if (addUser.getHost() == null) {
+                   throw new MojoFailureException("'host' attribute must be 
set on AddUser to the host against which the script should run.");
+               }
+               }
+               
+       }
+       
+       
+       /*
+        * (non-Javadoc)
+        * @see org.apache.james.mpt.Monitor#debug(char)
+        */
+       public void debug(char character) {
+               //getLog().debug("'" + character + "'");
+               // do nothing by default
+       }
+
+       /*
+        * (non-Javadoc)
+        * @see org.apache.james.mpt.Monitor#debug(java.lang.String)
+        */
+       public void debug(String message) {
+               //getLog().debug(message);
+               // do nothing by default
+
+       }
+
+       /*
+        * (non-Javadoc)
+        * @see org.apache.james.mpt.Monitor#note(java.lang.String)
+        */
+       public void note(String message) {
+               //getLog().debug(message);
+               System.out.println(message);
+       }
+}

Modified: 
james/mpt/trunk/mavenplugin/src/main/java/org/apache/james/mpt/maven/MailProtocolTestMojo.java
URL: 
http://svn.apache.org/viewvc/james/mpt/trunk/mavenplugin/src/main/java/org/apache/james/mpt/maven/MailProtocolTestMojo.java?rev=896976&r1=896975&r2=896976&view=diff
==============================================================================
--- 
james/mpt/trunk/mavenplugin/src/main/java/org/apache/james/mpt/maven/MailProtocolTestMojo.java
 (original)
+++ 
james/mpt/trunk/mavenplugin/src/main/java/org/apache/james/mpt/maven/MailProtocolTestMojo.java
 Thu Jan  7 19:36:06 2010
@@ -19,19 +19,6 @@
 
 package org.apache.james.mpt.maven;
 
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileReader;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.Reader;
-import java.io.StringReader;
-
-import org.apache.james.mpt.ExternalHostSystem;
-import org.apache.james.mpt.Monitor;
-import org.apache.james.mpt.ProtocolSessionBuilder;
-import org.apache.james.mpt.Runner;
-import org.apache.james.mpt.ScriptedUserAdder;
 import org.apache.maven.plugin.AbstractMojo;
 import org.apache.maven.plugin.MojoExecutionException;
 import org.apache.maven.plugin.MojoFailureException;
@@ -39,258 +26,21 @@
 /**
  * @goal run
  */
-public class MailProtocolTestMojo extends AbstractMojo implements Monitor{
-
-    /**
-     *
-     * @parameter
-     * @required
-     */
-    private Integer port;
-    
-    /**
-     *
-     * @parameter 
-     * @required
-     */
-    private File scriptFile;
-    
-    /**
-     * @required
-     * @parameter 
-     */
-    private String host;
-    
-    /**
-     * @parameter 
-     */
-    private String shabang;
-    
-    /**
-     * @parameter
-     */
-    private AddUser[] addUsers;
-
-
-    /**
-     * Gets the host (either name or number) against which this
-     * test will run.
-     * @return host, not null
-     */
-    public String getHost() {
-        return host;
-    }
-
-
-    /**
-     * Gets the port against which this test will run.
-     * @return port number
-     */
-    public int getPort() {
-        return port;
-    }
-
-    
-    /*
-     * (non-Javadoc)
-     * @see org.apache.maven.plugin.AbstractMojo#execute()
-     */
-       public void execute() throws MojoExecutionException, 
MojoFailureException {
-               validate();
-               
-     
-               for (int i = 0; i < addUsers.length; i++) {
-                       AddUser addUser = (AddUser) addUsers[i];
-                         try {
-                           
-                           final Reader reader; 
-                           if (addUser.getScriptText() != null) {
-                               reader = new 
StringReader(addUser.getScriptText());
-                           } else {
-                               reader = new 
FileReader(addUser.getScriptFile());
-                           }
-                           final ScriptedUserAdder adder = new 
ScriptedUserAdder(addUser.getHost(), addUser.getPort(), 
MailProtocolTestMojo.this);
-                           adder.addUser(addUser.getUser(), 
addUser.getPasswd(), reader);
-                       } catch (Exception e) {
-                           getLog().error("Unable to add user", e);
-                           throw new MojoFailureException("User addition 
failed: \n" + e.getMessage());
-                       }
-               }
-        final Runner runner = new Runner();
-        InputStream inputStream;
-               try {
-                       inputStream = new FileInputStream(scriptFile);
-
-                       final ExternalHostSystem hostSystem = new 
ExternalHostSystem(host, port, this, shabang, null);
-                   final ProtocolSessionBuilder builder = new 
ProtocolSessionBuilder();
-                    
-               builder.addProtocolLines(scriptFile.getName(), inputStream, 
runner.getTestElements());
-                       runner.runSessions(hostSystem);
-
-               } catch (IOException e1) {
-            throw new MojoExecutionException("Cannot load script " + 
scriptFile.getName(), e1);
-        } catch (Exception e) {
-            throw new MojoExecutionException("[FAILURE] in script " + 
scriptFile.getName() + "\n" + e.getMessage(), e);
-        }
-       
-       }
+public class MailProtocolTestMojo extends AbstractMojo{
 
        /**
-        * Validate if the configured parameters are valid
-        * 
-        * @throws MojoFailureException
+        * @parameter
+        * @required
         */
-       private void validate() throws MojoFailureException {
-               if (port <= 0) {
-            throw new MojoFailureException("'port' configuration must be 
set.");
-               }
-               
-               if (scriptFile.exists() == false ) {
-            throw new MojoFailureException("'scriptFile' not exists");
-               }
-               
-               for (int i = 0; i < addUsers.length; i++) {
-                       AddUser addUser = (AddUser)addUsers[i];
-                       
-                       if (addUser.getScriptText() == null && 
addUser.getScriptFile() == null) {
-                   throw new MojoFailureException("AddUser must contain the 
text of the script or a scriptFile");
-               }
-               
-               if (addUser.getPort() <= 0) {
-                   throw new MojoFailureException("'port' attribute must be 
set on AddUser to the port against which the script should run.");
-               }
-               
-               if (addUser.getHost() == null) {
-                   throw new MojoFailureException("'host' attribute must be 
set on AddUser to the host against which the script should run.");
-               }
-               }
-               
-       }
-       
-       
-       /*
-        * (non-Javadoc)
-        * @see org.apache.james.mpt.Monitor#debug(char)
-        */
-       public void debug(char character) {
-               getLog().debug("'" + character + "'");
-       }
-
-       /*
-        * (non-Javadoc)
-        * @see org.apache.james.mpt.Monitor#debug(java.lang.String)
-        */
-       public void debug(String message) {
-               getLog().debug(message);
-       }
+    private MailProtocolTest[] mailProtocolTests;
 
-       /*
-        * (non-Javadoc)
-        * @see org.apache.james.mpt.Monitor#note(java.lang.String)
-        */
-       public void note(String message) {
-               getLog().debug(message);
+       public void execute() throws MojoExecutionException, 
MojoFailureException {
+               for (int i = 0; i < mailProtocolTests.length; i++) {
+                       MailProtocolTest test = mailProtocolTests[i];
+                       test.execute();
+               }
        }
-       
- 
-       
-    /**
-     * Adds a user.
-     */
-    public class AddUser {
-        
-        private int port;
-        private String user;
-        private String passwd;
-        private String scriptText;
-        private String host;
-        private File scriptFile;
-
-        /**
-         * Gets the host (either name or number) against which this
-         * test will run.
-         * @return host, not null
-         */
-        public String getHost() {
-            return host;
-        }
-
-        public void setHost(String host) {
-               this.host = host;
-        }
-        
-        /**
-         * Gets the port against which the user addition
-         * script should be executed.
-         * @return port number
-         */
-        public int getPort() {
-            return port;
-        }
-
-        /**
-         * Sets the port against which the user addition
-         * script should be executed.
-         * @param port port number
-         */
-        public void setPort(int port) {
-            this.port = port;
-        }
-
-        /**
-         * Gets the password for the user.
-         * @return password not null
-         */
-        public String getPasswd() {
-            return passwd;
-        }
-
-        /**
-         * Sets the password for the user.
-         * This will be passed in the user creation script.
-         * @param passwd not null
-         */
-        public void setPasswd(String passwd) {
-            this.passwd = passwd;
-        }
-
-        /**
-         * Gets the name of the user to be created.
-         * @return user name, not null
-         */
-        public String getUser() {
-            return user;
-        }
-
-        /**
-         * Sets the name of the user to be created.
-         * @param user not null
-         */
-        public void setUser(String user) {
-            this.user = user;
-        }
-        
-        /**
-         * Sets user addition script.
-         * @param scriptText not null
-         */
-        public void setScriptText(String scriptText) {
-            this.scriptText = scriptText;
-        }
-
-
-        public String getScriptText() {
-            return scriptText;
-        }
-
-        public File getScriptFile() {
-               return scriptFile;
-        }
-        
-        public void setScriptFile(File scriptFile) {
-               this.scriptFile = scriptFile;
-        }
-        
-    }
+    
+    
     
 }



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to