@Test public void testStoreDictionary() throws Exception { Repository repository = new VFSRepository(producer.getIoService()); ((VFSRepository) repository).setDescriptor(descriptor); profile.setRepository(repository); // setup parameters Map<String, String> params = new HashMap<String, String>(); params.put("action", "save"); params.put("profile", "jbpm"); params.put("dvalue", "this is dictionary"); DictionaryServlet dictionaryServlet = new DictionaryServlet(); dictionaryServlet.setProfile(profile); dictionaryServlet.init(new TestServletConfig(new TestServletContext(repository))); TestHttpServletResponse response = new TestHttpServletResponse(); dictionaryServlet.doPost(new TestHttpServletRequest(params), response); String responseText = new String(response.getContent()); assertNotNull(responseText); assertEquals("saved", responseText); Collection<Asset> dictionary = repository.listAssets("/global", new FilterByExtension("json")); assertNotNull(dictionary); assertEquals(1, dictionary.size()); Asset<String> dictionaryAsset = repository.loadAsset(dictionary.iterator().next().getUniqueId()); assertNotNull(dictionaryAsset); assertEquals("this is dictionary", dictionaryAsset.getAssetContent()); }
@Test public void testSaveFormAsset() throws Exception { Repository repository = new VFSRepository(fileSystem, producer.getIoService(), producer.getActiveFileSystems()); ((VFSRepository) repository).init(); profile.setRepository(repository); AssetBuilder builder = AssetBuilderFactory.getAssetBuilder(Asset.AssetType.Text); builder.content("bpmn2 content").type("bpmn2").name("testprocess").location("/defaultPackage"); String uniqueId = repository.createAsset(builder.getAsset()); // setup parameters Map<String, String> params = new HashMap<String, String>(); params.put("uuid", uniqueId); params.put("action", "save"); params.put("profile", "jbpm"); params.put("taskname", "evaluate"); params.put("tfvalue", "this is simple task content"); TaskFormsEditorServlet taskFormsEditorServlet = new TaskFormsEditorServlet(); taskFormsEditorServlet.setProfile(profile); taskFormsEditorServlet.init(new TestServletConfig(new TestServletContext(repository))); taskFormsEditorServlet.doPost( new TestHttpServletRequest(params), new TestHttpServletResponse()); Collection<Asset> forms = repository.listAssets("/defaultPackage", new FilterByExtension("flt")); assertNotNull(forms); assertEquals(1, forms.size()); Iterator<Asset> assets = forms.iterator(); Asset asset1 = assets.next(); assertEquals("evaluate-taskform", asset1.getName()); assertEquals("/defaultPackage", asset1.getAssetLocation()); Asset<String> form1 = repository.loadAsset(asset1.getUniqueId()); assertNotNull(form1.getAssetContent()); assertEquals("this is simple task content\n", form1.getAssetContent()); }
@Test public void testProprocess() { Repository repository = new VFSRepository(producer.getIoService()); ((VFSRepository) repository).setDescriptor(descriptor); profile.setRepository(repository); // prepare folders that will be used repository.createDirectory("/myprocesses"); repository.createDirectory("/global"); // prepare process asset that will be used to preprocess AssetBuilder builder = AssetBuilderFactory.getAssetBuilder(Asset.AssetType.Text); builder.content("bpmn2 content").type("bpmn2").name("process").location("/myprocesses"); String uniqueId = repository.createAsset(builder.getAsset()); // create instance of preprocessing unit JbpmPreprocessingUnit preprocessingUnitVFS = new JbpmPreprocessingUnit(new TestServletContext(), "/", null); // setup parameters Map<String, String> params = new HashMap<String, String>(); params.put("uuid", uniqueId); // run preprocess preprocessingUnitVFS.preprocess( new TestHttpServletRequest(params), null, new TestIDiagramProfile(repository), null); // validate results Collection<Asset> globalAssets = repository.listAssets("/global"); assertNotNull(globalAssets); assertEquals(30, globalAssets.size()); repository.assetExists("/global/backboneformsinclude.fw"); repository.assetExists("/global/backbonejsinclude.fw"); repository.assetExists("/global/cancelbutton.fw"); repository.assetExists("/global/checkbox.fw"); repository.assetExists("/global/customeditors.json"); repository.assetExists("/global/div.fw"); repository.assetExists("/global/dropdownmenu.fw"); repository.assetExists("/global/fieldset.fw"); repository.assetExists("/global/form.fw"); repository.assetExists("/global/handlebarsinclude.fw"); repository.assetExists("/global/htmlbasepage.fw"); repository.assetExists("/global/image.fw"); repository.assetExists("/global/jqueryinclude.fw"); repository.assetExists("/global/jquerymobileinclude.fw"); repository.assetExists("/global/link.fw"); repository.assetExists("/global/mobilebasepage.fw"); repository.assetExists("/global/orderedlist.fw"); repository.assetExists("/global/passwordfield.fw"); repository.assetExists("/global/radiobutton.fw"); repository.assetExists("/global/script.fw"); repository.assetExists("/global/submitbutton.fw"); repository.assetExists("/global/table.fw"); repository.assetExists("/global/textarea.fw"); repository.assetExists("/global/textfield.fw"); repository.assetExists("/global/themes.json"); repository.assetExists("/global/unorderedlist.fw"); repository.assetExists("/global/defaultemailicon.gif"); repository.assetExists("/global/defaultlogicon.gif"); repository.assetExists("/global/defaultservicenodeicon.png"); repository.assetExists("/global/.gitignore"); Collection<Asset> defaultStuff = repository.listAssets("/myprocesses"); assertNotNull(defaultStuff); assertEquals(3, defaultStuff.size()); repository.assetExists("/myprocesses/WorkDefinitions.wid"); // this is the process asset that was created for the test but let's check it anyway repository.assetExists("/myprocesses/process.bpmn2"); repository.assetExists("/myprocesses/.gitignore"); }