package lib.form;
import com.gargoylesoftware.htmlunit.html.HtmlPage;
import hudson.model.RootAction;
import hudson.security.csrf.CrumbIssuer;
import junit.framework.Assert;
import net.sf.json.JSONObject;
import org.junit.Rule;
import org.junit.Test;
import org.jvnet.hudson.test.JenkinsRule;
import org.jvnet.hudson.test.TestExtension;
import org.kohsuke.stapler.StaplerRequest;
/**
* @author Kohsuke Kawaguchi
*/
public class RowSetTest {
@Rule
public JenkinsRule j = new JenkinsRule();
@Test
public void json() throws Exception {
HtmlPage p = j.createWebClient().goTo("test/test1");
j.submit(p.getFormByName("config"));
}
@TestExtension
public static class Subject implements RootAction {
public void doSubmitTest1(StaplerRequest req) throws Exception {
JSONObject json = req.getSubmittedForm();
json.remove(CrumbIssuer.DEFAULT_CRUMB_NAME);
System.out.println(json);
JSONObject expected = JSONObject.fromObject(
"{'a':'aaa','b':'bbb','c':{'c1':'ccc1','c2':'ccc2'},'d':{'d1':'d1','d2':'d2'}}");
Assert.assertEquals(expected, json);
}
@Override
public String getIconFileName() {
return null;
}
@Override
public String getDisplayName() {
return null;
}
@Override
public String getUrlName() {
return "test";
}
}
}