use of org.apache.jmeter.protocol.http.curl.BasicCurlParser in project jmeter by apache.
the class BasicCurlParserTest method testCert.
@Test
public void testCert() {
String cmdLine = "curl 'http://jmeter.apache.org/' -E 'test.pem' ";
BasicCurlParser basicCurlParser = new BasicCurlParser();
BasicCurlParser.Request request = basicCurlParser.parse(cmdLine);
assertEquals("cert", request.getCaCert(), "With method 'parser',the cacert need to show a warning' ");
}
use of org.apache.jmeter.protocol.http.curl.BasicCurlParser in project jmeter by apache.
the class BasicCurlParserTest method testFormWithQuotedFilename.
@Test
public void testFormWithQuotedFilename() {
// The quotes will be removed later by the consumer, which is ParseCurlCommandAction
String cmdLine = "curl 'https://www.exaple.invalid/' " + "--form 'image=@\"/some/file.jpg\"'";
BasicCurlParser basicCurlParser = new BasicCurlParser();
BasicCurlParser.Request request = basicCurlParser.parse(cmdLine);
List<Pair<String, ArgumentHolder>> res = request.getFormData();
assertTrue(res.contains(Pair.of("image", FileArgumentHolder.of("/some/file.jpg"))), "With method 'form', we should post form data: " + request.getFormData());
}
use of org.apache.jmeter.protocol.http.curl.BasicCurlParser in project jmeter by apache.
the class ParseCurlCommandActionTest method testDataFormException.
@Test
public void testDataFormException() throws Exception {
ParseCurlCommandAction p = new ParseCurlCommandAction();
HTTPSamplerProxy httpSampler = (HTTPSamplerProxy) HTTPSamplerFactory.newInstance(HTTPSamplerFactory.DEFAULT_CLASSNAME);
httpSampler.setProperty(TestElement.GUI_CLASS, HttpTestSampleGui.class.getName());
httpSampler.setProperty(TestElement.NAME, "HTTP Request");
BasicCurlParser basicCurlParser = new BasicCurlParser();
Request request = basicCurlParser.parse("curl 'http://jmeter.apache.org/' -F 'test=name' --data 'fname=a&lname=b'");
Method method = getMethodFor("setFormData", Request.class, HTTPSamplerProxy.class);
try {
method.invoke(p, request, httpSampler);
throw new IllegalStateException("Should have thrown InvocationTargetException");
} catch (InvocationTargetException | IllegalAccessException e) {
assertEquals("--form and --data can't appear in the same command", e.getCause().getMessage());
}
}
use of org.apache.jmeter.protocol.http.curl.BasicCurlParser in project jmeter by apache.
the class ParseCurlCommandActionTest method testCreateHttpRequest.
@Test
public void testCreateHttpRequest() throws Exception {
ParseCurlCommandAction p = new ParseCurlCommandAction();
BasicCurlParser basicCurlParser = new BasicCurlParser();
ThreadGroup threadGroup = new ThreadGroup();
TestPlan testPlan = new TestPlan();
HashTree tree = new HashTree();
HashTree testPlanHT = tree.add(testPlan);
HashTree threadGroupHT = testPlanHT.add(threadGroup);
Request request = basicCurlParser.parse("curl 'http://jmeter.apache.org/' -E '<CA certificate>'");
Method method = getMethodFor("createHttpRequest", Request.class, HashTree.class, String.class);
HTTPSamplerProxy httpSampler = (HTTPSamplerProxy) method.invoke(p, request, threadGroupHT, "comment");
assertEquals("/", httpSampler.getPath(), "path should be set in httpsampler");
assertEquals("jmeter.apache.org", httpSampler.getDomain(), "domain should be set in httpsampler");
assertEquals(80, httpSampler.getPort(), "port should be 80 in httpsampler");
assertEquals("GET", httpSampler.getMethod(), "method should be set in httpsampler");
}
use of org.apache.jmeter.protocol.http.curl.BasicCurlParser in project jmeter by apache.
the class ParseCurlCommandActionTest method testParseCommands.
@Test
public void testParseCommands() {
// commands from textpanel
ParseCurlCommandAction p = new ParseCurlCommandAction();
String cmdLine = "curl 'http://jmeter.apache.org/' --max-redirs 'b' " + "curl 'http://jmeter.apache.org/' --include --keepalive-time '20'";
List<String> commands = p.readFromTextPanel(cmdLine);
List<Request> requests = p.parseCommands(false, commands);
BasicCurlParser basicCurlParser = new BasicCurlParser();
Request request1 = basicCurlParser.parse("curl 'http://jmeter.apache.org/' --max-redirs 'b'");
assertEquals(request1.toString(), requests.get(0).toString());
assertEquals(2, requests.size());
// commands from file
cmdLine = "curl 'http://jmeter.apache.org/' --max-redirs 'b'" + System.lineSeparator() + "curl 'http://jmeter.apache.org/' --include --keepalive-time '20'";
commands = p.readFromTextPanel(cmdLine);
requests = p.parseCommands(true, commands);
request1 = basicCurlParser.parse("curl 'http://jmeter.apache.org/' --max-redirs 'b'");
assertEquals(request1.toString(), requests.get(0).toString(), "The command line should be parsed in turn");
assertEquals(2, requests.size());
}
Aggregations