You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by st...@apache.org on 2014/05/16 13:26:47 UTC

svn commit: r1595159 - in /sling/trunk/tooling/ide/api-test: pom.xml src/test/java/org/apache/sling/ide/serialization/StubNodeTypeRegistry.java src/test/java/org/apache/sling/ide/serialization/StubRepository.java

Author: stefanegli
Date: Fri May 16 11:26:47 2014
New Revision: 1595159

URL: http://svn.apache.org/r1595159
Log:
SLING-3571 : fixing test

Added:
    sling/trunk/tooling/ide/api-test/src/test/java/org/apache/sling/ide/serialization/StubNodeTypeRegistry.java   (with props)
Modified:
    sling/trunk/tooling/ide/api-test/pom.xml
    sling/trunk/tooling/ide/api-test/src/test/java/org/apache/sling/ide/serialization/StubRepository.java

Modified: sling/trunk/tooling/ide/api-test/pom.xml
URL: http://svn.apache.org/viewvc/sling/trunk/tooling/ide/api-test/pom.xml?rev=1595159&r1=1595158&r2=1595159&view=diff
==============================================================================
--- sling/trunk/tooling/ide/api-test/pom.xml (original)
+++ sling/trunk/tooling/ide/api-test/pom.xml Fri May 16 11:26:47 2014
@@ -20,5 +20,17 @@
           <version>${project.version}</version>
           <type>eclipse-plugin</type>
       </dependency>
+      <dependency>
+          <groupId>javax.jcr</groupId>
+          <artifactId>jcr</artifactId>
+          <version>2.0</version>
+          <scope>provided</scope>
+      </dependency>
+      <dependency>
+          <groupId>org.mockito</groupId>
+          <artifactId>mockito-all</artifactId>
+          <version>1.9.5</version>
+          <scope>test</scope>
+      </dependency>
   </dependencies>
 </project>

Added: sling/trunk/tooling/ide/api-test/src/test/java/org/apache/sling/ide/serialization/StubNodeTypeRegistry.java
URL: http://svn.apache.org/viewvc/sling/trunk/tooling/ide/api-test/src/test/java/org/apache/sling/ide/serialization/StubNodeTypeRegistry.java?rev=1595159&view=auto
==============================================================================
--- sling/trunk/tooling/ide/api-test/src/test/java/org/apache/sling/ide/serialization/StubNodeTypeRegistry.java (added)
+++ sling/trunk/tooling/ide/api-test/src/test/java/org/apache/sling/ide/serialization/StubNodeTypeRegistry.java Fri May 16 11:26:47 2014
@@ -0,0 +1,71 @@
+package org.apache.sling.ide.serialization;
+
+import static org.mockito.Matchers.anyString;
+import static org.mockito.Mockito.when;
+
+import java.util.Collection;
+import java.util.Iterator;
+import java.util.LinkedList;
+import java.util.List;
+
+import javax.jcr.Node;
+import javax.jcr.nodetype.NodeType;
+
+import org.apache.sling.ide.transport.NodeTypeRegistry;
+import org.apache.sling.ide.transport.RepositoryException;
+import org.mockito.Mockito;
+import org.mockito.stubbing.Answer;
+
+public class StubNodeTypeRegistry implements NodeTypeRegistry {
+
+    List<NodeType> nodeTypes = new LinkedList<NodeType>();
+    
+    @Override
+    public boolean isAllowedPrimaryChildNodeType(String parentNodeType,
+            String childNodeType) throws RepositoryException {
+        throw new IllegalStateException("not yet implemented");
+    }
+
+    @Override
+    public Collection<String> getAllowedPrimaryChildNodeTypes(
+            String parentNodeType) throws RepositoryException {
+        throw new IllegalStateException("not yet implemented");
+    }
+    
+    void addNodeType(String name, String[] superTypeNames) {
+        nodeTypes.add(getNodeTypeMock(name, superTypeNames));
+    }
+
+    private NodeType getNodeTypeMock(String name, String[] superTypeNames) {
+        NodeType nodeType = Mockito.mock(NodeType.class);
+        when(nodeType.getName()).thenReturn(name);
+        if (superTypeNames!=null) {
+            NodeType[] superTypes = new NodeType[superTypeNames.length];
+            for (int i = 0; i < superTypeNames.length; i++) {
+                String aSuperTypeName = superTypeNames[i];
+                NodeType aSuperType = getNodeTypeMock(aSuperTypeName, null);
+                superTypes[i] = aSuperType;
+            }
+            when(nodeType.getSupertypes()).thenReturn(superTypes);
+            when(nodeType.getDeclaredSupertypeNames()).thenReturn(superTypeNames);
+        }
+        return nodeType;
+    }
+
+    @Override
+    public List<NodeType> getNodeTypes() {
+        return new LinkedList<NodeType>(nodeTypes);
+    }
+
+    @Override
+    public NodeType getNodeType(String name) {
+        for (Iterator<NodeType> it = nodeTypes.iterator(); it.hasNext();) {
+            NodeType nt = it.next();
+            if (nt.getName().equals(name)) {
+                return nt;
+            }
+        }
+        return getNodeTypeMock(name, null);
+    }
+
+}

