You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@activemq.apache.org by de...@apache.org on 2010/05/13 17:37:35 UTC
svn commit: r943915 -
/activemq/trunk/activemq-core/src/test/java/org/apache/activemq/blob/FTPTestSupport.java
Author: dejanb
Date: Thu May 13 15:37:35 2010
New Revision: 943915
URL: http://svn.apache.org/viewvc?rev=943915&view=rev
Log:
https://issues.apache.org/activemq/browse/AMQ-2732 - ftp blob permission denied
Added:
activemq/trunk/activemq-core/src/test/java/org/apache/activemq/blob/FTPTestSupport.java
Added: activemq/trunk/activemq-core/src/test/java/org/apache/activemq/blob/FTPTestSupport.java
URL: http://svn.apache.org/viewvc/activemq/trunk/activemq-core/src/test/java/org/apache/activemq/blob/FTPTestSupport.java?rev=943915&view=auto
==============================================================================
--- activemq/trunk/activemq-core/src/test/java/org/apache/activemq/blob/FTPTestSupport.java (added)
+++ activemq/trunk/activemq-core/src/test/java/org/apache/activemq/blob/FTPTestSupport.java Thu May 13 15:37:35 2010
@@ -0,0 +1,106 @@
+package org.apache.activemq.blob;
+
+import java.io.File;
+import java.util.ArrayList;
+import java.util.List;
+
+import javax.jms.Connection;
+
+import org.apache.activemq.EmbeddedBrokerTestSupport;
+import org.apache.ftpserver.FtpServer;
+import org.apache.ftpserver.FtpServerFactory;
+import org.apache.ftpserver.ftplet.Authority;
+import org.apache.ftpserver.ftplet.UserManager;
+import org.apache.ftpserver.listener.ListenerFactory;
+import org.apache.ftpserver.usermanager.PropertiesUserManagerFactory;
+import org.apache.ftpserver.usermanager.impl.BaseUser;
+import org.apache.ftpserver.usermanager.impl.WritePermission;
+import org.jmock.Mockery;
+
+public class FTPTestSupport extends EmbeddedBrokerTestSupport {
+
+ protected static final String ftpServerListenerName = "default";
+ protected Connection connection;
+ protected FtpServer server;
+ String userNamePass = "activemq";
+
+ Mockery context = null;
+ String ftpUrl;
+ int ftpPort;
+
+ final File ftpHomeDirFile = new File("target/FTPBlobTest/ftptest");
+
+ protected void setUp() throws Exception {
+
+ if (ftpHomeDirFile.getParentFile().exists()) {
+ ftpHomeDirFile.getParentFile().delete();
+ }
+ ftpHomeDirFile.mkdirs();
+ ftpHomeDirFile.getParentFile().deleteOnExit();
+
+ FtpServerFactory serverFactory = new FtpServerFactory();
+ ListenerFactory factory = new ListenerFactory();
+
+ PropertiesUserManagerFactory userManagerFactory = new PropertiesUserManagerFactory();
+ UserManager userManager = userManagerFactory.createUserManager();
+
+ BaseUser user = new BaseUser();
+ user.setName("activemq");
+ user.setPassword("activemq");
+ user.setHomeDirectory(ftpHomeDirFile.getParent());
+
+ // authorize user
+ List<Authority> auths = new ArrayList<Authority>();
+ Authority auth = new WritePermission();
+ auths.add(auth);
+ user.setAuthorities(auths);
+
+ userManager.save(user);
+
+ BaseUser guest = new BaseUser();
+ guest.setName("guest");
+ guest.setPassword("guest");
+ guest.setHomeDirectory(ftpHomeDirFile.getParent());
+
+ userManager.save(guest);
+
+ serverFactory.setUserManager(userManager);
+ factory.setPort(0);
+ serverFactory.addListener(ftpServerListenerName, factory
+ .createListener());
+ server = serverFactory.createServer();
+ server.start();
+ ftpPort = serverFactory.getListener(ftpServerListenerName)
+ .getPort();
+ super.setUp();
+ }
+
+ public void setConnection() throws Exception {
+ ftpUrl = "ftp://"
+ + userNamePass
+ + ":"
+ + userNamePass
+ + "@localhost:"
+ + ftpPort
+ + "/ftptest/";
+ bindAddress = "vm://localhost?jms.blobTransferPolicy.defaultUploadUrl=" + ftpUrl;
+
+ connectionFactory = createConnectionFactory();
+
+ connection = createConnection();
+ connection.start();
+ }
+
+ protected void tearDown() throws Exception {
+ if (connection != null) {
+ connection.stop();
+ }
+ super.tearDown();
+ if (server != null) {
+ server.stop();
+ }
+ }
+
+
+
+}