Browse Source

Revert "WIP (#121463)"

This reverts commit fd1bd79b85d46ccd34931dc28ce9c9c4a50f949f.
PR was merged by a mistake, still needs to get reviewed.
Christoph Büscher 8 months ago
parent
commit
85f5222d69

+ 2 - 17
test/framework/src/main/java/org/elasticsearch/test/AbstractXContentTestCase.java

@@ -145,21 +145,8 @@ public abstract class AbstractXContentTestCase<T extends ToXContent> extends EST
         public void test() throws IOException {
             for (int runs = 0; runs < numberOfTestRuns; runs++) {
                 XContentType xContentType = randomFrom(XContentType.values()).canonical();
-                T testInstance = null;
+                T testInstance = instanceSupplier.apply(xContentType);
                 try {
-                    if (xContentType.equals(XContentType.YAML)) {
-                        testInstance = randomValueOtherThanMany(instance -> {
-                            // unicode character U+0085 (NEXT LINE (NEL)) doesn't survive YAML round trip tests (see #97716)
-                            // get a new random instance if we detect this character in the xContent output
-                            try {
-                                return toXContent.apply(instance, xContentType).utf8ToString().contains("\u0085");
-                            } catch (IOException e) {
-                                throw new RuntimeException(e);
-                            }
-                        }, () -> instanceSupplier.apply(xContentType));
-                    } else {
-                        testInstance = instanceSupplier.apply(xContentType);
-                    }
                     BytesReference originalXContent = toXContent.apply(testInstance, xContentType);
                     BytesReference shuffledContent = insertRandomFieldsAndShuffle(
                         originalXContent,
@@ -186,9 +173,7 @@ public abstract class AbstractXContentTestCase<T extends ToXContent> extends EST
                         dispose.accept(parsed);
                     }
                 } finally {
-                    if (testInstance != null) {
-                        dispose.accept(testInstance);
-                    }
+                    dispose.accept(testInstance);
                 }
             }
         }

+ 0 - 40
test/framework/src/test/java/org/elasticsearch/test/AbstractXContentTestCaseTests.java

@@ -12,13 +12,11 @@ package org.elasticsearch.test;
 import com.carrotsearch.randomizedtesting.RandomizedContext;
 
 import org.elasticsearch.common.bytes.BytesReference;
-import org.elasticsearch.xcontent.ToXContentFragment;
 import org.elasticsearch.xcontent.XContentBuilder;
 import org.elasticsearch.xcontent.XContentFactory;
 import org.elasticsearch.xcontent.XContentParser;
 import org.elasticsearch.xcontent.XContentType;
 
-import java.io.IOException;
 import java.util.Map;
 
 import static org.hamcrest.Matchers.equalTo;
@@ -51,42 +49,4 @@ public class AbstractXContentTestCaseTests extends ESTestCase {
             assertThat(mapOrdered.keySet().iterator().next(), not(equalTo("field")));
         }
     }
-
-    private record TestToXContent(String field, String value) implements ToXContentFragment {
-
-        @Override
-        public XContentBuilder toXContent(XContentBuilder builder, Params params) throws IOException {
-            return builder.field(field, value);
-        }
-    }
-
-    public void testYamlXContentRoundtripSanitization() throws Exception {
-        var test = new AbstractXContentTestCase<TestToXContent>() {
-
-            @Override
-            protected TestToXContent createTestInstance() {
-                // we need to randomly create both a "problematic" and an okay version in order to ensure that the sanitization code
-                // can draw at least one okay version if polled often enough
-                return randomBoolean() ? new TestToXContent("a\u0085b", "def") : new TestToXContent("a b", "def");
-            }
-
-            @Override
-            protected TestToXContent doParseInstance(XContentParser parser) throws IOException {
-                assertEquals(XContentParser.Token.START_OBJECT, parser.nextToken());
-                assertEquals(XContentParser.Token.FIELD_NAME, parser.nextToken());
-                String name = parser.currentName();
-                assertEquals(XContentParser.Token.VALUE_STRING, parser.nextToken());
-                String value = parser.text();
-                assertEquals(XContentParser.Token.END_OBJECT, parser.nextToken());
-                return new TestToXContent(name, value);
-            };
-
-            @Override
-            protected boolean supportsUnknownFields() {
-                return false;
-            }
-        };
-        // testFromXContent runs 20 repetitions, enough to hit a YAML xcontent version very likely
-        test.testFromXContent();
-    }
 }