Skip to content

Commit 23c9a07

Browse files
committed
fix (JAVA CLIENTS): don't generate oneOf (not working) example code when using useOneOfInterfaces option
1 parent 08ddca1 commit 23c9a07

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
@@ -4421,4 +4421,35 @@ public void testClientWithUseOneOfInterfaceWithoutDiscriminator_issue_17419(Stri
44214421

44224422
}
44234423

4424+
@Test(dataProvider = "allJavaClients")
4425+
public void testClientWithUseOneOfInterfaceShouldntGenerateOneOfExample_issue_17419(String client) {
4426+
// given
4427+
final Path output = newTempFolder();
4428+
final CodegenConfigurator configurator = new CodegenConfigurator()
4429+
.setGeneratorName("java")
4430+
.setLibrary(client)
4431+
.setAdditionalProperties(Map.of("useOneOfInterfaces", "true"))
4432+
.setInputSpec("src/test/resources/3_0/typescript-fetch/oneOf.yaml")
4433+
.setOutputDir(output.toString().replace("\\", "/"));
4434+
4435+
final ClientOptInput input = configurator.toClientOptInput();
4436+
4437+
// when
4438+
List<File> files = new DefaultGenerator().opts(input).generate();
4439+
4440+
// then
4441+
validateJavaSourceFiles(files);
4442+
4443+
// must only check if the library generates the doc
4444+
if(Files.exists(output.resolve("docs/TestResponse.md")))
4445+
{
4446+
TestUtils.assertFileNotContains(
4447+
output.resolve("docs/TestResponse.md"),
4448+
"## Example",
4449+
"exampleTestResponse.setActualInstance(exampleTestA);"
4450+
);
4451+
}
4452+
4453+
}
4454+
44244455
}

0 commit comments

Comments
 (0)