public boolean validate(AssetItem assetItem){ if (validators != null) { for(Validator validator: validators){ if (validator.getFormat().equals("default")) { defaultValidator = validator; } if(assetItem.getFormat().equals(validator.getFormat())) { return validator.validate(assetItem); } } if (defaultValidator != null) { return defaultValidator.validate(assetItem); } } return true; }
private void setUpMockAssets(String assetFormat, String content) { when( unsavedAssetItem.getFormat() ).thenReturn( assetFormat ); when( unsavedAssetItem.getContent() ).thenReturn( content ); when( savedAssetItem.getFormat() ).thenReturn( assetFormat ); when( savedAssetItem.getContent() ).thenReturn( content ); }
public boolean validate(AssetItem assetItem){ if (validators != null) { for(Validator validator: validators){ if (validator.getFormat().equals("default")) { defaultValidator = validator; } if(assetItem.getFormat().equals(validator.getFormat())) { return validator.validate(assetItem); } } if (defaultValidator != null) { return defaultValidator.validate(assetItem); } } return true; }
@Test public void testGetFormat() throws Exception { AssetItem ruleItem1 = getRepo().loadDefaultModule().addAsset("testGetFormat", "test content"); ruleItem1.updateContent( "la" ); assertEquals(AssetItem.DEFAULT_CONTENT_FORMAT, ruleItem1.getFormat()); assertTrue(ruleItem1.getNode().hasProperty( AssetItem.CONTENT_PROPERTY_NAME )); assertFalse(ruleItem1.getNode().hasProperty( AssetItem.CONTENT_PROPERTY_BINARY_NAME )); ruleItem1.updateFormat( "blah" ); assertEquals("blah", ruleItem1.getFormat()); }
@Test public void testGetFormatForShareableAsset() throws Exception { AssetItem asset = getRepo().loadGlobalArea().addAsset("testGetFormatForShareableAsset", "desc"); asset.checkin("version0"); AssetItem linkedAsset = getDefaultPackage().addAssetImportedFromGlobalArea(asset.getName()); linkedAsset.updateContent("la"); assertEquals(AssetItem.DEFAULT_CONTENT_FORMAT, linkedAsset.getFormat()); assertTrue(linkedAsset.getNode().hasProperty(AssetItem.CONTENT_PROPERTY_NAME)); assertFalse(linkedAsset.getNode().hasProperty(AssetItem.CONTENT_PROPERTY_BINARY_NAME)); linkedAsset.updateFormat("blah"); assertEquals("blah", linkedAsset.getFormat()); }
when( assetItem.getFormat() ).thenReturn( "format" ); when( assetItem.getName() ).thenReturn( "name" ); when( assetItem.getDescription() ).thenReturn( "descriptiondescriptiondescriptiondescriptiondescriptiondescriptiondescriptiondescriptiondescription" ); assetItem.getUUID() ); assertEquals( makeAssetPageRow.getFormat(), assetItem.getFormat() ); assertEquals( makeAssetPageRow.getName(), assetItem.getName() );
@Test public void testShareableNodesWithQuery() throws Exception { RulesRepository repo = getRepo(); AssetItem item = repo.loadGlobalArea().addAsset("testShareableNodesWithQueryOriginal", "desc"); item.updateFormat("xyz"); item.getNode().addMixin("mix:shareable"); ModuleItem source = repo.createModule("testShareableNodesWithQueryPackage", "desc"); repo.save(); AssetItemIterator it = repo.loadGlobalArea().queryAssets( "drools:format='xyz'" ); List list = iteratorToList( it ); assertEquals(1, list.size()); assertTrue(list.get( 0 ) instanceof AssetItem); source.checkout(); Session session = repo.getSession(); Workspace workspace = session.getWorkspace(); String path = "/drools:repository/drools:package_area/testShareableNodesWithQueryPackage/assets/testShareableNodesWithQueryShared"; workspace.clone(workspace.getName(), item.getNode().getPath(), path, false); repo.save(); AssetItem originalItem = repo.loadGlobalArea().loadAsset("testShareableNodesWithQueryOriginal"); AssetItem sharedItem = repo.loadModule("testShareableNodesWithQueryPackage").loadAsset("testShareableNodesWithQueryShared"); assertTrue( originalItem.getFormat().equals("xyz")); assertTrue( sharedItem.getFormat().equals("xyz")); it = repo.loadGlobalArea().queryAssets( "drools:format='xyz'" ); list = iteratorToList( it ); assertEquals(1, list.size()); assertTrue(list.get( 0 ) instanceof AssetItem); }
@Test public void testFindRulesByCategory() throws Exception { getRepo().loadCategory( "/" ).addCategory( "testFindRulesByCat", "yeah" ); AssetItem as1 = getDefaultPackage().addAsset( "testFindRulesByCategory1", "ya", "testFindRulesByCat", "drl" ); getDefaultPackage().addAsset( "testFindRulesByCategory2", "ya", "testFindRulesByCat", AssetItem.DEFAULT_CONTENT_FORMAT ).checkin( "version0" ); as1.checkin( "version0" ); assertEquals("drl", as1.getFormat()); List rules = getRepo().findAssetsByCategory( "testFindRulesByCat", 0, -1 ).assets; assertEquals(2, rules.size()); for ( Iterator iter = rules.iterator(); iter.hasNext(); ) { AssetItem element = (AssetItem) iter.next(); assertTrue(element.getName().startsWith( "testFindRulesByCategory" )); } try { getRepo().loadCategory( "testFindRulesByCat" ).remove(); fail("should not be able to remove"); } catch (RulesRepositoryException e) { //assertTrue(e.getCause() instanceof ReferentialIntegrityException); assertNotNull(e.getMessage()); } }
@Test public void testPost() throws Exception { RulesRepository repo = RepositorySessionUtil.getRepository(); ModuleItem pkg = repo.createModule("testRestPost", "", ModuleItem.MODULE_FORMAT); pkg.updateStringProperty("This is some header", ModuleItem.HEADER_PROPERTY_NAME); repo.save(); RestAPI api = new RestAPI(repo); api.setAssetValidator(new AssetValidator()); ByteArrayInputStream in = new ByteArrayInputStream("abc".getBytes()); api.post("/packages/testRestPost/asset1.drl", in, "a comment"); AssetItem a = pkg.loadAsset("asset1"); assertFalse(a.isBinary()); assertEquals("drl", a.getFormat()); assertEquals("abc", a.getContent()); assertEquals("a comment", a.getCheckinComment()); in = new ByteArrayInputStream("qed".getBytes()); api.post("/packages/testRestPost/asset2.xls", in, "a comment"); a = pkg.loadAsset("asset2"); assertTrue(a.isBinary()); String s = new String(a.getBinaryContentAsBytes()); assertEquals("qed", s); assertEquals("a comment", a.getCheckinComment()); assertEquals("xls", a.getFormat()); List<AssetItem> assets = RulesRepositoryTest.iteratorToList(repo.loadModule("testRestPost").listAssetsByFormat(new String[] {"drl", "xls"})); assertEquals(2, assets.size()); }
assertEquals("testSearchSharedAssetByFormat", item.getFormat());
@Test public void testFindArchivedAssetsByCategory() { getRepo().loadCategory( "/" ).addCategory( "testFindRulesByCatArchive", "yeah" ); AssetItem as1 = getDefaultPackage().addAsset( "testFindRulesByCategoryArch", "ya", "testFindRulesByCatArchive", "drl" ); getDefaultPackage().addAsset( "testFindRulesByCategoryArch2", "ya", "testFindRulesByCatArchive", AssetItem.DEFAULT_CONTENT_FORMAT ).checkin( "version0" ); as1.archiveItem( true ); as1.checkin( "version0" ); assertEquals( "drl", as1.getFormat() ); List rules = getRepo().findAssetsByCategory( "testFindRulesByCatArchive", 0, -1 ).assets; assertEquals( 1, rules.size() ); List rules1 = getRepo().findAssetsByCategory( "testFindRulesByCatArchive", true, 0, -1 ).assets; assertEquals( 2, rules1.size() ); }