// Path: src/main/java/org/cleverframe/fastdfs/conn/Connection.java
// public interface Connection extends Closeable {
//     /**
//      * 关闭连接
//      */
//     @Override
//     void close();
// 
//     /**
//      * 连接是否关闭
//      *
//      * @return 返回true表示连接关闭
//      */
//     boolean isClosed();
// 
//     /**
//      * 测试连接是否有效
//      *
//      * @return 返回true表示连接无效
//      */
//     boolean isValid();
// 
//     /**
//      * 获取输出流
//      *
//      * @return 输出流
//      * @throws IOException 操作异常
//      */
//     OutputStream getOutputStream() throws IOException;
// 
//     /**
//      * 获取输入流
//      *
//      * @return 输入流
//      * @throws IOException 获取输入流错误
//      */
//     InputStream getInputStream() throws IOException;
// 
//     /**
//      * 获取字符集
//      *
//      * @return 字符集
//      */
//     Charset getCharset();
// }
// 
// Path: src/main/java/org/cleverframe/fastdfs/model/StorageNodeInfo.java
// public class StorageNodeInfo implements Serializable {
//     @FastDFSColumn(index = 0, max = OtherConstants.FDFS_GROUP_NAME_MAX_LEN)
//     private String groupName;
// 
//     @FastDFSColumn(index = 1, max = OtherConstants.FDFS_IPADDR_SIZE - 1)
//     private String ip;
// 
//     @FastDFSColumn(index = 2)
//     private int port;
// 
//     /**
//      * 存储节点
//      *
//      * @param ip   存储服务器IP地址
//      * @param port 存储服务器端口号
//      */
//     public StorageNodeInfo(String ip, int port) {
//         super();
//         this.ip = ip;
//         this.port = port;
//     }
// 
//     public StorageNodeInfo() {
//         super();
//     }
// 
//     /**
//      * @return 根据IP和端口 返回 InetSocketAddress 对象
//      */
//     public InetSocketAddress getInetSocketAddress() {
//         return new InetSocketAddress(ip, port);
//     }
// 
//     public String getGroupName() {
//         return groupName;
//     }
// 
//     public void setGroupName(String groupName) {
//         this.groupName = groupName;
//     }
// 
//     public String getIp() {
//         return ip;
//     }
// 
//     public void setIp(String ip) {
//         this.ip = ip;
//     }
// 
//     public int getPort() {
//         return port;
//     }
// 
//     public void setPort(int port) {
//         this.port = port;
//     }
// 
//     @Override
//     public String toString() {
//         return "StorageNodeInfo{" +
//                 "groupName='" + groupName + '\'' +
//                 ", ip='" + ip + '\'' +
//                 ", port=" + port +
//                 '}';
//     }
// }
// 
// Path: src/test/java/org/cleverframe/fastdfs/testbase/GetTrackerConnection.java
// public final class GetTrackerConnection {
//     private static final InetSocketAddress address = new InetSocketAddress("192.168.10.128", 22122);
//     private static final int soTimeout = 1500;
//     private static final int connectTimeout = 600;
//     private static final Charset charset = Charset.forName("UTF-8");
// 
//     public static Connection getDefaultConnection() {
//         return new SocketConnection(address, soTimeout, connectTimeout, charset);
//     }
// }


import org.cleverframe.fastdfs.conn.Connection;
import org.cleverframe.fastdfs.model.StorageNodeInfo;
import org.cleverframe.fastdfs.testbase.GetTrackerConnection;
import org.junit.Test;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
package org.cleverframe.fastdfs.protocol.tracker;


/**
 * 作者：LiZW <br/>
 * 创建时间：2016/11/20 15:37 <br/>
 */
public class GetFetchStorageCommandTest {
    /**
     * 日志
     */
    private static final Logger logger = LoggerFactory.getLogger(GetGroupListCommandTest.class);

