@Test public void testListStates() { RulesRepository repo = getRepo(); StateItem[] items = repo.listStates(); assertTrue( items.length > 0 ); repo.createState( "testListStates" ); StateItem[] items2 = repo.listStates(); assertEquals( items.length + 1, items2.length ); }
@Test public void testFindByState() throws Exception { RulesRepository repo = getRepo(); ModuleItem pkg = repo.createModule( "testFindByStatePackage", "heheheh" ); AssetItem asset1 = pkg.addAsset( "asset1", "" ); AssetItem asset2 = pkg.addAsset( "asset2", "" ); repo.createState( "testFindByState" ); repo.save(); asset1.updateState( "testFindByState" ); asset2.updateState( "testFindByState" ); asset1.checkin( "" ); asset2.checkin( "" ); AssetItemPageResult result = repo.findAssetsByState( "testFindByState", true, 0, -1 ); assertEquals( 2, result.assets.size() ); }
@Test public void testIgnoreState() throws Exception { ModuleItem pack = getRepo().createModule( "package testIgnoreState", "foo" ); getRepo().createState( "x" ); AssetItem rule1 = pack.addAsset( "rule number 1", "yeah man" ); rule1.updateState( "x" ); rule1.checkin( "version0" ); AssetItem rule2 = pack.addAsset( "rule number 2", "no way" ); rule2.updateState( "x" ); rule2.checkin( "version0" ); AssetItem rule3 = pack.addAsset( "rule number 3", "yes way" ); getRepo().createState( "disabled" ); rule3.updateState( "disabled" ); rule3.checkin( "version0" ); getRepo().save(); Iterator result = pack.getAssetsWithStatus( getRepo().getState( "x" ), getRepo().getState( "disabled" ) ); List l = iteratorToList( result ); assertEquals(2, l.size()); }
assertEquals(3, rules.size()); getRepo().createState( "foobar" ); getRepo().createState( "whee" ); rules = iteratorToList( pack.getAssetsWithStatus( getRepo().getState( "whee" ) ) ); assertEquals(0, rules.size()); getRepo().createState( "extractorState" ); rule1.updateState( "extractorState" ); rule1.checkin( "latest" ); getRepo().createState( "foobar" ); rules = iteratorToList( pack.getAssetsWithStatus(getRepo().getState( "foobar" )) ); assertEquals(1, rules.size());
@Test public void testGetState() { RulesRepository rulesRepository = getRepo(); StateItem state0 = rulesRepository.createState( "testGetState" ); assertNotNull( state0 ); assertEquals( "testGetState", state0.getName() ); StateItem stateItem1 = rulesRepository.getState( "testGetState" ); assertNotNull( stateItem1 ); assertEquals( "testGetState", stateItem1.getName() ); StateItem stateItem2 = rulesRepository.getState( "testGetState" ); assertNotNull( stateItem2 ); assertEquals( "testGetState", stateItem2.getName() ); assertEquals( stateItem1, stateItem2 ); }
@Test public void testRenameState() { RulesRepository repo = getRepo(); StateItem[] items = repo.listStates(); assertTrue( items.length > 0 ); final String oldName = "stateThatHasALongNameAndWillBeRenamed"; repo.createState( oldName ); StateItem[] items2 = repo.listStates(); assertEquals( items.length + 1, items2.length ); final String newName = "stateThatHasALongNameAndWillBeRenamedNameAfterTheRenaming"; repo.renameState( oldName, newName ); StateItem[] items3 = repo.listStates(); assertEquals( items2.length, items3.length ); try { repo.loadState( oldName ); fail( "Should never be here. Old name is still used." ); } catch ( RulesRepositoryException e ) { // Works } assertNotNull( repo.loadState( newName ) ); }
@Test public void testRemoveState() { RulesRepository repo = getRepo(); StateItem[] items = repo.listStates(); assertTrue( items.length > 0 ); final String name = "stateThatHasALongNameAndWillBeRenamed"; repo.createState( name ); StateItem[] items2 = repo.listStates(); assertEquals( items.length + 1, items2.length ); repo.loadState( name ).remove(); repo.save(); StateItem[] items3 = repo.listStates(); assertEquals( items2.length -1, items3.length ); try { repo.loadState( name ); fail( "Should never be here. Removed state still exists." ); } catch ( RulesRepositoryException e ) { // Works } } /*
@Test public void testStatusStufftestRemoveTagForShareableAsset() { getRepo().createState("testStatusStufftestRemoveTagForShareableAssetStatus"); AssetItem asset = getRepo().loadGlobalArea().addAsset("testStatusStufftestRemoveTagForShareableAsset", "desc"); AssetItem linkedAsset = getDefaultPackage().addAssetImportedFromGlobalArea(asset.getName()); StateItem stateItem1 = linkedAsset.getState(); assertEquals(StateItem.DRAFT_STATE_NAME, stateItem1.getName()); assertEquals(getRepo().getState(StateItem.DRAFT_STATE_NAME), linkedAsset.getState()); assertEquals(StateItem.DRAFT_STATE_NAME, linkedAsset.getStateDescription()); linkedAsset.updateState("testStatusStufftestRemoveTagForShareableAssetStatus"); assertEquals("testStatusStufftestRemoveTagForShareableAssetStatus", linkedAsset.getState().getName()); }
@Test public void testStatusStuff() { AssetItem ruleItem1 = getDefaultPackage().addAsset("testGetState", "test content"); StateItem stateItem1 = ruleItem1.getState(); assertEquals(StateItem.DRAFT_STATE_NAME, stateItem1.getName()); getRepo().createState( "TestState1" ); ruleItem1.updateState("TestState1"); assertNotNull(ruleItem1.getState()); assertEquals("TestState1", ruleItem1.getState().getName()); ruleItem1 = getDefaultPackage().addAsset( "testGetState2", "wa" ); assertEquals(StateItem.DRAFT_STATE_NAME, ruleItem1.getStateDescription()); assertEquals(getRepo().getState( StateItem.DRAFT_STATE_NAME ), ruleItem1.getState()); }
@Test public void testSetStateString() { AssetItem ruleItem1 = getDefaultPackage().addAsset("testSetStateString", "test content"); getRepo().createState( "TestState1" ); ruleItem1.updateState("TestState1"); assertNotNull(ruleItem1.getState()); assertEquals("TestState1", ruleItem1.getState().getName()); getRepo().createState( "TestState2" ); ruleItem1.updateState("TestState2"); assertNotNull(ruleItem1.getState()); assertEquals("TestState2", ruleItem1.getState().getName()); ruleItem1 = getDefaultPackage().addAsset("foobar", "test description"); StateItem stateItem1 = getRepo().getState("TestState1"); ruleItem1.updateState(stateItem1); assertNotNull(ruleItem1.getState()); assertEquals(ruleItem1.getState().getName(), "TestState1"); StateItem stateItem2 = getRepo().getState("TestState2"); ruleItem1.updateState(stateItem2); assertNotNull(ruleItem1.getState()); assertEquals("TestState2", ruleItem1.getState().getName()); }