Propchange: sling/trunk/tooling/ide/api-test/src/test/java/org/apache/sling/ide/serialization/StubNodeTypeRegistry.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Modified: sling/trunk/tooling/ide/api-test/src/test/java/org/apache/sling/ide/serialization/StubRepository.java
URL: http://svn.apache.org/viewvc/sling/trunk/tooling/ide/api-test/src/test/java/org/apache/sling/ide/serialization/StubRepository.java?rev=1595159&r1=1595158&r2=1595159&view=diff
==============================================================================
--- sling/trunk/tooling/ide/api-test/src/test/java/org/apache/sling/ide/serialization/StubRepository.java (original)
+++ sling/trunk/tooling/ide/api-test/src/test/java/org/apache/sling/ide/serialization/StubRepository.java Fri May 16 11:26:47 2014
@@ -29,76 +29,6 @@ public class StubRepository implements R
 
     @Override
     public Command<ResourceProxy> newListChildrenNodeCommand(final String path) {
-
-        if ("/jcr:system/jcr:nodeTypes".equals(path)) {
-            return new Command<ResourceProxy>() {
-
-                @Override
-                public Result<ResourceProxy> execute() {
-
-                    final ResourceProxy root = new ResourceProxy(path);
-                    root.addProperty("jcr:primaryType", "rep:nodeTypes");
-
-                    // nt:file
-                    ResourceProxy ntFile = NodeTypeResourceBuilder.newBuilder(root, "nt:file")
-                            .setSupertypes(new String[] { "nt:hierarchyNode" }).build();
-                    
-                    // nt:folder
-                    ResourceProxy ntFolder = NodeTypeResourceBuilder.newBuilder(root, "nt:folder")
-                            .setSupertypes(new String[] { "nt:hierarchyNode" }).build();
-
-                    // nt:hierarchyNode
-                    ResourceProxy ntHierarchyNode = NodeTypeResourceBuilder.newBuilder(root, "nt:hierarchyNode")
-                            .setSupertypes(new String[] { "mix:created", "nt:base" }).build();
-
-                    // nt:unstructured
-                    ResourceProxy ntUnstructured = NodeTypeResourceBuilder.newBuilder(root, "nt:unstructured")
-                            .setSupertypes(new String[] {"nt:base" }).build();
-
-                    // nt:base
-                    ResourceProxy ntBase = NodeTypeResourceBuilder.newBuilder(root, "nt:base")
-                            .setSupertypes(new String[] { }).build();
-                    
-                    // sling:OsgiConfig
-                    ResourceProxy slingOsgiConfig = NodeTypeResourceBuilder.newBuilder(root, "sling:OsgiConfig")
-                            .setSupertypes(new String[] {"nt:hierarchyNode", "nt:unstructured" }).build();
-                    
-                    // sling:Folder
-                    ResourceProxy slingFolder = NodeTypeResourceBuilder.newBuilder(root, "sling:Folder")
-                            .setSupertypes(new String[] {"nt:folder" }).build();
-                    
-                    // vlt:FullCoverage
-                    ResourceProxy vltFullCoverage = NodeTypeResourceBuilder.newBuilder(root, "vlt:FullCoverage")
-                            .setIsMixin(true).setSupertypes(new String[] {}).build();
-
-                    root.addChild(ntFile);
-                    root.addChild(ntFolder);
-                    root.addChild(ntHierarchyNode);
-                    root.addChild(ntUnstructured);
-                    root.addChild(ntBase);
-                    root.addChild(slingOsgiConfig);
-                    root.addChild(slingFolder);
-                    root.addChild(vltFullCoverage);
-
-                    return new Result<ResourceProxy>() {
-                        public ResourceProxy get() throws RepositoryException {
-                            return root;
-                        }
-
-                        @Override
-                        public boolean isSuccess() {
-                            return true;
-                        };
-                    };
-                }
-
-                @Override
-                public String getPath() {
-                    return path;
-                }
-            };
-        }
-
         return null;
     }
 
@@ -129,6 +59,17 @@ public class StubRepository implements R
     
     @Override
     public NodeTypeRegistry getNodeTypeRegistry() {
-        return null;
+        final StubNodeTypeRegistry stubNodeTypeRegistry = new StubNodeTypeRegistry();
+        
+        stubNodeTypeRegistry.addNodeType("nt:file", new String[] {"nt:hierarchyNode"});
+        stubNodeTypeRegistry.addNodeType("nt:folder", new String[] {"nt:hierarchyNode"});
+        stubNodeTypeRegistry.addNodeType("nt:hierarchyNode", new String[] {"mix:created", "nt:base"});
+        stubNodeTypeRegistry.addNodeType("nt:unstructured", new String[] {"nt:base"});
+        stubNodeTypeRegistry.addNodeType("nt:base", new String[] {});
+        stubNodeTypeRegistry.addNodeType("sling:OsgiConfig", new String[] {"nt:hierarchyNode", "nt:unstructured"});
+        stubNodeTypeRegistry.addNodeType("sling:Folder", new String[] {"nt:folder"});
+        stubNodeTypeRegistry.addNodeType("vlt:FullCoverage", new String[] {});
+
+        return stubNodeTypeRegistry;
     }
 }
\ No newline at end of file