package org.limewire.xmpp.client.impl.messages.filetransfer;
import java.util.EnumMap;
import java.util.Map;
import org.jmock.Expectations;
import org.jmock.Mockery;
import org.limewire.friend.api.FileMetaData;
import org.limewire.friend.api.feature.FeatureTransport;
import org.limewire.friend.api.feature.FeatureTransport.Handler;
import org.limewire.friend.impl.FileMetaDataImpl;
import org.limewire.friend.impl.FileMetaDataImpl.Element;
import org.limewire.util.BaseTestCase;
import org.limewire.xmpp.client.impl.messages.filetransfer.FileTransferIQ.TransferType;
public class FileTransferIQListenerTest extends BaseTestCase {
private Mockery context;
private FileTransferIQListener fileTransferIQListener;
private Handler<FileMetaData> fileMetaDataHandler;
public FileTransferIQListenerTest(String name) {
super(name);
}
@SuppressWarnings("unchecked")
@Override
protected void setUp() throws Exception {
context = new Mockery();
fileMetaDataHandler = context.mock(FeatureTransport.Handler.class);
fileTransferIQListener = new FileTransferIQListener(null, fileMetaDataHandler);
}
public void testProcessPacketFiresEvent() {
Map<Element, String> data = new EnumMap<Element, String>(Element.class);
data.put(Element.index, "2");
data.put(Element.urns, "urn:sha1:PLSTHIPQGSSZTS5FJUPAKUZWUGYQYPFB");
data.put(Element.name, "filename");
data.put(Element.size, "4545");
data.put(Element.createTime, "4945");
final FileMetaDataImpl fileMetaData = new FileMetaDataImpl(data);
FileTransferIQ fileTransferIQ = new FileTransferIQ(fileMetaData, TransferType.OFFER);
fileTransferIQ.setFrom("me@you.com");
context.checking(new Expectations() {{
one(fileMetaDataHandler).featureReceived("me@you.com", fileMetaData);
}});
fileTransferIQListener.processPacket(fileTransferIQ);
context.assertIsSatisfied();
}
}