    @Test
    public void test01() {
        Connection connection = GetTrackerConnection.getDefaultConnection();
        try {
            GetFetchStorageCommand command = new GetFetchStorageCommand("group1", "/00/00/wKg4i1gw1JWALQsHAATA4WNjQT4937.jpg", false);
// Path: src/main/java/org/cleverframe/fastdfs/conn/Connection.java
// public interface Connection extends Closeable {
//     /**
//      * 关闭连接
//      */
//     @Override
//     void close();
// 
//     /**
//      * 连接是否关闭
//      *
//      * @return 返回true表示连接关闭
//      */
//     boolean isClosed();
// 
//     /**
//      * 测试连接是否有效
//      *
//      * @return 返回true表示连接无效
//      */
//     boolean isValid();
// 
//     /**
//      * 获取输出流
//      *
//      * @return 输出流
//      * @throws IOException 操作异常
//      */
//     OutputStream getOutputStream() throws IOException;
// 
//     /**
//      * 获取输入流
//      *
//      * @return 输入流
//      * @throws IOException 获取输入流错误
//      */
//     InputStream getInputStream() throws IOException;
// 
//     /**
//      * 获取字符集
//      *
//      * @return 字符集
//      */
//     Charset getCharset();
// }
// 
// Path: src/main/java/org/cleverframe/fastdfs/model/StorageNodeInfo.java
// public class StorageNodeInfo implements Serializable {
//     @FastDFSColumn(index = 0, max = OtherConstants.FDFS_GROUP_NAME_MAX_LEN)
//     private String groupName;
// 
//     @FastDFSColumn(index = 1, max = OtherConstants.FDFS_IPADDR_SIZE - 1)
//     private String ip;
// 
//     @FastDFSColumn(index = 2)
//     private int port;
// 
//     /**
//      * 存储节点
//      *
//      * @param ip   存储服务器IP地址
//      * @param port 存储服务器端口号
//      */
//     public StorageNodeInfo(String ip, int port) {
//         super();
//         this.ip = ip;
//         this.port = port;
//     }
// 
//     public StorageNodeInfo() {
//         super();
//     }
// 
//     /**
//      * @return 根据IP和端口 返回 InetSocketAddress 对象
//      */
//     public InetSocketAddress getInetSocketAddress() {
//         return new InetSocketAddress(ip, port);
//     }
// 
//     public String getGroupName() {
//         return groupName;
//     }
// 
//     public void setGroupName(String groupName) {
//         this.groupName = groupName;
//     }
// 
//     public String getIp() {
//         return ip;
//     }
// 
//     public void setIp(String ip) {
//         this.ip = ip;
//     }
// 
//     public int getPort() {
//         return port;
//     }
// 
//     public void setPort(int port) {
//         this.port = port;
//     }
// 
//     @Override
//     public String toString() {
//         return "StorageNodeInfo{" +
//                 "groupName='" + groupName + '\'' +
//                 ", ip='" + ip + '\'' +
//                 ", port=" + port +
//                 '}';
//     }
// }
// 
// Path: src/test/java/org/cleverframe/fastdfs/testbase/GetTrackerConnection.java
// public final class GetTrackerConnection {
//     private static final InetSocketAddress address = new InetSocketAddress("192.168.10.128", 22122);
//     private static final int soTimeout = 1500;
//     private static final int connectTimeout = 600;
//     private static final Charset charset = Charset.forName("UTF-8");
// 
//     public static Connection getDefaultConnection() {
//         return new SocketConnection(address, soTimeout, connectTimeout, charset);
//     }
// }


// Path: src/test/java/org/cleverframe/fastdfs/protocol/tracker/GetFetchStorageCommandTest.java
import org.cleverframe.fastdfs.conn.Connection;
import org.cleverframe.fastdfs.model.StorageNodeInfo;
import org.cleverframe.fastdfs.testbase.GetTrackerConnection;
import org.junit.Test;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

package org.cleverframe.fastdfs.protocol.tracker;


/**
 * 作者：LiZW <br/>
 * 创建时间：2016/11/20 15:37 <br/>
 */
public class GetFetchStorageCommandTest {
    /**
     * 日志
     */
    private static final Logger logger = LoggerFactory.getLogger(GetGroupListCommandTest.class);

    @Test
    public void test01() {
        Connection connection = GetTrackerConnection.getDefaultConnection();
        try {
            GetFetchStorageCommand command = new GetFetchStorageCommand("group1", "/00/00/wKg4i1gw1JWALQsHAATA4WNjQT4937.jpg", false);
            StorageNodeInfo storageNodeInfo = command.execute(connection);