private void initialize(final WicketTester wicketTester, Page page) { // remove any already installed AtmosphereBehaviors on the page List<AtmosphereBehavior> behaviors = page.getBehaviors(AtmosphereBehavior.class); page.remove(behaviors.toArray(new AtmosphereBehavior[behaviors.size()])); // install AtmosphereBehavior that doesn't use Meteor AtmosphereBehavior atmosphereBehavior = new TesterAtmosphereBehavior(wicketTester, eventBus); page.add(atmosphereBehavior); // start the page to collect all @Subscribe methods in the component hierarchy wicketTester.startPage(page); // pretend it is a websocket connection wicketTester.getRequest().setHeader(HeaderConfig.X_ATMOSPHERE_TRANSPORT, AtmosphereResource.TRANSPORT.WEBSOCKET.name()); // start the "upgrade" connection suspendedResponse = wicketTester.getResponse(); wicketTester.executeBehavior(atmosphereBehavior); }
/** * Execute a drag over a location in the given dropTarget. * * @param dropTarget * target of drops * @param location * drag over location */ public void executeDrag(DropTarget dropTarget, Location location) { MockHttpServletRequest request = tester.getRequest(); request.setParameter("phase", "drag"); request.setParameter("component", location.getComponent().getMarkupId()); request.setParameter("anchor", location.getAnchor().name()); tester.executeBehavior(dropTarget); }
@Override public void onRequest() { TesterBroadcaster broadcaster = (TesterBroadcaster) eventBus.getBroadcaster(); AtmosphereResource atmosphereResource = new AtmosphereResourceImpl(); AtmosphereRequest atmosphereRequest = AtmosphereRequest.wrap(wicketTester.getRequest()); AtmosphereResponse atmosphereResponse = AtmosphereResponse.wrap(wicketTester.getResponse()); TesterAsyncSupport asyncSupport = new TesterAsyncSupport(); atmosphereResource.initialize(broadcaster.getApplicationConfig(), broadcaster, atmosphereRequest, atmosphereResponse, asyncSupport, new AtmosphereHandlerAdapter()); atmosphereResource.setBroadcaster(broadcaster); broadcaster.addAtmosphereResource(atmosphereResource); String uuid = atmosphereResource.uuid(); Page page = getComponent().getPage(); page.setMetaData(ATMOSPHERE_UUID, uuid); eventBus.registerPage(uuid, page); } }
/** * Execute a drop on a location in the given dropTarget * * @param dropTarget * target of drops * @param location * drop location * @param operation * DnD operation * @param dragSource * source of drags * @param drag * dragged component */ public void executeDrop(DropTarget dropTarget, Location location, Operation operation, DragSource dragSource, Component drag) { MockHttpServletRequest request = tester.getRequest(); request.setParameter("phase", "drop"); request.setParameter("component", location.getComponent().getMarkupId()); request.setParameter("anchor", location.getAnchor().name()); request.setParameter("operation", operation.name()); request.setParameter("path", dragSource.getPath()); request.setParameter("behavior", "" + dragSource.getBehaviorId()); request.setParameter("drag", drag.getMarkupId()); tester.executeBehavior(dropTarget); }
tester.getRequest().addParameter("ctrl", "true"); tester.executeAjaxEvent("treeView:rootView:1:children:3:selectableLabel", "click"); assertTrue(fired.get()); .contains(TreeView.SELECTED_BEHAVIOR)); fired.set(false); tester.getRequest().addParameter("ctrl", "true"); tester.executeAjaxEvent("treeView:rootView:1:children:2:label:selectableLabel", "click"); assertTrue(fired.get()); tester.getRequest().addParameter("shift", "true"); tester.executeAjaxEvent("treeView:rootView:1:children:5:selectableLabel", "click"); assertTrue(fired.get()); tester.getRequest().addParameter("shift", "true"); tester.executeAjaxEvent("treeView:rootView:1:children:2:label:selectableLabel", "click"); assertTrue(fired.get());
@Test public void testCopy() throws Exception { ConfigurationsPage page = new ConfigurationsPage(); Configuration dummy1 = dao.save(dummyConfiguration1()); tester.startPage(page); // select CheckBox selector = ((CheckBox) tester.getComponentFromLastRenderedPage( "configurationsPanel:listContainer:items:1:selectItemContainer:selectItem")); tester.getRequest().setParameter(selector.getInputName(), "true"); tester.executeAjaxEvent(selector, "click"); // click copy tester.clickLink("copySelected"); dao.delete(dummy1); tester.assertRenderedPage(ConfigurationPage.class); tester.assertModelValue("configurationForm:description", "z description"); }
tester.getComponentFromLastRenderedPage( "batchForm:tasksPanel:listContainer:items:7:selectItemContainer:selectItem")); tester.getRequest().setParameter(selector.getInputName(), "true"); tester.executeAjaxEvent(selector, "click"); selector = tester.getComponentFromLastRenderedPage( "batchForm:tasksPanel:listContainer:items:9:selectItemContainer:selectItem")); tester.getRequest().setParameter(selector.getInputName(), "true"); tester.executeAjaxEvent(selector, "click"); tester.clickLink("batchForm:removeSelected");
@Test public void testDelete() throws Exception { assertFalse(tester.getComponentFromLastRenderedPage("delete").isEnabled()); // select resource tester.executeAjaxEvent( "treeview:rootView:/:children:temp:children:temp/dir:children:temp/dir/something:selectableLabel", "click"); tester.getRequest().addParameter("ctrl", "true"); tester.executeAjaxEvent( "treeview:rootView:/:children:temp:children:temp/dir:children:temp/dir/somethingelse:selectableLabel", "click"); assertTrue(tester.getComponentFromLastRenderedPage("delete").isEnabled()); // delete resource tester.clickLink("delete"); tester.assertComponent("dialog:dialog:content:form:userPanel", Label.class); formTester = tester.newFormTester("dialog:dialog:content:form"); formTester.submit("submit"); assertNull(tester.getComponentFromLastRenderedPage("dialog:dialog:content:form:userPanel")); assertFalse(Resources.exists(resourceBrowser.store().get(PATH_RES))); assertFalse(Resources.exists(resourceBrowser.store().get(PATH_RES2))); tester.assertContainsNot( "treeview:rootView:/:children:temp:children:temp/dir:children:temp/dir/something"); }
prefix() + "batchesPanel:form:batchesPanel:listContainer:items:1:selectItemContainer:selectItem")); tester.getRequest().setParameter(selector.getInputName(), "true"); tester.executeAjaxEvent(selector, "click");
tester.getComponentFromLastRenderedPage( "configurationsPanel:listContainer:items:1:selectItemContainer:selectItem")); tester.getRequest().setParameter(selector.getInputName(), "true"); tester.executeAjaxEvent(selector, "click");
"treeview:rootView:/:children:temp:children:temp/dir:children:temp/dir/something:selectableLabel", "click"); tester.getRequest().addParameter("ctrl", "true"); tester.executeAjaxEvent( "treeview:rootView:/:children:temp:children:temp/dir:children:temp/dir/somethingelse:selectableLabel",