Search in sources :

Example 1 with MockDomainObjectFileUpload

use of org.apache.wicket.util.tester.MockFormFileUploadPage.MockDomainObjectFileUpload in project wicket by apache.

the class FormTesterTest method submitMultipartForm.

/**
 * Test that formTester deal with Multipart form correctly when no actual upload
 */
@Test
public void submitMultipartForm() {
    tester.startPage(MockFormFileUploadPage.class, new PageParameters().set("required", false));
    MockFormFileUploadPage page = (MockFormFileUploadPage) tester.getLastRenderedPage();
    MockDomainObjectFileUpload domainObject = page.getDomainObject();
    Session.get().setLocale(Locale.US);
    FormTester formTester = tester.newFormTester("form");
    formTester.setValue("text", "Mock Value");
    tester.getRequest().setUseMultiPartContentType(true);
    formTester.submit();
    assertFalse(formTester.getForm().hasError());
    assertNull(page.getFileUpload());
    assertEquals("Mock Value", domainObject.getText());
}
Also used : MockDomainObjectFileUpload(org.apache.wicket.util.tester.MockFormFileUploadPage.MockDomainObjectFileUpload) PageParameters(org.apache.wicket.request.mapper.parameter.PageParameters) Test(org.junit.Test)

Example 2 with MockDomainObjectFileUpload

use of org.apache.wicket.util.tester.MockFormFileUploadPage.MockDomainObjectFileUpload in project wicket by apache.

the class FormTesterTest method addFile.

/**
 * Test that the user can use
 * {@link FormTester#setFile(String, org.apache.wicket.util.file.File, String)} to test that
 * upload to a FileUploadField works.
 */
@Test
public void addFile() {
    tester.startPage(MockFormFileUploadPage.class);
    MockFormFileUploadPage page = (MockFormFileUploadPage) tester.getLastRenderedPage();
    MockDomainObjectFileUpload domainObject = page.getDomainObject();
    assertNull(page.getFileUpload());
    assertNotNull(domainObject);
    assertNull(domainObject.getText());
    FormTester formTester = tester.newFormTester("form");
    formTester.setFile("file", new File("pom.xml"), "text/xml");
    formTester.setValue("text", "Mock value");
    formTester.submit();
    assertNotNull(domainObject);
    assertNotNull(domainObject.getText());
    assertEquals("Mock value", domainObject.getText());
    FileUpload fileUpload = page.getFileUpload();
    assertNotNull(fileUpload);
    assertTrue("setFile failed, no upload content detected.", fileUpload.getBytes().length > 0);
    assertEquals("pom.xml", fileUpload.getClientFileName());
    assertEquals("text/xml", fileUpload.getContentType());
}
Also used : MockDomainObjectFileUpload(org.apache.wicket.util.tester.MockFormFileUploadPage.MockDomainObjectFileUpload) File(org.apache.wicket.util.file.File) FileUpload(org.apache.wicket.markup.html.form.upload.FileUpload) MockDomainObjectFileUpload(org.apache.wicket.util.tester.MockFormFileUploadPage.MockDomainObjectFileUpload) Test(org.junit.Test)

Example 3 with MockDomainObjectFileUpload

use of org.apache.wicket.util.tester.MockFormFileUploadPage.MockDomainObjectFileUpload in project wicket by apache.

the class FormTesterTest method addBinaryFile.

/**
 * Test that the user can use
 * {@link FormTester#setFile(String, org.apache.wicket.util.file.File, String)} to test that
 * upload to a FileUploadField works.
 */
@Test
public void addBinaryFile() {
    tester.startPage(MockFormFileUploadPage.class);
    MockFormFileUploadPage page = (MockFormFileUploadPage) tester.getLastRenderedPage();
    MockDomainObjectFileUpload domainObject = page.getDomainObject();
    assertNull(page.getFileUpload());
    assertNotNull(domainObject);
    assertNull(domainObject.getText());
    FormTester formTester = tester.newFormTester("form");
    formTester.setFile("file", new File(getBasedir() + "src/test/java/org/apache/wicket/util/tester/bg.jpg"), "image/jpeg");
    formTester.setValue("text", "Mock value");
    formTester.submit();
    assertNotNull(domainObject);
    assertNotNull(domainObject.getText());
    assertEquals("Mock value", domainObject.getText());
    FileUpload fileUpload = page.getFileUpload();
    assertNotNull(fileUpload);
    assertTrue("uploaded content does not have the right size, expected 428, got " + fileUpload.getBytes().length, fileUpload.getBytes().length == 428);
    assertEquals("bg.jpg", fileUpload.getClientFileName());
    assertEquals("image/jpeg", fileUpload.getContentType());
}
Also used : MockDomainObjectFileUpload(org.apache.wicket.util.tester.MockFormFileUploadPage.MockDomainObjectFileUpload) File(org.apache.wicket.util.file.File) FileUpload(org.apache.wicket.markup.html.form.upload.FileUpload) MockDomainObjectFileUpload(org.apache.wicket.util.tester.MockFormFileUploadPage.MockDomainObjectFileUpload) Test(org.junit.Test)

Aggregations

MockDomainObjectFileUpload (org.apache.wicket.util.tester.MockFormFileUploadPage.MockDomainObjectFileUpload)3 Test (org.junit.Test)3 FileUpload (org.apache.wicket.markup.html.form.upload.FileUpload)2 File (org.apache.wicket.util.file.File)2 PageParameters (org.apache.wicket.request.mapper.parameter.PageParameters)1