Skip to content

Commit 8597748

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

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

35913591
}
35923592

3593+
@Test(dataProvider = "allJavaClients")
3594+
public void testClientWithUseOneOfInterfaceShouldntGenerateOneOfExample_issue_17419(String client) {
3595+
// given
3596+
final Path output = newTempFolder();
3597+
final CodegenConfigurator configurator = new CodegenConfigurator()
3598+
.setGeneratorName("java")
3599+
.setLibrary(client)
3600+
.setAdditionalProperties(Map.of("useOneOfInterfaces", "true"))
3601+
.setInputSpec("src/test/resources/3_0/typescript-fetch/oneOf.yaml")
3602+
.setOutputDir(output.toString().replace("\\", "/"));
3603+
3604+
final ClientOptInput input = configurator.toClientOptInput();
3605+
3606+
// when
3607+
List<File> files = new DefaultGenerator().opts(input).generate();
3608+
3609+
// then
3610+
validateJavaSourceFiles(files);
3611+
3612+
// must only check if the library generates the doc
3613+
if(Files.exists(output.resolve("docs/TestResponse.md")))
3614+
{
3615+
TestUtils.assertFileNotContains(
3616+
output.resolve("docs/TestResponse.md"),
3617+
"## Example",
3618+
"exampleTestResponse.setActualInstance(exampleTestA);"
3619+
);
3620+
}
3621+
3622+
}
3623+
35933624
}

0 commit comments

Comments
 (0)