use of org.apache.jmeter.protocol.http.curl.BasicCurlParser in project jmeter by apache.
the class ParseCurlCommandActionTest method testCreateHeaderManager.
@Test
public void testCreateHeaderManager() throws Exception {
ParseCurlCommandAction p = new ParseCurlCommandAction();
BasicCurlParser basicCurlParser = new BasicCurlParser();
Request request = basicCurlParser.parse("curl 'http://jmeter.apache.org/' -H 'Content-Type: application/x-www-form-urlencoded' --compressed");
Method method = getMethodFor("createHeaderManager", Request.class);
HeaderManager headerManager = (HeaderManager) method.invoke(p, request);
// The following headers should be set in the HeaderManager
assertEquals("Content-Type", headerManager.get(0).getName());
assertEquals("application/x-www-form-urlencoded", headerManager.get(0).getValue());
assertEquals("Accept-Encoding", headerManager.get(1).getName());
assertEquals("gzip, deflate", headerManager.get(1).getValue());
}
use of org.apache.jmeter.protocol.http.curl.BasicCurlParser in project jmeter by apache.
the class ParseCurlCommandActionTest method testCreateDnsResolver.
@Test
public void testCreateDnsResolver() throws Exception {
ParseCurlCommandAction p = new ParseCurlCommandAction();
DNSCacheManager dnsCacheManager = new DNSCacheManager();
BasicCurlParser basicCurlParser = new BasicCurlParser();
Request request = basicCurlParser.parse("curl 'http://jmeter.apache.org/' --resolve 'moonagic.com:443:127.0.0.2'");
Method method = getMethodFor("createDnsResolver", Request.class, DNSCacheManager.class);
method.invoke(p, request, dnsCacheManager);
assertEquals("StaticHost(moonagic.com, 127.0.0.2)", dnsCacheManager.getHosts().get(0).getStringValue());
request = basicCurlParser.parse("curl 'http://jmeter.apache.org/' --resolve 'moonagic.com:9090:127.0.0.2'");
method.invoke(p, request, dnsCacheManager);
assertEquals("StaticHost(moonagic.com, 127.0.0.2)", dnsCacheManager.getHosts().get(0).getStringValue(), "the dns resolver should be set in DNSCacheManager");
assertTrue(dnsCacheManager.getComment().contains("Custom DNS resolver doesn't support port"), "the dns resolver should be set in DNSCacheManager");
}
use of org.apache.jmeter.protocol.http.curl.BasicCurlParser in project jmeter by apache.
the class ParseCurlCommandActionTest method testCommentText.
private void testCommentText(String cmdLine, String expectedComment) {
ParseCurlCommandAction p = new ParseCurlCommandAction();
BasicCurlParser basicCurlParser = new BasicCurlParser();
Request request = basicCurlParser.parse(cmdLine);
String comment = p.createCommentText(request);
assertEquals(expectedComment, comment.trim());
}
use of org.apache.jmeter.protocol.http.curl.BasicCurlParser in project jmeter by apache.
the class ParseCurlCommandActionTest method testCanUpdateAuthManagerInThreadGroupt.
@Test
public void testCanUpdateAuthManagerInThreadGroupt() throws Exception {
ParseCurlCommandAction p = new ParseCurlCommandAction();
AuthManager authManager = new AuthManager();
Authorization authorization = new Authorization();
authorization.setPass("passwd");
authorization.setUser("user");
authorization.setURL("http://jmeter.apache.org/");
authorization.setMechanism(Mechanism.BASIC);
authManager.addAuth(authorization);
BasicCurlParser basicCurlParser = new BasicCurlParser();
Request request = basicCurlParser.parse("curl 'http://jmeter.apache.org/' -u 'user:passwd'");
Method method = getMethodFor("canUpdateAuthManagerInThreadGroup", Request.class, AuthManager.class);
assertFalse((boolean) method.invoke(p, request, authManager), "When AuthManager contains this url, shouldn't add a AuthManager in ThreadGroup");
request = basicCurlParser.parse("curl 'http://jmeter.apache.fr/' -u 'user:passwd'");
assertTrue((boolean) method.invoke(p, request, authManager), "The AuthManager doesn't contain this url , should add a AuthManager in ThreadGroup");
}
use of org.apache.jmeter.protocol.http.curl.BasicCurlParser in project jmeter by apache.
the class ParseCurlCommandActionTest method testCanAddDnsResolverInHttpRequest.
@Test
public void testCanAddDnsResolverInHttpRequest() throws Exception {
ParseCurlCommandAction p = new ParseCurlCommandAction();
BasicCurlParser basicCurlParser = new BasicCurlParser();
DNSCacheManager dnsCacheManager = new DNSCacheManager();
dnsCacheManager.addHost("moonagic.com", "127.0.0.2");
Request request = basicCurlParser.parse("curl 'http://jmeter.apache.org/' --resolve 'moonagic.com:443:127.0.0.2'");
Method method = getMethodFor("canAddDnsResolverInHttpRequest", Request.class, DNSCacheManager.class);
dnsCacheManager = new DNSCacheManager();
dnsCacheManager.addHost("moonagic.com", "127.0.0.2");
method.invoke(p, request, dnsCacheManager);
assertFalse((boolean) method.invoke(p, request, dnsCacheManager), "When the Dns servers are the same, shouldn't add the DnsCacheManager in Http Request");
request = basicCurlParser.parse("curl 'http://jmeter.apache.org/' --resolve 'moonagic.com:9090:127.0.0.1'");
method.invoke(p, request, dnsCacheManager);
assertTrue((boolean) method.invoke(p, request, dnsCacheManager), "When the Dns servers aren't the same, should add the DnsCacheManager in Http Request");
dnsCacheManager = new DNSCacheManager();
dnsCacheManager.addHost("moonagic.com", "127.0.0.1");
dnsCacheManager.addHost("moonagic.com", "127.0.0.2");
method.invoke(p, request, dnsCacheManager);
assertTrue((boolean) method.invoke(p, request, dnsCacheManager), "When the Dns servers aren't the same, should add the DnsCacheManager in Http Request");
request = basicCurlParser.parse("curl 'http://jmeter.apache.org/' --resolve 'moonagic.com:9090:127.0.0.1'");
method.invoke(p, request, dnsCacheManager);
assertTrue((boolean) method.invoke(p, request, dnsCacheManager), "When the Dns servers aren't the same, should add the DnsCacheManager in Http Request");
}
Aggregations