17
17
18
18
package org .openapitools .codegen .goginserver ;
19
19
20
- import org .openapitools .codegen .*;
20
+ import org .openapitools .codegen .DefaultGenerator ;
21
+ import org .openapitools .codegen .TestUtils ;
21
22
import org .openapitools .codegen .config .CodegenConfigurator ;
22
- import org .openapitools .codegen .languages .GoClientCodegen ;
23
- import org .testng .Assert ;
24
23
import org .testng .annotations .Test ;
25
24
26
25
import java .io .File ;
27
26
import java .io .IOException ;
28
27
import java .nio .file .Files ;
29
- import java .nio .file .Path ;
30
28
import java .nio .file .Paths ;
31
- import java .util .HashMap ;
32
29
import java .util .List ;
33
- import java .util .Map ;
34
30
35
31
36
32
public class GoGinServerCodegenTest {
@@ -40,13 +36,8 @@ public void verifyGoMod() throws IOException {
40
36
File output = Files .createTempDirectory ("test" ).toFile ();
41
37
output .deleteOnExit ();
42
38
43
- final CodegenConfigurator configurator = new CodegenConfigurator ()
44
- .setGeneratorName ("go-gin-server" )
45
- .setGitUserId ("my-user" )
46
- .setGitRepoId ("my-repo" )
47
- .setPackageName ("my-package" )
48
- .setInputSpec ("src/test/resources/3_0/petstore.yaml" )
49
- .setOutputDir (output .getAbsolutePath ().replace ("\\ " , "/" ));
39
+ final CodegenConfigurator configurator = createDefaultCodegenConfigurator (output )
40
+ .setInputSpec ("src/test/resources/3_0/petstore.yaml" );
50
41
51
42
DefaultGenerator generator = new DefaultGenerator ();
52
43
List <File > files = generator .opts (configurator .toClientOptInput ()).generate ();
@@ -64,13 +55,8 @@ public void webhooks() throws IOException {
64
55
File output = Files .createTempDirectory ("test" ).toFile ();
65
56
output .deleteOnExit ();
66
57
67
- final CodegenConfigurator configurator = new CodegenConfigurator ()
68
- .setGeneratorName ("go-gin-server" )
69
- .setGitUserId ("my-user" )
70
- .setGitRepoId ("my-repo" )
71
- .setPackageName ("my-package" )
72
- .setInputSpec ("src/test/resources/3_1/webhooks.yaml" )
73
- .setOutputDir (output .getAbsolutePath ().replace ("\\ " , "/" ));
58
+ final CodegenConfigurator configurator = createDefaultCodegenConfigurator (output )
59
+ .setInputSpec ("src/test/resources/3_1/webhooks.yaml" );
74
60
75
61
DefaultGenerator generator = new DefaultGenerator ();
76
62
List <File > files = generator .opts (configurator .toClientOptInput ()).generate ();
@@ -82,4 +68,30 @@ public void webhooks() throws IOException {
82
68
" c.JSON(200, gin.H{\" status\" : \" OK\" })" );
83
69
}
84
70
71
+ @ Test
72
+ public void verifyInterfaceOnly () throws IOException {
73
+ File output = Files .createTempDirectory ("test" ).toFile ();
74
+ output .deleteOnExit ();
75
+
76
+ final CodegenConfigurator configurator = createDefaultCodegenConfigurator (output )
77
+ .setInputSpec ("src/test/resources/3_0/petstore.yaml" )
78
+ .addAdditionalProperty ("interfaceOnly" , true );
79
+
80
+ DefaultGenerator generator = new DefaultGenerator ();
81
+ List <File > files = generator .opts (configurator .toClientOptInput ()).generate ();
82
+ files .forEach (File ::deleteOnExit );
83
+
84
+ TestUtils .assertFileContains (Paths .get (output + "/go/api_pet.go" ),
85
+ "type PetAPI interface" );
86
+ }
87
+
88
+ private static CodegenConfigurator createDefaultCodegenConfigurator (File output ) {
89
+ return new CodegenConfigurator ()
90
+ .setGeneratorName ("go-gin-server" )
91
+ .setGitUserId ("my-user" )
92
+ .setGitRepoId ("my-repo" )
93
+ .setPackageName ("my-package" )
94
+ .setOutputDir (output .getAbsolutePath ().replace ("\\ " , "/" ));
95
+ }
96
+
85
97
}
0 commit comments