diff --git a/.chronus/changes/add-test-withRelativeNextLink-2026-4-14.md b/.chronus/changes/add-test-withRelativeNextLink-2026-4-14.md new file mode 100644 index 00000000000..0375df5ed14 --- /dev/null +++ b/.chronus/changes/add-test-withRelativeNextLink-2026-4-14.md @@ -0,0 +1,8 @@ +--- +# Change versionKind to one of: internal, fix, dependencies, feature, deprecation, breaking +changeKind: feature +packages: + - "@typespec/http-client-java" +--- + +Add test case for `withRelativeNextLink`, `FlattenUnknownModel`, `FlattenReadOnlyModel` scenario. diff --git a/packages/http-client-java/generator/http-client-generator-test/src/test/java/azure/clientgenerator/core/flattenproperty/FlattenClientTests.java b/packages/http-client-java/generator/http-client-generator-test/src/test/java/azure/clientgenerator/core/flattenproperty/FlattenClientTests.java index eee87772a1f..b1014971e8f 100644 --- a/packages/http-client-java/generator/http-client-generator-test/src/test/java/azure/clientgenerator/core/flattenproperty/FlattenClientTests.java +++ b/packages/http-client-java/generator/http-client-generator-test/src/test/java/azure/clientgenerator/core/flattenproperty/FlattenClientTests.java @@ -6,7 +6,11 @@ import azure.clientgenerator.core.flattenproperty.models.ChildFlattenModel; import azure.clientgenerator.core.flattenproperty.models.ChildModel; import azure.clientgenerator.core.flattenproperty.models.FlattenModel; +import azure.clientgenerator.core.flattenproperty.models.FlattenUnknownModel; import azure.clientgenerator.core.flattenproperty.models.NestedFlattenModel; +import azure.clientgenerator.core.flattenproperty.models.Solution; +import azure.clientgenerator.core.flattenproperty.models.SolutionProperties; +import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; public class FlattenClientTests { @@ -19,4 +23,24 @@ public void testFlattenModel() { flattenClient.putNestedFlattenModel( new NestedFlattenModel("foo", new ChildFlattenModel("bar", new ChildModel("test", 10)))); } + + @Test + public void testPutFlattenUnknownModel() { + // flatten is ignored for unknown (non-model) type properties + FlattenUnknownModel result = flattenClient.putFlattenUnknownModel(new FlattenUnknownModel("foo")); + Assertions.assertEquals("test", result.getName()); + Assertions.assertNotNull(result.getProperties()); + } + + @Test + public void testPutFlattenReadOnlyModel() { + // flatten with all read-only properties; input only contains writable fields + Solution result = flattenClient.putFlattenReadOnlyModel(new Solution("foo")); + Assertions.assertEquals("foo", result.getName()); + SolutionProperties properties = result.getProperties(); + Assertions.assertNotNull(properties); + Assertions.assertEquals("solution1", properties.getSolutionId()); + Assertions.assertEquals("Solution Title", properties.getTitle()); + Assertions.assertEquals("Solution Content", properties.getContent()); + } } diff --git a/packages/http-client-java/generator/http-client-generator-test/src/test/java/azure/core/page/PageTests.java b/packages/http-client-java/generator/http-client-generator-test/src/test/java/azure/core/page/PageTests.java index 8ed4b2ff6f7..65242c9c6c0 100644 --- a/packages/http-client-java/generator/http-client-generator-test/src/test/java/azure/core/page/PageTests.java +++ b/packages/http-client-java/generator/http-client-generator-test/src/test/java/azure/core/page/PageTests.java @@ -47,4 +47,9 @@ public void testPageRequestBody() { public void testPageNextLinkReInjectedParameters() { Assertions.assertEquals(2, client.withParameterizedNextLink("name", true).stream().count()); } + + @Test + public void testPageWithRelativeNextLink() { + Assertions.assertEquals(2, client.withRelativeNextLink().stream().count()); + } }