package se.sics.gvod.ls.ws; import java.util.ArrayList; import java.util.List; import org.junit.*; import se.sics.gvod.ls.video.snapshot.Stats; import se.sics.gvod.ls.ws.persistent.StatsEntity; import se.sics.gvod.net.VodAddress; /** * * @author Niklas Wahlén <nwahlen@kth.se> */ public class WSTest { // Experiment identification private int experimentId = 1; private int experimentIteration = 2; private volatile int step = 4; // Node identification private int overlayId = 5; private int nodeId = 6; // Node properties private boolean source = false; private VodAddress.NatType natType = VodAddress.NatType.NAT; // Neighbour connections messages private volatile int connectionRequestsSentClose = 7; private volatile int connectionRequestsSentRandom = 8; private volatile int connectionRequestTimeoutsClose = 9; private volatile int connectionRequestTimeoutsRandom = 10; private volatile int connectionResponsesReceivedClose = 11; private volatile int connectionResponsesReceivedRandom = 12; // Neighbour disconncetion messages private volatile int disconnectsSentClose = 13; private volatile int disconnectsSentRandom = 14; private volatile int disconnectsReceivedClose = 15; private volatile int disconnectsReceivedRandom = 16; // Neighbour connections private volatile int ingoingConnectionsClose = 17; private volatile int ingoingConnectionsRandom = 18; private volatile int outgoingConnectionsClose = 19; private volatile int outgoingConnectionsRandom = 20; private volatile int avgAsHopsToNeighbours = 21; private List<VodAddress> neighbours = new ArrayList<VodAddress>(); // Video content private volatile int seenSubPieces = 22; private volatile int completedPieces = 23; private volatile int highestCompletedPiece = 24; private volatile int downloadedSubPiecesClose = 25; private volatile int downloadedSubPiecesRandom = 26; private volatile int sentSubPiecesClose = 27; private volatile int sentSubPiecesRandom = 28; private List<Integer> pieceStats = new ArrayList<Integer>(); private volatile int dlBwBytes = 122; private volatile int ulBwBytes = 211; // Playback private volatile int bufferLength = 29; private volatile int missedPieces = 30; // Stats stats; StatsEntity statsEntity; public WSTest() { pieceStats.add(134353464); // stats = new Stats(); stats.setExperimentId(experimentId); stats.setExperimentIteration(experimentIteration); stats.setStep(step); // stats.setOverlayId(overlayId); stats.setNodeId(nodeId); // stats.setSource(source); stats.setNatType(natType); // stats.setConnectionRequestsSentClose(connectionRequestsSentClose); stats.setConnectionRequestsSentRandom(connectionRequestsSentRandom); stats.setConnectionRequestTimeoutsClose(connectionRequestTimeoutsClose); stats.setConnectionRequestTimeoutsRandom(connectionRequestTimeoutsRandom); stats.setConnectionResponsesReceivedClose(connectionResponsesReceivedClose); stats.setConnectionResponsesReceivedRandom(connectionResponsesReceivedRandom); // stats.setDisconnectsSentClose(disconnectsSentClose); stats.setDisconnectsSentRandom(disconnectsSentRandom); stats.setDisconnectsReceivedClose(disconnectsReceivedClose); stats.setDisconnectsReceivedRandom(disconnectsReceivedRandom); // stats.setIngoingConnectionsClose(ingoingConnectionsClose); stats.setIngoingConnectionsRandom(ingoingConnectionsRandom); stats.setOutgoingConnectionsClose(outgoingConnectionsClose); stats.setOutgoingConnectionsRandom(outgoingConnectionsRandom); stats.setAvgAsHopsToNeighbours(avgAsHopsToNeighbours); stats.setNeighbours(neighbours); // stats.setSeenSubPieces(seenSubPieces); stats.setCompletePieces(completedPieces); stats.setHighestCompletePiece(highestCompletedPiece); stats.setDownloadedSubPiecesIntraAs(downloadedSubPiecesClose); stats.setDownloadedSubPiecesNeighbourAs(downloadedSubPiecesRandom); stats.setSentSubPiecesIntraAs(sentSubPiecesClose); stats.setSentSubPiecesNeighbourAs(sentSubPiecesRandom); stats.setDlBwBytes(dlBwBytes); stats.setUlBwBytes(ulBwBytes); stats.setPieceStats(pieceStats); // stats.setBufferLength(bufferLength); stats.setMissedPieces(missedPieces); } @BeforeClass public static void setUpClass() throws Exception { } @AfterClass public static void tearDownClass() throws Exception { } @Before public void setUp() { } @After public void tearDown() { } public void testStatsToStatsEntity() { StatsEntity testSE = WS.getStatsEntity(stats); assert(experimentId==testSE.getExperimentId().intValue()); assert(experimentIteration==testSE.getExperimentIteration().intValue()); // assert(dlBwBytes==testSE.getDlBwBytes()); assert(ulBwBytes==testSE.getUlBwBytes()); } }