You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-commits@jackrabbit.apache.org by re...@apache.org on 2019/02/22 09:37:40 UTC

svn commit: r1854124 - in /jackrabbit/oak/branches/1.10: ./ oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/nodetype/NodeTypeTest.java

Author: reschke
Date: Fri Feb 22 09:37:40 2019
New Revision: 1854124

URL: http://svn.apache.org/viewvc?rev=1854124&view=rev
Log:
OAK-8030: oak-jcr NodeTypeTest improvements (ported to 1.10)

Modified:
    jackrabbit/oak/branches/1.10/   (props changed)
    jackrabbit/oak/branches/1.10/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/nodetype/NodeTypeTest.java

Propchange: jackrabbit/oak/branches/1.10/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Fri Feb 22 09:37:40 2019
@@ -1,3 +1,3 @@
 /jackrabbit/oak/branches/1.0:1665962
-/jackrabbit/oak/trunk:1851236,1851253,1851451,1852052,1852084,1852120,1852451,1852492-1852493,1852528,1852582,1852584,1852601,1852920,1853393,1853429,1853433,1853441,1853866,1853868,1853870,1853893,1853969,1853997,1854034,1854044
+/jackrabbit/oak/trunk:1851236,1851253,1851451,1852052,1852084,1852120,1852451,1852492-1852493,1852528,1852582,1852584,1852601,1852920,1853141,1853393,1853429,1853433,1853441,1853866,1853868,1853870,1853893,1853969,1853997,1854034,1854044
 /jackrabbit/trunk:1345480

Modified: jackrabbit/oak/branches/1.10/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/nodetype/NodeTypeTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.10/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/nodetype/NodeTypeTest.java?rev=1854124&r1=1854123&r2=1854124&view=diff
==============================================================================
--- jackrabbit/oak/branches/1.10/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/nodetype/NodeTypeTest.java (original)
+++ jackrabbit/oak/branches/1.10/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/nodetype/NodeTypeTest.java Fri Feb 22 09:37:40 2019
@@ -18,9 +18,9 @@
  */
 package org.apache.jackrabbit.oak.jcr.nodetype;
 
-import static junit.framework.Assert.assertEquals;
-import static junit.framework.Assert.fail;
+import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.fail;
 
 import java.io.StringReader;
 import java.util.ArrayList;
@@ -39,9 +39,12 @@ import javax.jcr.nodetype.PropertyDefini
 
 import org.apache.jackrabbit.JcrConstants;
 import org.apache.jackrabbit.commons.cnd.CndImporter;
+import org.apache.jackrabbit.oak.commons.junit.LogCustomizer;
 import org.apache.jackrabbit.oak.fixture.NodeStoreFixture;
 import org.apache.jackrabbit.oak.jcr.AbstractRepositoryTest;
+import org.apache.jackrabbit.oak.plugins.nodetype.TypeEditorProvider;
 import org.junit.Test;
+import org.slf4j.event.Level;
 
 public class NodeTypeTest extends AbstractRepositoryTest {
 
@@ -130,9 +133,11 @@ public class NodeTypeTest extends Abstra
     @Test
     public void trivialUpdates() throws Exception {
         // test various trivial updates that should not trigger repository scans
-        // whether or not the repository scan happens can not be checked directly;
-        // it requires inspecting the INFO level log 
+        // whether or not the repository scan happens can not be checked
+        // directly; it requires inspecting the INFO level log, thus the use of
+        // LogCustomizer
 
+        LogCustomizer logCustomizer;
         String[] types = new String[] { "trivial1", "trivial2" };
         ArrayList<NodeTypeTemplate> ntt = new ArrayList<NodeTypeTemplate>();
 
@@ -161,12 +166,23 @@ public class NodeTypeTest extends Abstra
             opts.setRequiredType(PropertyType.STRING);
 
             NodeTypeTemplate nt = manager.createNodeTypeTemplate(ntd);
-            List pdt = nt.getPropertyDefinitionTemplates();
+            @SuppressWarnings("unchecked")
+            List<PropertyDefinitionTemplate> pdt = nt.getPropertyDefinitionTemplates();
             pdt.add(opt);
             pdt.add(opts);
             ntt.add(nt);
         }
-        manager.registerNodeTypes(ntt.toArray(new NodeTypeTemplate[0]), true);
+        
+        logCustomizer = LogCustomizer.forLogger(TypeEditorProvider.class.getName()).enable(Level.INFO)
+                .contains("appear to be trivial, repository will not be scanned").create();
+        try {
+            logCustomizer.starting();
+            manager.registerNodeTypes(ntt.toArray(new NodeTypeTemplate[0]), true);
+            assertEquals("captured INFO log should contain exactly one entry, but is: " + logCustomizer.getLogs(), 1,
+                    logCustomizer.getLogs().size());
+        } finally {
+            logCustomizer.finished();
+        }
 
         // make one optional property mandatory
         ntt = new ArrayList<NodeTypeTemplate>();
@@ -183,13 +199,24 @@ public class NodeTypeTest extends Abstra
             opts.setRequiredType(PropertyType.STRING);
 
             NodeTypeTemplate nt = manager.createNodeTypeTemplate(ntd);
-            List pdt = nt.getPropertyDefinitionTemplates();
+            @SuppressWarnings("unchecked")
+            List<PropertyDefinitionTemplate> pdt = nt.getPropertyDefinitionTemplates();
             pdt.add(opt);
             pdt.add(opts);
             ntt.add(nt);
         }
         // but update both node types
-        manager.registerNodeTypes(ntt.toArray(new NodeTypeTemplate[0]), true);
+
+        logCustomizer = LogCustomizer.forLogger(TypeEditorProvider.class.getName()).enable(Level.INFO)
+                .contains("appear not to be trivial, starting repository scan").create();
+        try {
+            logCustomizer.starting();
+            manager.registerNodeTypes(ntt.toArray(new NodeTypeTemplate[0]), true);
+            assertEquals("captured INFO log should contain exactly one entry, but is: " + logCustomizer.getLogs(), 1,
+                    logCustomizer.getLogs().size());
+        } finally {
+            logCustomizer.finished();
+        }
     }
 
     @Test