Index: /home/ntoper/workspace/jackrabbit current/src/test/java/org/apache/jackrabbit/core/xml/WorkspaceImporterRootNodeTest.java
===================================================================
--- /home/ntoper/workspace/jackrabbit current/src/test/java/org/apache/jackrabbit/core/xml/WorkspaceImporterRootNodeTest.java	(revision 0)
+++ /home/ntoper/workspace/jackrabbit current/src/test/java/org/apache/jackrabbit/core/xml/WorkspaceImporterRootNodeTest.java	(revision 0)
@@ -0,0 +1,134 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.jackrabbit.core.xml;
+
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+
+import javax.jcr.ImportUUIDBehavior;
+import javax.jcr.ItemExistsException;
+import javax.jcr.Node;
+import javax.jcr.RepositoryException;
+import javax.jcr.Session;
+import javax.jcr.Workspace;
+import javax.jcr.nodetype.ConstraintViolationException;
+import javax.xml.transform.OutputKeys;
+import javax.xml.transform.TransformerException;
+import javax.xml.transform.sax.SAXTransformerFactory;
+import javax.xml.transform.sax.TransformerHandler;
+import javax.xml.transform.stream.StreamResult;
+
+import junit.framework.TestCase;
+
+import org.apache.jackrabbit.core.TestRepository;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.xml.sax.SAXException;
+
+/**
+ * Test cases for the {@link WorkspaceImporter} class.
+ */
+public class WorkspaceImporterRootNodeTest extends TestCase {
+
+    private ByteArrayInputStream temp;
+    private Workspace wsp;
+    private Session session;
+    private Node root;
+
+
+    public void setUp() throws Exception {
+        session = TestRepository.getInstance().login();
+        // Use the root node as a starting point
+        root = session.getRootNode();
+        root.addNode("a");
+        root.addNode("b");
+        root.addNode("c");
+        session.save();
+
+        //Create the sysView export
+        SAXTransformerFactory stf = (SAXTransformerFactory) SAXTransformerFactory.newInstance();
+        ByteArrayOutputStream out = new ByteArrayOutputStream();
+
+        try {
+            TransformerHandler th = stf.newTransformerHandler();
+            th.setResult(new StreamResult(out));
+            th.getTransformer().setParameter(OutputKeys.METHOD, "xml");
+            th.getTransformer().setParameter(OutputKeys.ENCODING, "UTF-8");
+            th.getTransformer().setParameter(OutputKeys.INDENT, "no");
+
+            new SysViewSAXEventGenerator(
+                    session.getRootNode(), false, false, th) {
+                protected void process(Node node, int level)
+                throws RepositoryException, SAXException {
+                    if (!"/jcr:system".equals(node.getPath())) {
+                        super.process(node, level);
+                    }
+                }
+            } .serialize();
+        } catch (TransformerException te) {
+            throw new RepositoryException(te);
+        } catch (SAXException se) {
+            throw new RepositoryException(se);
+        }
+        temp = new ByteArrayInputStream(out.toByteArray());
+        wsp = session.getWorkspace();
+
+     }
+
+    private void invariant() throws RepositoryException {
+        Node root = session.getRootNode();
+        assertTrue(root.hasNode("jcr:system"));
+        assertTrue(root.hasNode("a"));
+        assertTrue(root.hasNode("b"));
+        assertTrue(root.hasNode("c"));
+    }
+
+    public void testImportRootNodeReplaceExisting() throws RepositoryException, IOException {
+        invariant();
+        wsp.importXML("/", temp , ImportUUIDBehavior.IMPORT_UUID_COLLISION_REPLACE_EXISTING);
+        invariant();
+    }
+
+     public void testImportRootNodeRemoveExisting() throws RepositoryException, IOException {
+        invariant();
+        try {
+            wsp.importXML("/", temp , ImportUUIDBehavior.IMPORT_UUID_COLLISION_REMOVE_EXISTING);
+        } catch (ConstraintViolationException te) {
+        }
+        invariant();
+    }
+
+    public void testImportCollisionThrow() throws RepositoryException, IOException {
+        invariant();
+            try {
+                wsp.importXML("/", temp , ImportUUIDBehavior.IMPORT_UUID_COLLISION_THROW);
+            } catch (ItemExistsException e) {
+            }
+        invariant();
+    }
+
+    public void tearDown() throws Exception {
+        root.remove();
+        session.logout();
+        session.save();
+        super.tearDown();
+    }
+
+}
