diff --git a/hls/pom.xml b/hls/pom.xml
index a2ba01b..5b7dcea 100644
--- a/hls/pom.xml
+++ b/hls/pom.xml
@@ -5,7 +5,7 @@
com.blazemeter.jmeter
jmeter-hls
- 1.1
+ 1.0.2
diff --git a/hls/src/main/java/com/blazemeter/jmeter/hls/logic/HlsSampler.java b/hls/src/main/java/com/blazemeter/jmeter/hls/logic/HlsSampler.java
index 9379697..a28dd7a 100644
--- a/hls/src/main/java/com/blazemeter/jmeter/hls/logic/HlsSampler.java
+++ b/hls/src/main/java/com/blazemeter/jmeter/hls/logic/HlsSampler.java
@@ -20,6 +20,7 @@
import java.util.ArrayList;
import java.util.List;
+
public class HlsSampler extends AbstractSampler {
private static final Logger log = LoggingManager.getLoggerForClass();
private String playlistUri;
@@ -77,9 +78,11 @@ private DataRequest getMasterList(SampleResult masterResult, Parser parser) thro
private String getPlaylistPath(DataRequest respond, Parser parser) throws MalformedURLException {
URL masterURL = new URL(getURLData());
playlistUri = parser.extractUriMaster(respond.getResponse(), this.getRESDATA(), this.getNetwordData(),
- this.getBandwidthType(), this.getResolutionType(), this.getUrlVideoType());
+ this.getBandwidthType(), this.getResolutionType());
String auxPath = masterURL.getPath().substring(0, masterURL.getPath().lastIndexOf('/') + 1);
+ if(playlistUri.trim().equals(""))
+ playlistUri = getURLData();
if (playlistUri.startsWith("http")) {
playlist = playlistUri;
} else if (playlistUri.indexOf('/') == 0) {
@@ -96,12 +99,13 @@ private String getPlaylistPath(DataRequest respond, Parser parser) throws Malfor
private DataRequest getPlayList(SampleResult playListResult, Parser parser) throws IOException {
+ String lastPath = "";
playListResult.sampleStart();
DataRequest subRespond = parser.getBaseUrl(new URL(playlist), playListResult, true);
playListResult.sampleEnd();
String[] urlArray = playlist.split("/");
- String lastPath = urlArray[urlArray.length - 1];
+ lastPath = urlArray[urlArray.length - 1];
playListResult.setRequestHeaders(subRespond.getRequestHeaders() + "\n\n" + getCookieHeader(playlist) + "\n\n"
+ getRequestHeader(this.getHeaderManager()));
@@ -136,6 +140,8 @@ public SampleResult sample(Entry e) {
boolean isVod = getHlsVideoType().equals("vod");
boolean out = false;
boolean firstTime = true;
+ List list = new ArrayList<>();
+
try {
DataRequest respond = getMasterList(masterResult, parser);
@@ -148,6 +154,7 @@ public SampleResult sample(Entry e) {
while ((playSeconds >= currenTimeseconds) && !out) {
SampleResult playListResult = new SampleResult();
DataRequest subRespond = getPlayList(playListResult, parser);
+
List videoUri = parser.extractVideoUrl(subRespond.getResponse());
List fragmentToDownload = new ArrayList<>();
@@ -168,13 +175,16 @@ public SampleResult sample(Entry e) {
boolean isPresent = false;
int length = fragmentsDownloaded.size();
- if (length != 0)
- isPresent = fragmentsDownloaded.contains(frag.getTsUri());
+ if (length != 0) {
+ isPresent = fragmentsDownloaded.contains(frag.getTsUri().trim());
+ }
if (!isPresent) {
fragmentToDownload.add(frag);
fragmentsDownloaded.add(frag.getTsUri().trim());
- currenTimeseconds += Float.parseFloat(frag.getDuration());
+ if(getVideoDuration()) {
+ currenTimeseconds += Float.parseFloat(frag.getDuration());
+ }
}
}
@@ -182,10 +192,13 @@ public SampleResult sample(Entry e) {
for (SampleResult sam : videoFragment) {
playListResult.addSubResult(sam);
}
- masterResult.addSubResult(playListResult);
+ if(!list.contains(playListResult.getSampleLabel()))
+ {
+ masterResult.addSubResult(playListResult);
+ list.add(playListResult.getSampleLabel());
+ }
}
- // }
} catch (IOException e1) {
e1.printStackTrace();
@@ -196,6 +209,7 @@ public SampleResult sample(Entry e) {
return masterResult;
}
+
public String getURLData() {
return this.getPropertyAsString("HLS.URL_DATA");
}
@@ -224,10 +238,6 @@ public String getResolutionType() {
return this.getPropertyAsString("HLS.RESOLUTION_TYPE");
}
- public String getUrlVideoType() {
- return this.getPropertyAsString("HLS.URLVIDEOTYPE");
- }
-
public String getBandwidthType() {
return this.getPropertyAsString("HLS.BANDWIDTH_TYPE");
}
@@ -342,7 +352,8 @@ public List getFragments(Parser parser, List uris, S
uris.remove(0);
List aux = getFragments(parser, uris, url);
for (SampleResult s : aux) {
- res.add(s);
+ if(!res.contains(s))
+ res.add(s);
}
}
return res;
diff --git a/hls/src/main/java/com/blazemeter/jmeter/hls/logic/Parser.java b/hls/src/main/java/com/blazemeter/jmeter/hls/logic/Parser.java
index e068c4d..0fb7a4d 100755
--- a/hls/src/main/java/com/blazemeter/jmeter/hls/logic/Parser.java
+++ b/hls/src/main/java/com/blazemeter/jmeter/hls/logic/Parser.java
@@ -1,10 +1,6 @@
package com.blazemeter.jmeter.hls.logic;
-//import org.apache.http.protocol.BasicHttpContext;
-//import org.apache.http.protocol.HttpContext;
import org.apache.jmeter.samplers.SampleResult;
-import org.apache.jorphan.logging.LoggingManager;
-import org.apache.log.Logger;
import java.io.BufferedReader;
import java.io.IOException;
@@ -13,28 +9,19 @@
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.ArrayList;
-import java.util.HashMap;
import java.util.List;
-import java.util.Map;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import static org.apache.http.protocol.HTTP.USER_AGENT;
public class Parser implements Serializable {
- private float duration = -1;
- private float actualDuration = 0;
- private static final Pattern PORT_PATTERN = Pattern.compile("\\d+");
- private static final String USER_TOKEN = "__jmeter.USER_TOKEN__"; //$NON-NLS-1$
- private static final Logger log = LoggingManager.getLoggerForClass();
- private static final String PROXY_CONNECTION = "proxy-connection"; // $NON-NLS-1$
- private final Map headers = new HashMap<>();
-
public Parser() {
}
+
// HTTP GET request
public DataRequest getBaseUrl(URL url, SampleResult sampleResult, boolean setRequest) throws IOException {
@@ -86,7 +73,7 @@ public DataRequest getBaseUrl(URL url, SampleResult sampleResult, boolean setReq
result.setResponseMessage(con.getResponseMessage());
result.setContentType(con.getContentType());
result.setSuccess(isSuccessCode(responseCode));
- result.setSentBytes(sentBytes);// TODO consultar
+ result.setSentBytes(sentBytes);
result.setContentEncoding(getEncoding(con));
return result;
@@ -109,39 +96,13 @@ public String getEncoding(HttpURLConnection connection) {
return charset;
}
- public String extractUriMaster(String res, String resolution, String bandwidth, String bandSelected,
- String resolSelected, String urlVideoType) {
+
+ public String extractUriMaster(String res, String resolution, String bandwidth, String bandSelected, String resolSelected) {
String pattern = "(EXT-X-STREAM-INF.*)\\n(.*\\.m3u8.*)";
String bandwidthPattern = "[:|,]BANDWIDTH=(\\d*)";
String resolutionPattern = "[:|,]RESOLUTION=(\\d*x\\d*)";
- String urlCandidates = "";
- String secResolution = " ";
- String secBandwidth = " ";
-
- String bandwidthMax = "100000000";
- String bandwidthMin = "0";
- String resolutionMin = "100x100";
- String resolutionMax = "5000x5000";
- String uri = "";
-
- Pattern r = Pattern.compile(pattern);
- Pattern b = Pattern.compile(bandwidthPattern);
- Pattern reso = Pattern.compile(resolutionPattern);
-
- Matcher m = r.matcher(res);
-
- boolean out = false;
-
- if (urlVideoType.equalsIgnoreCase("Bandwidth")) {
- uri = getBandwidthUrl(pattern, bandwidthPattern, resolutionPattern, res, bandwidth, bandSelected);
- } else {
- uri = getResolutionUrl(pattern, bandwidthPattern, resolutionPattern, res, resolution, bandwidth,
- bandSelected, resolSelected);
- }
-
- return uri;
-
+ return getResolutionUrl(pattern, bandwidthPattern, resolutionPattern, res, resolution, bandwidth, bandSelected, resolSelected);
}
public List extractVideoUrl(String playlistUrl) {
@@ -155,55 +116,8 @@ public List extractVideoUrl(String playlistUrl) {
mediaList.add(data);
}
return mediaList;
-
}
- public String getBandwidthUrl(String pattern, String bandwidthPattern, String resolutionPattern, String res,
- String bandwidth, String bandSelected) {
- String bandwidthMax = "100000000";
- String secBandwidth = " ";
- String urlCandidate = "";
- Pattern r = Pattern.compile(pattern);
- Pattern b = Pattern.compile(bandwidthPattern);
- Pattern reso = Pattern.compile(resolutionPattern);
- Matcher m = r.matcher(res);
-
- while (m.find()) {
- Matcher mb = b.matcher(m.group(1));
- // Matcher mBandwidth = b.matcher(m.toString());
- Matcher mResolution = reso.matcher(m.toString());
-
- mb.find();
- if ((bandSelected.equalsIgnoreCase("customBandwidth")) && (Integer.parseInt(mb.group(1)) <= Integer.parseInt(bandwidth)) && mResolution.find()) {
- if ((Integer.parseInt(mb.group(1)) == Integer.parseInt(bandwidth)))
- {
- urlCandidate = m.group(2);
- break;
- }
- else if(selectBandwidth(bandwidth, mb.group(1)))
- {
- urlCandidate = m.group(2);
- }
-
-
- } else if ((bandSelected.equalsIgnoreCase("minBandwidth")) && mResolution.find()) {
- if (secBandwidth.equals(" ") && selectBandwidth(mb.group(1), bandwidthMax)
- || (!secBandwidth.equals(" ") && selectBandwidth(mb.group(1), secBandwidth))) {
- secBandwidth = mb.group(1);
- urlCandidate = m.group(2);
- }
- } else if ((bandSelected.equalsIgnoreCase("maxBandwidth"))) {
- if (secBandwidth.equals(" ") && !selectBandwidth(bandwidthMax, mb.group(1))
- || (!secBandwidth.equals(" ") && selectBandwidth(secBandwidth, mb.group(1)))) {
- secBandwidth = mb.group(1);
- urlCandidate = m.group(2);
- }
- }
-
- }
- return urlCandidate;
-
- }
public String getResolutionUrl(String pattern, String bandwidthPattern, String resolutionPattern, String res,
String resolution, String bandwidth, String bandSelected, String resolSelected) {
@@ -231,7 +145,6 @@ public String getResolutionUrl(String pattern, String bandwidthPattern, String r
if (resolSelected.equalsIgnoreCase("customResolution") && mResolution.find()) {
if (bandSelected.equalsIgnoreCase("customBandwidth")) {
-
if (mreso.group(1).equals(resolution)) {
uri = m.group(2);
break;
@@ -367,8 +280,6 @@ public boolean isLive(String playlistUrl) {
return !m1.find();
}
- // Checks if the resolution of the video (candidate2) is closer to the
- // resolution custom (target) than the one already saved (candidate1)
public boolean findResolution(String target, String candidate1, String candidate2) {
boolean ret = false;
diff --git a/hls/src/test/java/com/blazemeter/jmeter/hls/logic/HlsSamplerTest.java b/hls/src/test/java/com/blazemeter/jmeter/hls/logic/HlsSamplerTest.java
index 5e66c8b..9533dfc 100644
--- a/hls/src/test/java/com/blazemeter/jmeter/hls/logic/HlsSamplerTest.java
+++ b/hls/src/test/java/com/blazemeter/jmeter/hls/logic/HlsSamplerTest.java
@@ -40,13 +40,14 @@ public void setup()
sampler.setUrlVideoType("Bandwidth");
sampler.setPRotocol("https");
sampler.setPlaySecondsData("20");
+ sampler.setVideoDuration(true);
sampler.setParser(parserMock);
sampler.setName("Test");
}
@Test
public void testSample() throws Exception {
-
+
DataRequest respond1 = new DataRequest();
DataRequest respond2 = new DataRequest();
DataRequest respond3 = new DataRequest();
@@ -59,7 +60,7 @@ public void testSample() throws Exception {
fragments.add(f1);
fragments.add(f2);
fragments.add(f3);
-
+
String payload1 = "#EXTM3U\n#EXT-X-VERSION:4\n#EXT-X-STREAM-INF:AUDIO=\"600k\",BANDWIDTH=1395723,PROGRAM-ID=1,CODECS=\"avc1.42c01e,mp4a.40.2\",RESOLUTION=640x360,SUBTITLES=\"subs\"\n/videos/DianaLaufenberg_2010X/video/600k.m3u8?preroll=Thousands&uniqueId=4df94b1d\n#EXT-X-STREAM-INF:AUDIO=\"600k\",BANDWIDTH=170129,PROGRAM-ID=1,CODECS=\"avc1.42c00c,mp4a.40.2\",RESOLUTION=320x180,SUBTITLES=\"subs\"\n/videos/DianaLaufenberg_2010X/video/64k.m3u8?preroll=Thousands&uniqueId=4df94b1d\n#EXT-X-STREAM-INF:AUDIO=\"600k\",BANDWIDTH=425858,PROGRAM-ID=1,CODECS=\"avc1.42c015,mp4a.40.2\",RESOLUTION=512x288,SUBTITLES=\"subs\"\n/videos/DianaLaufenberg_2010X/video/180k.m3u8?preroll=Thousands&uniqueId=4df94b1d\n#EXT-X-STREAM-INF:AUDIO=\"600k\",BANDWIDTH=718158,PROGRAM-ID=1,CODECS=\"avc1.42c015,mp4a.40.2\",RESOLUTION=512x288,SUBTITLES=\"subs\"\n/videos/DianaLaufenberg_2010X/video/320k.m3u8?preroll=Thousands&uniqueId=4df94b1d";
String payload2 = "#EXTM3U\n#EXT-X-TARGETDURATION:10\n#EXT-X-VERSION:4\n#EXT-X-MEDIA-SEQUENCE:0\n#EXT-X-PLAYLIST-TYPE:VOD\n#EXTINF:5.0000,\n#EXT-X-BYTERANGE:440672@0\nhttps://pb.tedcdn.com/bumpers/hls/video/in/Thousands-320k.ts\n#EXTINF:5.0000,\n#EXT-X-BYTERANGE:94000@440672\nhttps://pb.tedcdn.com/bumpers/hls/video/in/Thousands-320k.ts\n#EXTINF:1.9583,\n#EXT-X-BYTERANGE:22748@534672\nhttps://pb.tedcdn.com/bumpers/hls/video/in/Thousands-320k.ts\n#EXT-X-DISCONTINUITY";
Map> headers = new HashMap>();
@@ -76,7 +77,7 @@ public void testSample() throws Exception {
headers.put("headerKey1", header1);
headers.put("headerKey2", header2);
headers.put("headerKey3", header3);
-
+
respond1.setRequestHeaders("GET http://www.mock.com/path\n");
respond1.setHeaders(headers);
respond1.setResponse(payload1);
@@ -86,7 +87,7 @@ public void testSample() throws Exception {
respond1.setSuccess(true);
respond1.setSentBytes(payload1.length());
respond1.setContentEncoding("UTF-8");
-
+
respond2.setRequestHeaders("GET http://www.mock.com/path/videos/DianaLaufenberg_2010X/video/600k.m3u8?preroll=Thousands&uniqueId=4df94b1d\n");
respond2.setHeaders(headers);
respond2.setResponse(payload2);
@@ -96,7 +97,7 @@ public void testSample() throws Exception {
respond2.setSuccess(true);
respond2.setSentBytes(payload2.length());
respond2.setContentEncoding("UTF-8");
-
+
respond3.setRequestHeaders("GET https://pb.tedcdn.com/bumpers/hls/video/in/Thousands-320k_1.ts\n");
respond3.setHeaders(headers);
respond3.setResponse("chunck");
@@ -106,7 +107,7 @@ public void testSample() throws Exception {
respond3.setSuccess(true);
respond3.setSentBytes("chunck".length());
respond3.setContentEncoding("UTF-8");
-
+
respond4.setRequestHeaders("GET https://pb.tedcdn.com/bumpers/hls/video/in/Thousands-320k_2.ts\n");
respond4.setHeaders(headers);
respond4.setResponse("chunck");
@@ -116,7 +117,7 @@ public void testSample() throws Exception {
respond4.setSuccess(true);
respond4.setSentBytes("chunck".length());
respond4.setContentEncoding("UTF-8");
-
+
respond5.setRequestHeaders("GET https://pb.tedcdn.com/bumpers/hls/video/in/Thousands-320k_3.ts\n");
respond5.setHeaders(headers);
respond5.setResponse("chunck");
@@ -126,24 +127,24 @@ public void testSample() throws Exception {
respond5.setSuccess(true);
respond5.setSentBytes("chunck".length());
respond5.setContentEncoding("UTF-8");
-
+
Mockito.when(parserMock.getBaseUrl(Mockito.any(URL.class),Mockito.any(SampleResult.class),Mockito.anyBoolean()))
.thenReturn(respond1)
.thenReturn(respond2)
.thenReturn(respond3)
.thenReturn(respond4)
.thenReturn(respond5);
-
- Mockito.when(parserMock.extractUriMaster(Mockito.any(String.class),Mockito.any(String.class),Mockito.any(String.class),Mockito.any(String.class),Mockito.any(String.class),Mockito.any(String.class)))
+
+ Mockito.when(parserMock.extractUriMaster(Mockito.any(String.class),Mockito.any(String.class),Mockito.any(String.class),Mockito.any(String.class),Mockito.any(String.class)))
.thenReturn("/videos/DianaLaufenberg_2010X/video/600k.m3u8?preroll=Thousands&uniqueId=4df94b1d");
Mockito.when(parserMock.extractVideoUrl(Mockito.any()))
.thenReturn(fragments);
Mockito.when(parserMock.isLive(Mockito.any(String.class)))
.thenReturn(false);
-
-
+
+
SampleResult result = sampler.sample(null);
-
+
assertEquals("GET http://www.mock.com/path\n\n\n\n\n", result.getRequestHeaders());
assertEquals(true, result.isSuccessful());
assertEquals("OK", result.getResponseMessage());
@@ -153,7 +154,7 @@ public void testSample() throws Exception {
assertEquals("200", result.getResponseCode());
assertEquals("application/json;charset=UTF-8", result.getContentType());
assertEquals("UTF-8", result.getDataEncodingNoDefault());
-
+
SampleResult[] subresults = result.getSubResults();
assertEquals("GET http://www.mock.com/path/videos/DianaLaufenberg_2010X/video/600k.m3u8?preroll=Thousands&uniqueId=4df94b1d\n\n\n\n\n", subresults[0].getRequestHeaders());
assertEquals(true, subresults[0].isSuccessful());
@@ -164,9 +165,9 @@ public void testSample() throws Exception {
assertEquals("200", subresults[0].getResponseCode());
assertEquals("application/json;charset=UTF-8", subresults[0].getContentType());
assertEquals("UTF-8", subresults[0].getDataEncodingNoDefault());
-
+
SampleResult[] subsubresults = subresults[0].getSubResults();
-
+
assertEquals("GET https://pb.tedcdn.com/bumpers/hls/video/in/Thousands-320k_1.ts\n\n\n\n\n", subsubresults[0].getRequestHeaders());
assertEquals(true, subsubresults[0].isSuccessful());
assertEquals("OK", subsubresults[0].getResponseMessage());
@@ -175,7 +176,7 @@ public void testSample() throws Exception {
assertEquals("200", subsubresults[0].getResponseCode());
assertEquals("application/json;charset=UTF-8", subsubresults[0].getContentType());
assertEquals("UTF-8", subsubresults[0].getDataEncodingNoDefault());
-
+
assertEquals("GET https://pb.tedcdn.com/bumpers/hls/video/in/Thousands-320k_2.ts\n\n\n\n\n", subsubresults[1].getRequestHeaders());
assertEquals(true, subsubresults[1].isSuccessful());
assertEquals("OK", subsubresults[1].getResponseMessage());
@@ -184,7 +185,7 @@ public void testSample() throws Exception {
assertEquals("200", subsubresults[1].getResponseCode());
assertEquals("application/json;charset=UTF-8", subsubresults[1].getContentType());
assertEquals("UTF-8", subsubresults[1].getDataEncodingNoDefault());
-
+
assertEquals("GET https://pb.tedcdn.com/bumpers/hls/video/in/Thousands-320k_3.ts\n\n\n\n\n", subsubresults[2].getRequestHeaders());
assertEquals(true, subsubresults[2].isSuccessful());
assertEquals("OK", subsubresults[2].getResponseMessage());
@@ -193,14 +194,14 @@ public void testSample() throws Exception {
assertEquals("200", subsubresults[2].getResponseCode());
assertEquals("application/json;charset=UTF-8", subsubresults[2].getContentType());
assertEquals("UTF-8", subsubresults[2].getDataEncodingNoDefault());
-
-
-
-
-
-
-
+
+
+
+
+
+
+
}
}
diff --git a/hls/src/test/java/com/blazemeter/jmeter/hls/logic/ParserTest.java b/hls/src/test/java/com/blazemeter/jmeter/hls/logic/ParserTest.java
index 07edb3e..331e271 100644
--- a/hls/src/test/java/com/blazemeter/jmeter/hls/logic/ParserTest.java
+++ b/hls/src/test/java/com/blazemeter/jmeter/hls/logic/ParserTest.java
@@ -106,105 +106,116 @@ public void testExtractUriMaster() throws Exception{
/videos/DianaLaufenberg_2010X/video/320k.m3u8?preroll=Thousands&uniqueId=4df94b1d
*/
-
- String result = p.extractUriMaster(res, "640x360", "1395723", "customBandwidth", "customResolution", "Bandwidth");
+
+ String result = p.extractUriMaster(res, "640x360", "1395723", "customBandwidth", "customResolution");
String expected = "/videos/DianaLaufenberg_2010X/video/600k.m3u8?preroll=Thousands&uniqueId=4df94b1d";
-
+
System.out.println(res);
System.out.println("***********************");
-
+
System.out.println(result);
System.out.println(expected);
System.out.println("*********");
assertEquals(expected, result);
-
- result = p.extractUriMaster(res, "640x360", "", "minBandwidth", "customResolution", "Bandwidth");
+
+ result = p.extractUriMaster(res, "720x480", "1395723", "customBandwidth", "customResolution");
+ expected = "/videos/DianaLaufenberg_2010X/video/600k.m3u8?preroll=Thousands&uniqueId=4df94b1d";
+
+ System.out.println(res);
+ System.out.println("***********************");
+
+ System.out.println(result);
+ System.out.println(expected);
+ System.out.println("*********");
+ assertEquals(expected, result);
+
+ result = p.extractUriMaster(res, "640x360", "", "minBandwidth", "customResolution");
expected = "/videos/DianaLaufenberg_2010X/video/64k.m3u8?preroll=Thousands&uniqueId=4df94b1d";
-
+
System.out.println(result);
System.out.println(expected);
System.out.println("*********");
assertEquals(expected, result);
-
- result = p.extractUriMaster(res, "640x360", "", "maxBandwidth", "customResolution", "Bandwidth");
+
+ result = p.extractUriMaster(res, "640x360", "", "maxBandwidth", "customResolution");
expected = "/videos/DianaLaufenberg_2010X/video/600k.m3u8?preroll=Thousands&uniqueId=4df94b1d";
-
+
System.out.println(result);
System.out.println(expected);
System.out.println("*********");
// assertEquals(expected, result);
-
- result = p.extractUriMaster(res, "640x360", "1395723", "customBandwidth", "customResolution", "");
+
+ result = p.extractUriMaster(res, "640x360", "1395723", "customBandwidth", "customResolution");
expected = "/videos/DianaLaufenberg_2010X/video/600k.m3u8?preroll=Thousands&uniqueId=4df94b1d";
-
+
System.out.println(result);
System.out.println(expected);
System.out.println("*********");
assertEquals(expected, result);
-
- result = p.extractUriMaster(res, "640x360", "", "minBandwidth", "customResolution", "");
+
+ result = p.extractUriMaster(res, "640x360", "", "minBandwidth", "customResolution");
expected = "/videos/DianaLaufenberg_2010X/video/64k.m3u8?preroll=Thousands&uniqueId=4df94b1d";
-
+
System.out.println(result);
System.out.println(expected);
System.out.println("*********");
assertEquals(expected, result);
-
- result = p.extractUriMaster(res, "640x360", "", "maxBandwidth", "customResolution", "");
+
+ result = p.extractUriMaster(res, "640x360", "", "maxBandwidth", "customResolution");
expected = "/videos/DianaLaufenberg_2010X/video/600k.m3u8?preroll=Thousands&uniqueId=4df94b1d";
-
+
System.out.println(result);
System.out.println(expected);
System.out.println("*********");
assertEquals(expected, result);
-
- result = p.extractUriMaster(res, "", "1395723", "customBandwidth", "maxResolution", "");
+
+ result = p.extractUriMaster(res, "", "1395723", "customBandwidth", "maxResolution");
expected = "/videos/DianaLaufenberg_2010X/video/600k.m3u8?preroll=Thousands&uniqueId=4df94b1d";
-
+
System.out.println(result);
System.out.println(expected);
System.out.println("*********");
assertEquals(expected, result);
-
- result = p.extractUriMaster(res, "", "", "minBandwidth", "maxResolution", "");
+
+ result = p.extractUriMaster(res, "", "", "minBandwidth", "maxResolution");
expected = "/videos/DianaLaufenberg_2010X/video/64k.m3u8?preroll=Thousands&uniqueId=4df94b1d";
-
+
System.out.println(result);
System.out.println(expected);
System.out.println("*********");
assertEquals(expected, result);
-
- result = p.extractUriMaster(res, "", "", "maxBandwidth", "maxResolution", "");
+
+ result = p.extractUriMaster(res, "", "", "maxBandwidth", "maxResolution");
expected = "/videos/DianaLaufenberg_2010X/video/600k.m3u8?preroll=Thousands&uniqueId=4df94b1d";
-
+
System.out.println(result);
System.out.println(expected);
System.out.println("*********");
assertEquals(expected, result);
-
- result = p.extractUriMaster(res, "", "1395723", "customBandwidth", "minResolution", "");
+
+ result = p.extractUriMaster(res, "", "1395723", "customBandwidth", "minResolution");
expected = "/videos/DianaLaufenberg_2010X/video/64k.m3u8?preroll=Thousands&uniqueId=4df94b1d";
-
+
System.out.println(result);
System.out.println(expected);
System.out.println("*********");
assertEquals(expected, result);
-
- result = p.extractUriMaster(res, "", "", "minBandwidth", "minResolution", "");
+
+ result = p.extractUriMaster(res, "", "", "minBandwidth", "minResolution");
expected = "/videos/DianaLaufenberg_2010X/video/64k.m3u8?preroll=Thousands&uniqueId=4df94b1d";
-
+
System.out.println(result);
System.out.println(expected);
System.out.println("*********");
assertEquals(expected, result);
-
- result = p.extractUriMaster(res, "", "", "maxBandwidth", "minResolution", "");
+
+ result = p.extractUriMaster(res, "", "", "maxBandwidth", "minResolution");
expected = "/videos/DianaLaufenberg_2010X/video/600k.m3u8?preroll=Thousands&uniqueId=4df94b1d";
-
+
System.out.println(result);
System.out.println(expected);
System.out.println("*********");
assertEquals(expected, result);
- }
+ }
}