Fix isPrimitiveType flag for array of form parameters (#38)

* fix isprimitivetype for array of form parameters

* setup snapshot deployment
This commit is contained in:
William Cheng 2018-05-14 23:28:03 +08:00 committed by GitHub
parent 10ac4024da
commit 67ebe17dd6
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 150 additions and 131 deletions

View File

@ -93,7 +93,7 @@ after_success:
- if [ $DOCKER_HUB_USERNAME ]; then echo "$DOCKER_HUB_PASSWORD" | docker login --username=$DOCKER_HUB_USERNAME --password-stdin && docker build -t $DOCKER_CODEGEN_CLI_IMAGE_NAME ./modules/openapi-generator-cli && if [ ! -z "$TRAVIS_TAG" ]; then docker tag $DOCKER_CODEGEN_CLI_IMAGE_NAME:latest $DOCKER_CODEGEN_CLI_IMAGE_NAME:$TRAVIS_TAG; fi && if [ ! -z "$TRAVIS_TAG" ] || [ "$TRAVIS_BRANCH" = "master" ]; then docker push $DOCKER_CODEGEN_CLI_IMAGE_NAME && echo "Pushed to $DOCKER_CODEGEN_CLI_IMAGE_NAME"; fi; fi
# push a snapshot version to maven repo
- if [ $SONATYPE_USERNAME ] && [ -z $TRAVIS_TAG ] && [ "$TRAVIS_BRANCH" = "master" ]; then
mvn clean deploy --settings .travis/settings.xml;
mvn clean deploy --settings CI/settings.xml;
echo "Finished mvn clean deploy for $TRAVIS_BRANCH";
fi;

View File

@ -1,18 +0,0 @@
<settings>
<localRepository/>
<interactiveMode/>
<usePluginRegistry/>
<offline/>
<pluginGroups/>
<servers>
<server>
<id>sonatype-nexus-snapshots</id>
<username>${env.SONATYPE_USERNAME}</username>
<password>${env.SONATYPE_PASSWORD}</password>
</server>
</servers>
<mirrors/>
<proxies/>
<profiles/>
<activeProfiles/>
</settings>

18
CI/settings.xml Normal file
View File

@ -0,0 +1,18 @@
<settings>
<localRepository/>
<interactiveMode/>
<usePluginRegistry/>
<offline/>
<pluginGroups/>
<servers>
<server>
<id>sonatype-nexus-snapshots</id>
<username>${env.SONATYPE_USERNAME}</username>
<password>${env.SONATYPE_PASSWORD}</password>
</server>
</servers>
<mirrors/>
<proxies/>
<profiles/>
<activeProfiles/>
</settings>

View File

@ -4083,6 +4083,7 @@ public class DefaultCodegen implements CodegenConfig {
CodegenProperty codegenProperty = fromProperty("inner", inner);
codegenParameter.items = codegenProperty;
codegenParameter.baseType = codegenProperty.datatype;
codegenParameter.isPrimitiveType = false;
codegenParameter.isContainer = true;
codegenParameter.isListContainer = true;
codegenParameter.description = s.getDescription();

View File

@ -17,12 +17,18 @@
package org.openapitools.codegen.go;
import io.swagger.parser.OpenAPIParser;
import io.swagger.v3.oas.models.OpenAPI;
import io.swagger.v3.oas.models.Operation;
import io.swagger.v3.parser.core.models.ParseOptions;
import org.openapitools.codegen.CodegenConstants;
import org.openapitools.codegen.CodegenOperation;
import org.openapitools.codegen.CodegenParameter;
import org.openapitools.codegen.languages.GoClientCodegen;
import org.openapitools.codegen.languages.RubyClientCodegen;
import org.testng.Assert;
import org.testng.annotations.Test;
import org.openapitools.codegen.CodegenConstants;
import org.openapitools.codegen.languages.GoClientCodegen;
public class GoClientCodegenTest {
@Test
@ -54,4 +60,16 @@ public class GoClientCodegenTest {
Assert.assertEquals(codegen.isHideGenerationTimestamp(), false);
}
@Test(description = "test example value for body parameter")
public void bodyParameterTest() {
final OpenAPI openAPI = new OpenAPIParser().readLocation("src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml", null, new ParseOptions()).getOpenAPI();
final GoClientCodegen codegen = new GoClientCodegen();
final String path = "/fake";
final Operation p = openAPI.getPaths().get(path).getGet();
final CodegenOperation op = codegen.fromOperation(path, "post", p, openAPI.getComponents().getSchemas());
Assert.assertEquals(op.formParams.size(), 2);
CodegenParameter bp = op.formParams.get(0);
Assert.assertFalse(bp.isPrimitiveType);
}
}

View File

@ -11,12 +11,12 @@ package petstore
import (
"context"
"github.com/antihax/optional"
"io/ioutil"
"net/http"
"net/url"
"os"
"strings"
"github.com/antihax/optional"
"os"
)
// Linger please
@ -95,7 +95,7 @@ func (a *FakeApiService) FakeOuterBooleanSerialize(ctx context.Context, localVar
if localVarHttpResponse.StatusCode < 300 {
// If we succeed, return the data, otherwise pass on to decode error.
err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
if err == nil {
return localVarReturnValue, localVarHttpResponse, err
}
@ -108,7 +108,7 @@ func (a *FakeApiService) FakeOuterBooleanSerialize(ctx context.Context, localVar
}
if localVarHttpResponse.StatusCode == 200 {
var v bool
err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
if err != nil {
newErr.error = err.Error()
return localVarReturnValue, localVarHttpResponse, newErr
@ -195,7 +195,7 @@ func (a *FakeApiService) FakeOuterCompositeSerialize(ctx context.Context, localV
if localVarHttpResponse.StatusCode < 300 {
// If we succeed, return the data, otherwise pass on to decode error.
err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
if err == nil {
return localVarReturnValue, localVarHttpResponse, err
}
@ -208,7 +208,7 @@ func (a *FakeApiService) FakeOuterCompositeSerialize(ctx context.Context, localV
}
if localVarHttpResponse.StatusCode == 200 {
var v OuterComposite
err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
if err != nil {
newErr.error = err.Error()
return localVarReturnValue, localVarHttpResponse, newErr
@ -291,7 +291,7 @@ func (a *FakeApiService) FakeOuterNumberSerialize(ctx context.Context, localVarO
if localVarHttpResponse.StatusCode < 300 {
// If we succeed, return the data, otherwise pass on to decode error.
err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
if err == nil {
return localVarReturnValue, localVarHttpResponse, err
}
@ -304,7 +304,7 @@ func (a *FakeApiService) FakeOuterNumberSerialize(ctx context.Context, localVarO
}
if localVarHttpResponse.StatusCode == 200 {
var v float32
err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
if err != nil {
newErr.error = err.Error()
return localVarReturnValue, localVarHttpResponse, newErr
@ -387,7 +387,7 @@ func (a *FakeApiService) FakeOuterStringSerialize(ctx context.Context, localVarO
if localVarHttpResponse.StatusCode < 300 {
// If we succeed, return the data, otherwise pass on to decode error.
err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
if err == nil {
return localVarReturnValue, localVarHttpResponse, err
}
@ -400,7 +400,7 @@ func (a *FakeApiService) FakeOuterStringSerialize(ctx context.Context, localVarO
}
if localVarHttpResponse.StatusCode == 200 {
var v string
err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
if err != nil {
newErr.error = err.Error()
return localVarReturnValue, localVarHttpResponse, newErr
@ -542,7 +542,7 @@ func (a *FakeApiService) TestClientModel(ctx context.Context, client Client) (Cl
if localVarHttpResponse.StatusCode < 300 {
// If we succeed, return the data, otherwise pass on to decode error.
err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
if err == nil {
return localVarReturnValue, localVarHttpResponse, err
}
@ -555,7 +555,7 @@ func (a *FakeApiService) TestClientModel(ctx context.Context, client Client) (Cl
}
if localVarHttpResponse.StatusCode == 200 {
var v Client
err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
if err != nil {
newErr.error = err.Error()
return localVarReturnValue, localVarHttpResponse, newErr
@ -730,7 +730,7 @@ To test enum parameters
* @param "EnumQueryString" (optional.String) - Query parameter enum test (string)
* @param "EnumQueryInteger" (optional.Int32) - Query parameter enum test (double)
* @param "EnumQueryDouble" (optional.Float64) - Query parameter enum test (double)
* @param "EnumFormStringArray" (optional.[]string) - Form parameter enum test (string array)
* @param "EnumFormStringArray" (optional.Interface of []string) - Form parameter enum test (string array)
* @param "EnumFormString" (optional.String) - Form parameter enum test (string)
*/

View File

@ -287,7 +287,7 @@ Name | Type | Description | Notes
**enumQueryString** | **optional.String**| Query parameter enum test (string) | [default to -efg]
**enumQueryInteger** | **optional.Int32**| Query parameter enum test (double) |
**enumQueryDouble** | **optional.Float64**| Query parameter enum test (double) |
**enumFormStringArray** | **optional.[]string**| Form parameter enum test (string array) | [default to $]
**enumFormStringArray** | [**optional.Interface of []string**](string.md)| Form parameter enum test (string array) | [default to $]
**enumFormString** | **optional.String**| Form parameter enum test (string) | [default to -efg]
### Return type