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]