package se.sics.gvod.ls;
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import junit.framework.TestCase;
import se.sics.gvod.ls.http.HTTPStreamingClient;
import se.sics.gvod.ls.system.PieceHandler;
import se.sics.gvod.video.msgs.Piece;
/**
*
* @author Niklas Wahlén <nwahlen@kth.se>
*/
public class HTTPStreamingTest extends TestCase {
public HTTPStreamingTest(String testName) {
super(testName);
}
@Override
protected void setUp() throws Exception {
super.setUp();
}
@Override
protected void tearDown() throws Exception {
super.tearDown();
}
// TODO add test methods here. The name must begin with 'test'. For example:
// public void testHello() {}
public void testStreamToPiecesToStream() {
try {
File sourceFile = new File("source.mp4");
HTTPStreamingClient client = new HTTPStreamingClient(sourceFile);
PieceHandler handler = new PieceHandler();
List<Piece> pieces = new ArrayList<Piece>();
client.run();
while (client.hasNextPiece()) {
Piece p = client.getNextPiece();
pieces.add(p);
}
PieceHandler.writePieceData("test.mp4", pieces);
File destFile = new File("test.mp4");
assert (sourceFile.length() == destFile.length());
System.out.printf("sourceFile.length == destFile.length == %d (%.1f MB)\n", destFile.length(), ((float) destFile.length() / (1000.0 * 1000.0)));
destFile.deleteOnExit();
} catch (IOException ex) {
System.out.println("Source file not found, skipping test");
}
}
}