package com.pugh.sockso.web.action.covers; import com.pugh.sockso.music.CoverArt; import com.pugh.sockso.web.action.CoverSearch; import com.pugh.sockso.Constants; import com.pugh.sockso.Properties; import com.pugh.sockso.StringProperties; import com.pugh.sockso.tests.SocksoTestCase; import java.io.IOException; import static org.easymock.EasyMock.*; public class RemoteCovererTest extends SocksoTestCase { public void testServeCover() throws Exception { final CoverSearch coverSearch = createNiceMock( CoverSearch.class ); final CoverArt coverArt = new CoverArt("ar123"); expect( coverSearch.getCover("ar123") ).andReturn( coverArt ); replay( coverSearch ); RemoteCoverer coverer = new NeuteredRemoteCoverer( coverSearch ); coverer.setProperties( new StringProperties() ); assertTrue( coverer.serveCover("ar123") ); verify( coverSearch ); } public void testFalseReturnedWhenRemoteCoversDisabled() throws Exception { final CoverSearch coverSearch = createMock( CoverSearch.class ); RemoteCoverer coverer = new NeuteredRemoteCoverer( coverSearch ); coverer.setProperties( new StringProperties() ); coverer.getProperties() .set( Constants.COVERS_DISABLE_REMOTE_FETCHING, Properties.YES ); assertFalse( coverer.serveCover("ar123") ); } public void testServeCoverNotFound() throws Exception { final CoverSearch coverSearch = createNiceMock( CoverSearch.class ); expect( coverSearch.getCover("ar123") ).andReturn( null ); replay( coverSearch ); RemoteCoverer coverer = new NeuteredRemoteCoverer( coverSearch ); coverer.setProperties( new StringProperties() ); assertFalse( coverer.serveCover("ar123") ); verify( coverSearch ); } // does not do any IO class NeuteredRemoteCoverer extends RemoteCoverer { NeuteredRemoteCoverer( CoverSearch cs ){ super(cs); } @Override protected void serveCover( final CoverArt cover, final String itemName, final boolean addToCache) throws IOException {} } }