This is an automated email from the ASF dual-hosted git repository. robertlazarski pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/axis-axis2-java-core.git
commit 2cdf276da9f66ddf111078b6326424f6563a043f Author: Robert Lazarski <[email protected]> AuthorDate: Tue Apr 21 04:32:26 2026 -1000 Add GSON parity test and fix field visibility for test inheritance GsonFieldFilteringMessageFormatterTest extends the Moshi test class and overrides setUp() to use JSONStreamingMessageFormatter as the delegate. All field filtering tests (flat + nested + 127-field + dot-notation) now run against both Moshi and GSON formatters. Parent test class fields changed from private to protected to enable subclass override of setUp(). Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]> --- .../FieldFilteringMessageFormatterTest.java | 8 +-- .../GsonFieldFilteringMessageFormatterTest.java | 61 ++++++++++++++++++++++ 2 files changed, 65 insertions(+), 4 deletions(-) diff --git a/modules/json/test/org/apache/axis2/json/streaming/FieldFilteringMessageFormatterTest.java b/modules/json/test/org/apache/axis2/json/streaming/FieldFilteringMessageFormatterTest.java index 25bb85721a..aacb835e9e 100644 --- a/modules/json/test/org/apache/axis2/json/streaming/FieldFilteringMessageFormatterTest.java +++ b/modules/json/test/org/apache/axis2/json/streaming/FieldFilteringMessageFormatterTest.java @@ -50,10 +50,10 @@ import java.util.Set; */ public class FieldFilteringMessageFormatterTest { - private MessageContext outMsgContext; - private OMOutputFormat outputFormat; - private ByteArrayOutputStream outputStream; - private FieldFilteringMessageFormatter formatter; + protected MessageContext outMsgContext; + protected OMOutputFormat outputFormat; + protected ByteArrayOutputStream outputStream; + protected FieldFilteringMessageFormatter formatter; @Before public void setUp() { diff --git a/modules/json/test/org/apache/axis2/json/streaming/GsonFieldFilteringMessageFormatterTest.java b/modules/json/test/org/apache/axis2/json/streaming/GsonFieldFilteringMessageFormatterTest.java new file mode 100644 index 0000000000..a7afc1e26a --- /dev/null +++ b/modules/json/test/org/apache/axis2/json/streaming/GsonFieldFilteringMessageFormatterTest.java @@ -0,0 +1,61 @@ +/* + * 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.axis2.json.streaming; + +import org.apache.axiom.om.OMAbstractFactory; +import org.apache.axiom.om.OMOutputFormat; +import org.apache.axiom.soap.SOAPFactory; +import org.apache.axis2.Constants; +import org.apache.axis2.context.MessageContext; +import org.junit.Before; + +import java.io.ByteArrayOutputStream; + +/** + * Runs the same field filtering tests as + * {@link FieldFilteringMessageFormatterTest} but with the GSON-based + * {@link JSONStreamingMessageFormatter} as the delegate instead of + * {@link MoshiStreamingMessageFormatter}. + * + * <p>This ensures behavioral parity between the two JSON formatters + * for all field filtering features including dot-notation nested + * filtering.</p> + * + * @since 2.0.1 + */ +public class GsonFieldFilteringMessageFormatterTest + extends FieldFilteringMessageFormatterTest { + + @Override + @Before + public void setUp() { + SOAPFactory soapFactory = OMAbstractFactory.getSOAP11Factory(); + outputFormat = new OMOutputFormat(); + outputStream = new ByteArrayOutputStream(); + + outMsgContext = new MessageContext(); + outMsgContext.setProperty(Constants.Configuration.CHARACTER_SET_ENCODING, "UTF-8"); + + // Use GSON delegate instead of Moshi — all inherited tests run + // against the GSON field filtering implementation + formatter = new FieldFilteringMessageFormatter( + new JSONStreamingMessageFormatter()); + } +}
