pnever 2004/12/15 00:35:01
Modified:
proposals/tamino/testsuite/junit/store/org/apache/slide/store/tamino/tools/repairer
Tag: TWS421_BRANCH DefaultNamingTest.java
EnablerTest.java RepairHelper.java RepairTest.java
proposals/tamino/testsuite/junit/store/org/apache/slide/store/tamino/store
Tag: TWS421_BRANCH FakeStore.java
Log:
Testsuite for the repair tool - fixed a couple of problems
Revision Changes Path
No revision
No revision
1.1.4.1 +7 -4
jakarta-slide/proposals/tamino/testsuite/junit/store/org/apache/slide/store/tamino/tools/repairer/DefaultNamingTest.java
Index: DefaultNamingTest.java
===================================================================
RCS file:
/home/cvs/jakarta-slide/proposals/tamino/testsuite/junit/store/org/apache/slide/store/tamino/tools/repairer/DefaultNamingTest.java,v
retrieving revision 1.1
retrieving revision 1.1.4.1
diff -u -r1.1 -r1.1.4.1
--- DefaultNamingTest.java 25 Mar 2004 16:18:15 -0000 1.1
+++ DefaultNamingTest.java 15 Dec 2004 08:35:00 -0000 1.1.4.1
@@ -44,13 +44,16 @@
assertEquals("/mydoctype/folder1/docname.txt", naming.getName(new
DumbResource()));
assertEquals("/mydoctype/folder2/docname.txt", naming.getName(new
DumbResource()));
}
-
+
public static void main( String[] args ) {
TestRunner.run( suite() );
}
public static Test suite() {
return new TestSuite(DefaultNamingTest.class);
+ // TestSuite suite= new TestSuite();
+ // suite.addTest(new DefaultNamingTest("test"));
+ // return suite;
}
}
1.1.4.1 +40 -13
jakarta-slide/proposals/tamino/testsuite/junit/store/org/apache/slide/store/tamino/tools/repairer/EnablerTest.java
Index: EnablerTest.java
===================================================================
RCS file:
/home/cvs/jakarta-slide/proposals/tamino/testsuite/junit/store/org/apache/slide/store/tamino/tools/repairer/EnablerTest.java,v
retrieving revision 1.1
retrieving revision 1.1.4.1
diff -u -r1.1 -r1.1.4.1
--- EnablerTest.java 25 Mar 2004 16:18:15 -0000 1.1
+++ EnablerTest.java 15 Dec 2004 08:35:00 -0000 1.1.4.1
@@ -22,9 +22,11 @@
package org.apache.slide.store.tamino.tools.repairer;
+import junit.framework.Test;
import junit.framework.TestCase;
-import junit.textui.TestRunner;
+import junit.framework.TestSuite;
import org.apache.slide.store.tamino.Configuration;
+import org.apache.slide.store.tamino.jdomobjects.XDescriptors;
import org.apache.slide.store.tamino.tools.repairer.DocumentEnabler;
import
org.apache.slide.store.tamino.tools.repairer.NamespaceConsistencyCheck;
import org.apache.slide.util.Misc;
@@ -37,6 +39,19 @@
}
/**
+ * Method suite
+ *
+ * @return a Test
+ */
+ public static Test suite() {
+ // return new TestSuite(EnablerTest.class);
+ TestSuite suite = new TestSuite();
+ suite.addTest(new EnablerTest("testMissingMetadata"));
+ suite.addTest(new EnablerTest("testMissingMetadataNonXML"));
+ return suite;
+ }
+
+ /**
** Start precisely this test suite with the commandline interface.
**
** @pre true
@@ -45,8 +60,14 @@
** @param args commandline options (none are evaluated)
**/
public static void main( String[] args ) {
- //TestRunner.run( new RepairTest("testUniqueContentIdCheck") );
- TestRunner.run( EnablerTest.class );
+ if (args.length == 1) {
+ TestSuite testSuite = new TestSuite();
+ testSuite.addTest(new EnablerTest(args[0]));
+ junit.textui.TestRunner.run(testSuite);
+ }
+ else {
+ junit.textui.TestRunner.run( suite() );
+ }
}
/**
@@ -62,21 +83,27 @@
impl.wipeDatabase();
}
- public void testMissingDescriptor() throws Exception {
+ /**
+ * Method testMissingDescriptor
+ *
+ * @throws Exception
+ */
+ public void testMissingMetadata() throws Exception {
String uuri = impl.doCreate("/test/meta/test2.xml");
-
impl.taminoClient.getDescriptorsAccessor().deleteByQuery(impl.taminoClient.getContentCollection()
+ "[EMAIL PROTECTED]"" + uuri + "\"]");
-
- // TODO: doesn't call enabler
+ XDescriptors d =
impl.taminoClient.getDescriptorsAccessor().readDescriptorsByUuri(uuri);
+ impl.taminoClient.getDescriptorsAccessor().delete(d);
impl.testRepairer(Misc.lst(DocumentEnabler.class),
Misc.lst(DocumentEnabler.class,
NamespaceConsistencyCheck.RemoveReference.class));
}
/**
- **/
- public void testenableNonXMLdocument() throws Exception {
+ * Method testMissingMetadataNonXML
+ *
+ * @throws Exception
+ */
+ public void testMissingMetadataNonXML() throws Exception {
impl.taminoClient.insertText("TextDocument.txt", "This is only
text.".getBytes());
- // TODO: doesn't call enabler
impl.testRepairer(Misc.lst(DocumentEnabler.class),
Misc.lst(DocumentEnabler.class));
}
1.1.4.1 +14 -3
jakarta-slide/proposals/tamino/testsuite/junit/store/org/apache/slide/store/tamino/tools/repairer/RepairHelper.java
Index: RepairHelper.java
===================================================================
RCS file:
/home/cvs/jakarta-slide/proposals/tamino/testsuite/junit/store/org/apache/slide/store/tamino/tools/repairer/RepairHelper.java,v
retrieving revision 1.1
retrieving revision 1.1.4.1
diff -u -r1.1 -r1.1.4.1
--- RepairHelper.java 25 Mar 2004 16:18:15 -0000 1.1
+++ RepairHelper.java 15 Dec 2004 08:35:00 -0000 1.1.4.1
@@ -27,6 +27,7 @@
import java.util.Iterator;
import java.util.List;
import java.util.Map;
+import org.apache.slide.content.NodeRevisionNumber;
import org.apache.slide.store.tamino.Configuration;
import org.apache.slide.store.tamino.common.IDescriptors;
import org.apache.slide.store.tamino.jdomobjects.XDescriptors;
@@ -200,6 +201,12 @@
taminoClient.commit();
}
+ public void deleteContent(String uuri) throws Exception {
+ XDescriptors d =
taminoClient.getDescriptorsAccessor().readOneRwDescriptorsByUuri(uuri);
+ String cid = XDescriptorsUtil.getContentId(d, new
NodeRevisionNumber());
+ taminoClient.getContentAccessor().deleteContent(cid);
+ }
+
/**
** @return uuri of the created descriptor
**/
@@ -218,6 +225,10 @@
}
}
return uuri;
+ }
+
+ public void doVersionControl(String uri) throws Exception {
+ http.versionControl(uri);
}
}
1.1.4.1 +117 -50
jakarta-slide/proposals/tamino/testsuite/junit/store/org/apache/slide/store/tamino/tools/repairer/RepairTest.java
Index: RepairTest.java
===================================================================
RCS file:
/home/cvs/jakarta-slide/proposals/tamino/testsuite/junit/store/org/apache/slide/store/tamino/tools/repairer/RepairTest.java,v
retrieving revision 1.1
retrieving revision 1.1.4.1
diff -u -r1.1 -r1.1.4.1
--- RepairTest.java 25 Mar 2004 16:18:15 -0000 1.1
+++ RepairTest.java 15 Dec 2004 08:35:00 -0000 1.1.4.1
@@ -22,8 +22,9 @@
package org.apache.slide.store.tamino.tools.repairer;
+import junit.framework.Test;
import junit.framework.TestCase;
-import junit.textui.TestRunner;
+import junit.framework.TestSuite;
import org.apache.slide.content.NodeRevisionDescriptor;
import org.apache.slide.content.NodeRevisionNumber;
import org.apache.slide.store.tamino.Configuration;
@@ -44,16 +45,41 @@
}
/**
- ** Start precisely this test suite with the commandline interface.
- **
- ** @pre true
- ** @post true
- **
- ** @param args commandline options (none are evaluated)
- **/
- public static void main( String[] args ) {
- TestRunner.run( new RepairTest("testUniqueDescriptorsIdCheck") );
- //TestRunner.run( RepairTest.class );
+ * Method suite
+ *
+ * @return a Test
+ */
+ public static Test suite() {
+// return new TestSuite(RepairTest.class);
+ TestSuite suite = new TestSuite();
+ suite.addTest(new RepairTest("testInvalidDescriptor"));
+ suite.addTest(new RepairTest("testMissingContentRemoveDesc"));
+ suite.addTest(new
RepairTest("testMissingContentRestoreFromHistory"));
+ suite.addTest(new RepairTest("testUniqueContentIdCheck"));
+ suite.addTest(new RepairTest("testMissingChildRef"));
+ suite.addTest(new RepairTest("testMissingParentRef"));
+ suite.addTest(new RepairTest("testRepairContentLength"));
+ return suite;
+ }
+
+ /**
+ * Start test suite contained in this class using the text interface. If
a
+ * parameter is passed, it will use it as a test name and run only that
test
+ * case.
+ *
+ * @param args commandline options (first argument = test method name
to run)
+ *
+ * @throws Exception
+ */
+ public static void main( String[] args ) throws Exception {
+ if (args.length == 1) {
+ TestSuite testSuite = new TestSuite();
+ testSuite.addTest(new RepairTest(args[0]));
+ junit.textui.TestRunner.run(testSuite);
+ }
+ else {
+ junit.textui.TestRunner.run( suite() );
+ }
}
/**
@@ -70,35 +96,56 @@
}
/**
- * this test try to repair missing directory entries metadata.
- **/
+ * Method testInvalidDescriptor
+ *
+ * @throws Exception
+ */
public void testInvalidDescriptor() throws Exception {
String uuri = impl.doCreate("/test/test2.xml");
XDescriptors d =
impl.taminoClient.getDescriptorsAccessor().readOneRwDescriptorsByUuri(uuri);
d.setReadOnly(false);
d.removeObjectNode();
impl.taminoClient.getDescriptorsAccessor().update(d);
- impl.taminoClient.commit();
+ // impl.taminoClient.commit();
impl.testRepairer(Misc.lst(ContentCheck.RemoveDescriptor.class),
- Misc.lst(ContentCheck.RemoveDescriptor.class,
NamespaceConsistencyCheck.RemoveReference.class),
+ Misc.lst(ContentCheck.RemoveDescriptor.class,
DocumentEnabler.class,
+
NamespaceConsistencyCheck.RemoveReference.class)
// TODO: patch itself has to Create metadata --
wait for collection enabler
- Misc.lst(DocumentEnabler.class)
+ //,Misc.lst(DocumentEnabler.class)
);
}
/**
- * this test try to repair the metadata in case of a non-existing
document.
- **/
- public void testnonExistingDocument() throws Exception {
- impl.doCreate("/test/meta/test2.xml");
- impl.taminoClient.deleteContent("/*");
+ * Method testMissingContentRemoveDesc
+ *
+ * @throws Exception
+ */
+ public void testMissingContentRemoveDesc() throws Exception {
+ String uuri = impl.doCreate("/test/meta/test2.xml");
+ impl.deleteContent(uuri);
impl.testRepairer(Misc.lst(ContentCheck.RemoveDescriptor.class),
Misc.lst(ContentCheck.RemoveDescriptor.class,
NamespaceConsistencyCheck.RemoveReference.class));
}
/**
- * this test try to find out not unique uri's in metadata.
- **/
+ * Method testMissingContentRestoreFromHistory
+ *
+ * @throws Exception
+ */
+ public void testMissingContentRestoreFromHistory() throws Exception {
+ String path = "/test/meta/test2.xml";
+ String uuri = impl.doCreate(path);
+ impl.doVersionControl(path);
+ impl.deleteContent(uuri);
+
impl.testRepairer(Misc.lst(ContentCheck.RestoreContentFromHistory.class),
+
Misc.lst(ContentCheck.RestoreContentFromHistory.class));
+ }
+
+ /**
+ * Method testUniqueContentIdCheck
+ *
+ * @throws Exception
+ */
public void testUniqueContentIdCheck() throws Exception {
String origUuri;
String cloneUuri;
@@ -109,29 +156,19 @@
cloneUuri = impl.doCreate("/test/another/two/test1.xml"); // files
have to be the same, otherwise the contentlength gets wrong as well
orig =
impl.taminoClient.getDescriptorsAccessor().readOneRwDescriptorsByUuri(origUuri);
clone =
impl.taminoClient.getDescriptorsAccessor().readOneRwDescriptorsByUuri(cloneUuri);
-
impl.taminoClient.getContentAccessor().deleteContent(XDescriptorsUtil.getContentId(clone));
+ impl.deleteContent(cloneUuri);
XDescriptorsUtil.setContentId(clone,
XDescriptorsUtil.getContentId(orig));
impl.taminoClient.getDescriptorsAccessor().update(clone);
- impl.taminoClient.commit();
+ // impl.taminoClient.commit();
impl.testRepairer(Misc.lst(UniqueContentIdCheck.CopyContent.class),
- // duplicated descriptor has been deleted - this
will change if the content is copied
- Misc.lst(UniqueContentIdCheck.CopyContent.class,
NamespaceConsistencyCheck.RemoveReference.class ));
+ Misc.lst(UniqueContentIdCheck.CopyContent.class));
}
/**
- * this test try to find out not unique uri's in metadata.
- **/
- public void testUniqueDescriptorsIdCheck() throws Exception {
- impl.doCreate("/test/test1.xml");
- impl.doCreate("/test/test2.xml");
- impl.createDuplicateDescriptors();
- impl.testRepairer(Misc.lst(UniqueDescriptorsIdCheck.Duplicate.class),
- Misc.lst(UniqueDescriptorsIdCheck.Duplicate.class,
- // only a child reference will be
added - the parent
- // reference of the duplicated
descriptor is ok
-
NamespaceConsistencyCheck.AddReference.class));
- }
-
+ * Method testMissingChildRef
+ *
+ * @throws Exception
+ */
public void testMissingChildRef() throws Exception {
String uri = "/test/another/try/test2.xml";
String childUuri = impl.doCreate(uri);
@@ -141,12 +178,18 @@
XDescriptorsUtil.removeReference(parent, childUuri, false);
impl.taminoClient.getDescriptorsAccessor().update(parent);
- impl.taminoClient.commit(); // TODO: really need this?
+ // impl.taminoClient.commit(); // TODO: really need this?
impl.testRepairer(Misc.lst(NamespaceConsistencyCheck.AddReference.class),
Misc.lst(NamespaceConsistencyCheck.AddReference.class));
}
+ /**
+ * Method testMissingParentRef
+ *
+ * @throws Exception
+ *
+ */
public void testMissingParentRef() throws Exception {
String uri = "/foo/test2.xml";
String childUuri = impl.doCreate(uri);
@@ -154,15 +197,20 @@
String parentUuri = XDescriptorsUtil.getParentUuri(child);
XDescriptorsUtil.removeReference(child, parentUuri, true);
impl.taminoClient.getDescriptorsAccessor().update(child);
- impl.taminoClient.commit(); // TODO: really need this?
+ // impl.taminoClient.commit(); // TODO: really need this?
impl.testRepairer(Misc.lst(NamespaceConsistencyCheck.AddReference.class),
Misc.lst(NamespaceConsistencyCheck.AddReference.class));
}
- public void testIncorrectContentLength() throws Exception {
+ /**
+ * Method testRepairContentLength
+ *
+ * @throws Exception
+ */
+ public void testRepairContentLength() throws Exception {
String uuri = impl.doCreate("/test/another/try/test2.xml");
- String value = "2000";
+ String value = "999";
XDescriptors d =
impl.taminoClient.getDescriptorsAccessor().readOneRwDescriptorsByUuri(uuri);
d.setReadOnly(false);
@@ -171,12 +219,29 @@
d.removeRevisionDescriptor(revision);
d.setRevisionDescriptor(revision);
impl.taminoClient.getDescriptorsAccessor().update(d);
- impl.taminoClient.commit();
+ // impl.taminoClient.commit();
impl.testRepairer(Misc.lst(ContentCheck.SetContentLength.class),
Misc.lst(ContentCheck.SetContentLength.class));
}
+ /**
+ * !!!!!!!!!!!!! TESTCASE DOESN'T WORK !!!!!!!!!!!!!!!
+ */
+ public void testUniqueDescriptorsIdCheck() throws Exception {
+ impl.doCreate("/test/test1.xml");
+ impl.doCreate("/test/test2.xml");
+ impl.createDuplicateDescriptors();
+ impl.testRepairer(Misc.lst(UniqueDescriptorsIdCheck.Duplicate.class),
+ Misc.lst(UniqueDescriptorsIdCheck.Duplicate.class,
+ // only a child reference will be added -
the parent
+ // reference of the duplicated descriptor
is ok
+
NamespaceConsistencyCheck.AddReference.class));
+ }
+
+ /**
+ * !!!!!!!!! NOT YET TESTED OK !!!!!!!!!!!!!!!!!!
+ */
public void testGarbageFile() throws Exception {
String childUuri = impl.doCreate("/test2.xml");
detach(childUuri);
@@ -184,7 +249,6 @@
Misc.lst(NamespaceConsistencyCheck.AddReference.class,
NamespaceConsistencyCheck.AddReference.class));
}
-
private void detach(String childUuri) throws Exception {
XDescriptors child =
impl.taminoClient.getDescriptorsAccessor().readOneRwDescriptorsByUuri(childUuri);
String parentUuri = XDescriptorsUtil.getParentUuri(child);
@@ -195,9 +259,12 @@
impl.taminoClient.getDescriptorsAccessor().update(parent);
impl.taminoClient.getDescriptorsAccessor().update(child);
- impl.taminoClient.commit(); // TODO: really need this?
+ // impl.taminoClient.commit(); // TODO: really need this?
}
+ /**
+ * !!!!!!!!! NOT YET TESTED OK !!!!!!!!!!!!!!!!!!
+ */
public void testGarbageTree() throws Exception {
impl.doCreate("/foo/one/test2.xml");
impl.doCreate("/foo/two/test2.xml");
No revision
No revision
1.1.4.1 +9 -3
jakarta-slide/proposals/tamino/testsuite/junit/store/org/apache/slide/store/tamino/store/FakeStore.java
Index: FakeStore.java
===================================================================
RCS file:
/home/cvs/jakarta-slide/proposals/tamino/testsuite/junit/store/org/apache/slide/store/tamino/store/FakeStore.java,v
retrieving revision 1.1
retrieving revision 1.1.4.1
diff -u -r1.1 -r1.1.4.1
--- FakeStore.java 25 Mar 2004 16:18:15 -0000 1.1
+++ FakeStore.java 15 Dec 2004 08:35:01 -0000 1.1.4.1
@@ -25,6 +25,7 @@
import java.util.HashMap;
import java.util.Map;
import org.apache.slide.store.AbstractStore;
+import org.apache.slide.common.Namespace;
/**
* FakeStore.java
@@ -48,6 +49,11 @@
public String getNamespaceName() {
return namespaceName;
+ }
+
+ public Namespace getNamespace() {
+ // TODO
+ return null;
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]