package com.pugh.sockso.web.action;
import com.pugh.sockso.tests.SocksoTestCase;
import java.io.IOException;
import java.io.BufferedReader;
import java.io.FileReader;
import com.pugh.sockso.tests.MyHttpURLConnection;
public class AmazonCoverSearchTest extends SocksoTestCase {
public void testGetCoverFromSearchResults() throws IOException {
final String origCover = "http://ecx.images-amazon.com/images/I/41YZSP49YBL._SL160_AA115_.jpg";
final String data = "da khsdk jahdjk hkjas dkj" +
" junk <img src=\"" +origCover+ "\" more crap\n" +
" blah blah";
final MyHttpURLConnection cnn = new MyHttpURLConnection( data );
final AmazonCoverSearch s = new AmazonCoverSearch( null );
final String fetchedCover = s.getCoverFromSearchResults( cnn );
assertEquals( origCover, fetchedCover );
}
public void testGetCoverFrom2011SearchResults() throws IOException {
String[] paths = {
"http://ecx.images-amazon.com/images/I/51G8JLb-dkL._AA160_.jpg",
"http://ecx.images-amazon.com/images/I/61M2Itz5zmL._AA115_.jpg",
"http://ecx.images-amazon.com/images/I/51CSdWeDz4L._AA160_.jpg"
};
for ( String origCover : paths ) {
final String data = "da khsdk jahdjk hkjas dkj" +
" junk <img src=\"" +origCover+ "\" more crap\n" +
" blah blah";
final MyHttpURLConnection cnn = new MyHttpURLConnection( data );
final AmazonCoverSearch s = new AmazonCoverSearch( null );
final String fetchedCover = s.getCoverFromSearchResults( cnn );
assertEquals( origCover, fetchedCover );
}
}
public void testGetCoverFromSearchResultsNoResults() throws IOException {
final AmazonCoverSearch s = new AmazonCoverSearch( null );
final String data = "";
final MyHttpURLConnection cnn = new MyHttpURLConnection( data );
final String cover = s.getCoverFromSearchResults( cnn );
assertNull( cover );
}
public void testGettingCoverFromAmazonResults() throws IOException {
final AmazonCoverSearch s = new AmazonCoverSearch( null );
final BufferedReader in = new BufferedReader( new FileReader("test/data/amazon-result.html") );
final String expected = "http://ecx.images-amazon.com/images/I/51whwodX57L._SL160_AA115_.jpg";
String line = "";
while ( (line = in.readLine()) != null ) {
final String actual = s.getCoverFromData( line );
if ( actual != null ) {
assertEquals( expected, actual );
return;
}
}
fail( "No cover found" );
}
}