package org.limewire.core.impl.library; import org.jmock.Expectations; import org.jmock.Mockery; import org.jmock.lib.legacy.ClassImposteriser; import org.limewire.util.BaseTestCase; import com.limegroup.gnutella.ApplicationServices; import com.limegroup.gnutella.FileDetails; import com.limegroup.gnutella.NetworkManager; import com.limegroup.gnutella.URN; public class MagnetLinkFactoryImplTest extends BaseTestCase { public MagnetLinkFactoryImplTest(String name) { super(name); } public void testCreateMagnetLinkLocalFileItem() throws Exception { Mockery context = new Mockery() { { setImposteriser(ClassImposteriser.INSTANCE); } }; final NetworkManager networkManager = context.mock(NetworkManager.class); final ApplicationServices applicationServices = context.mock(ApplicationServices.class); MagnetLinkFactoryImpl magnetLinkFactoryImpl = new MagnetLinkFactoryImpl(networkManager, applicationServices); final CoreLocalFileItem coreLocalFileItem1 = context.mock(CoreLocalFileItem.class); final FileDetails fileDetails1 = context.mock(FileDetails.class); final String fileName1 = "filename1"; final URN urn1 = URN.createSHA1Urn("urn:sha1:AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"); final long size1 = 1234567; context.checking(new Expectations() { { one(coreLocalFileItem1).getFileDetails(); will(returnValue(fileDetails1)); one(networkManager).getAddress(); will(returnValue(new byte[] { 1, 1, 1, 1 })); one(networkManager).getPort(); will(returnValue(1234)); one(applicationServices).getMyGUID(); will(returnValue(new byte[] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16 })); one(fileDetails1).getFileName(); will(returnValue(fileName1)); one(fileDetails1).getSHA1Urn(); will(returnValue(urn1)); one(fileDetails1).getSize(); will(returnValue(size1)); } }); String magnetLink1 = magnetLinkFactoryImpl.createMagnetLink(coreLocalFileItem1); assertEquals( "magnet:?&xt=urn:sha1:AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA&dn=filename1&xs=http://1.1.1.1:1234/uri-res/N2R?urn:sha1:AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA&xs=urn:guid:0102030405060708090A0B0C0D0E0F10&xl=1234567", magnetLink1); context.assertIsSatisfied(); } }