You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by jo...@apache.org on 2024/02/03 18:00:11 UTC

(sling-org-apache-sling-models-jacksonexporter) 01/01: SLING-12242 improve the tests

This is an automated email from the ASF dual-hosted git repository.

joerghoh pushed a commit to branch SLING-12242-improve-tests
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-models-jacksonexporter.git

commit fb430d29de3b77646f622ca9213aa2b9f51ccaab
Author: Joerg Hoh <jo...@apache.org>
AuthorDate: Sat Feb 3 18:59:57 2024 +0100

    SLING-12242 improve the tests
---
 .../JacksonExporterLimitSerializationTest.java     | 31 +++++++++-------------
 1 file changed, 13 insertions(+), 18 deletions(-)

diff --git a/src/test/java/org/apache/sling/models/jacksonexporter/impl/JacksonExporterLimitSerializationTest.java b/src/test/java/org/apache/sling/models/jacksonexporter/impl/JacksonExporterLimitSerializationTest.java
index 74bdc18..016ccc9 100644
--- a/src/test/java/org/apache/sling/models/jacksonexporter/impl/JacksonExporterLimitSerializationTest.java
+++ b/src/test/java/org/apache/sling/models/jacksonexporter/impl/JacksonExporterLimitSerializationTest.java
@@ -18,7 +18,6 @@
  */
 package org.apache.sling.models.jacksonexporter.impl;
 
-import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertTrue;
 
 import java.util.Collections;
@@ -31,16 +30,16 @@ import org.apache.sling.api.resource.LoginException;
 import org.apache.sling.api.resource.PersistenceException;
 import org.apache.sling.api.resource.Resource;
 import org.apache.sling.api.resource.ResourceResolver;
-import org.apache.sling.models.factory.ExportException;
 import org.apache.sling.models.jacksonexporter.impl.example.PojoWithResourceResolver;
 import org.apache.sling.models.jacksonexporter.impl.util.LogCapture;
 import org.apache.sling.testing.mock.osgi.junit5.OsgiContext;
 import org.apache.sling.testing.mock.osgi.junit5.OsgiContextExtension;
-import org.jetbrains.annotations.NotNull;
-import org.jetbrains.annotations.Nullable;
 import org.junit.jupiter.api.Test;
 import org.junit.jupiter.api.extension.ExtendWith;
 
+import com.fasterxml.jackson.databind.JsonNode;
+import com.fasterxml.jackson.databind.ObjectMapper;
+
 import ch.qos.logback.classic.Level;
 
 @ExtendWith(OsgiContextExtension.class)
@@ -48,10 +47,8 @@ class JacksonExporterLimitSerializationTest {
 
     private OsgiContext context = new OsgiContext();
     
-    
-    
     @Test
-    void testWarnLogWhenSerializingResourceResolver() throws ExportException {
+    void testWarnLogWhenSerializingResourceResolver() throws Exception {
         
         LogCapture capture = new LogCapture(JacksonExporter.class.getName(),false);
         
@@ -61,32 +58,30 @@ class JacksonExporterLimitSerializationTest {
         JacksonExporter underTest = context.registerInjectActivateService(JacksonExporter.class);
         Map<String,String> options = Collections.emptyMap();
 
-        String expectedJson = "{\"msg\":\"text\",\"resolver\":{";
-        assertTrue(underTest.export(pojo, String.class, options).contains(expectedJson));
+        String json = underTest.export(pojo, String.class, options);
+        ObjectMapper mapper = new ObjectMapper();
+        JsonNode result = mapper.readTree(json);
+        assertTrue(result.path("resolver").isContainerNode());
         assertTrue(capture.anyMatch(event -> {
            return event.getFormattedMessage().equals(WarningResourceResolverMixin.MESSAGE) && 
                    event.getLevel().equals(Level.WARN);
         }));
     }
     
-    
     @Test
-    void testNotSerializingResourceResolverWhenDisabled() throws ExportException {
+    void testNotSerializingResourceResolverWhenDisabled() throws Exception {
         
-        LogCapture capture = new LogCapture(IgnoringResourceResolverMixin.class.getName(),false);        
         PojoWithResourceResolver pojo = new PojoWithResourceResolver("text",new EmptyResourceResolver());
-        
         Map<String,Object> config = Collections.singletonMap("disable.serialization", ResourceResolver.class.getName());
         context.registerInjectActivateService(new ConfigurableSerializationModuleProvider(),config);
         
-        
         JacksonExporter underTest = context.registerInjectActivateService(JacksonExporter.class);
         Map<String,String> options = Collections.emptyMap();
-
-        String expectedJson = "{\"msg\":\"text\"}";
-        assertEquals(expectedJson, underTest.export(pojo, String.class, options));
         
-//        assertTrue(capture.anyMatch(p -> p.getFormattedMessage().contains(IgnoringResourceResolverMixin.MESSAGE)));
+        String json = underTest.export(pojo, String.class, options);
+        ObjectMapper mapper = new ObjectMapper();
+        JsonNode result = mapper.readTree(json);
+        assertTrue(result.path("resolver").isMissingNode());
     }