Skip to content

Commit 97b39b3

Browse files
committed
fix (JAVA CLIENTS): don't generate oneOf (not working) example code when using useOneOfInterfaces option
1 parent 3605028 commit 97b39b3

4 files changed

Lines changed: 37 additions & 6 deletions

File tree

modules/openapi-generator/src/main/resources/Java/libraries/jersey2/model_oneof_doc.mustache

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
NOTE: this class is nullable.
1414

1515
{{/isNullable}}
16-
## Example
16+
{{^vendorExtensions.x-is-one-of-interface}}## Example
1717
```java
1818
// Import classes:
1919
import {{{package}}}.{{{classname}}};
@@ -35,4 +35,4 @@ public class Example {
3535
{{/oneOf}}
3636
}
3737
}
38-
```
38+
```{{/vendorExtensions.x-is-one-of-interface}}

modules/openapi-generator/src/main/resources/Java/libraries/jersey3/model_oneof_doc.mustache

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
NOTE: this class is nullable.
1414

1515
{{/isNullable}}
16-
## Example
16+
{{^vendorExtensions.x-is-one-of-interface}}## Example
1717
```java
1818
// Import classes:
1919
import {{{package}}}.{{{classname}}};
@@ -35,4 +35,4 @@ public class Example {
3535
{{/oneOf}}
3636
}
3737
}
38-
```
38+
```{{/vendorExtensions.x-is-one-of-interface}}

modules/openapi-generator/src/main/resources/Java/libraries/native/model_oneof_doc.mustache

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
NOTE: this class is nullable.
1414

1515
{{/isNullable}}
16-
## Example
16+
{{^vendorExtensions.x-is-one-of-interface}}## Example
1717
```java
1818
// Import classes:
1919
import {{{package}}}.{{{classname}}};
@@ -35,4 +35,4 @@ public class Example {
3535
{{/oneOf}}
3636
}
3737
}
38-
```
38+
```{{/vendorExtensions.x-is-one-of-interface}}

modules/openapi-generator/src/test/java/org/openapitools/codegen/java/JavaClientCodegenTest.java

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3779,4 +3779,35 @@ public void testClientWithUseOneOfInterfaceWithoutDiscriminator_issue_17419(Stri
37793779

37803780
}
37813781

3782+
@Test(dataProvider = "allJavaClients")
3783+
public void testClientWithUseOneOfInterfaceShouldntGenerateOneOfExample_issue_17419(String client) {
3784+
// given
3785+
final Path output = newTempFolder();
3786+
final CodegenConfigurator configurator = new CodegenConfigurator()
3787+
.setGeneratorName("java")
3788+
.setLibrary(client)
3789+
.setAdditionalProperties(Map.of("useOneOfInterfaces", "true"))
3790+
.setInputSpec("src/test/resources/3_0/typescript-fetch/oneOf.yaml")
3791+
.setOutputDir(output.toString().replace("\\", "/"));
3792+
3793+
final ClientOptInput input = configurator.toClientOptInput();
3794+
3795+
// when
3796+
List<File> files = new DefaultGenerator().opts(input).generate();
3797+
3798+
// then
3799+
validateJavaSourceFiles(files);
3800+
3801+
// must only check if the library generates the doc
3802+
if(Files.exists(output.resolve("docs/TestResponse.md")))
3803+
{
3804+
TestUtils.assertFileNotContains(
3805+
output.resolve("docs/TestResponse.md"),
3806+
"## Example",
3807+
"exampleTestResponse.setActualInstance(exampleTestA);"
3808+
);
3809+
}
3810+
3811+
}
3812+
37823813
}

0 commit comments

Comments
 (0)