Skip to content

Commit 1efeb92

Browse files
authored
Migrate Perl samples to use OAS v3 spec (#6490)
* update perl samples to use oas3 * test perl in travis ci * fix uri query * fix comment * fix bearer token * fix add pet * update body to pet
1 parent a47e522 commit 1efeb92

28 files changed

+490
-386
lines changed

.travis.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -101,6 +101,9 @@ before_install:
101101
# install Qt5
102102
- sudo apt install -y --no-install-recommends qt5-default
103103
- cmake --version
104+
# perl dep
105+
- cpanm --local-lib=~/perl5 local::lib && eval $(perl -I ~/perl5/lib/perl5/ -Mlocal::lib)
106+
- cpanm --quiet --no-interactive Test::Exception Test::More Log::Any LWP::UserAgent URI::Query Module::Runtime DateTime Module::Find Moose::Role JSON || echo "Igorned failure from cpanm"
104107
# show host table to confirm petstore.swagger.io is mapped to localhost
105108
- cat /etc/hosts
106109
# show java version

bin/perl-petstore.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,6 @@ fi
2828
# if you've executed sbt assembly previously it will use that instead.
2929
export JAVA_OPTS="${JAVA_OPTS} -Xmx1024M -DloggerPath=conf/log4j.properties"
3030
# complex module name used for testing
31-
ags="generate -i modules/openapi-generator/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml -g perl -o samples/client/petstore/perl --additional-properties hideGenerationTimestamp=true $@"
31+
ags="generate -i modules/openapi-generator/src/test/resources/3_0/petstore-with-fake-endpoints-models-for-testing.yaml -g perl -o samples/client/petstore/perl --additional-properties hideGenerationTimestamp=true $@"
3232

3333
java $JAVA_OPTS -jar $executable $ags

modules/openapi-generator/src/main/resources/perl/ApiClient.mustache

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -346,9 +346,9 @@ sub update_params_for_auth {
346346
}
347347
{{/isBasicBasic}}
348348
{{#isBasicBearer}}
349-
// this endpoint requires Bearer{{#bearerFormat}} ({{{.}}}){{/bearerFormat}} authentication (access token)
349+
# this endpoint requires Bearer{{#bearerFormat}} ({{{.}}}){{/bearerFormat}} authentication (access token)
350350
if ($self->{config}{access_token}) {
351-
$headers['Authorization'] = 'Bearer ' . $self->{config}{access_token};
351+
$header_params->{'Authorization'} = 'Bearer ' . $self->{config}{access_token};
352352
}
353353
{{/isBasicBearer}}
354354
{{/isBasic}}

pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1181,6 +1181,7 @@
11811181
</property>
11821182
</activation>
11831183
<modules>
1184+
<module>samples/client/petstore/perl</module>
11841185
<!-- servers -->
11851186
<module>samples/server/petstore/python-aiohttp</module>
11861187
<module>samples/server/petstore/python-aiohttp-srclayout</module>
@@ -1195,7 +1196,6 @@
11951196
<module>samples/client/petstore/cpp-qt5</module>
11961197
<module>samples/client/petstore/rust</module>
11971198
<module>samples/client/petstore/rust/reqwest/petstore</module>
1198-
<!--<module>samples/client/petstore/perl</module>-->
11991199
<module>samples/client/petstore/php/OpenAPIClient-php</module>
12001200
<module>samples/openapi3/client/petstore/php/OpenAPIClient-php</module>
12011201
<!--<module>samples/client/petstore/javascript-apollo</module>-->

samples/client/petstore/perl/.openapi-generator/FILES

Lines changed: 28 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -2,28 +2,20 @@
22
.travis.yml
33
README.md
44
bin/autodoc
5-
docs/AdditionalPropertiesAnyType.md
6-
docs/AdditionalPropertiesArray.md
7-
docs/AdditionalPropertiesBoolean.md
85
docs/AdditionalPropertiesClass.md
9-
docs/AdditionalPropertiesInteger.md
10-
docs/AdditionalPropertiesNumber.md
11-
docs/AdditionalPropertiesObject.md
12-
docs/AdditionalPropertiesString.md
136
docs/Animal.md
147
docs/AnotherFakeApi.md
158
docs/ApiResponse.md
169
docs/ArrayOfArrayOfNumberOnly.md
1710
docs/ArrayOfNumberOnly.md
1811
docs/ArrayTest.md
19-
docs/BigCat.md
20-
docs/BigCatAllOf.md
2112
docs/Capitalization.md
2213
docs/Cat.md
2314
docs/CatAllOf.md
2415
docs/Category.md
2516
docs/ClassModel.md
2617
docs/Client.md
18+
docs/DefaultApi.md
2719
docs/Dog.md
2820
docs/DogAllOf.md
2921
docs/EnumArrays.md
@@ -33,51 +25,53 @@ docs/FakeApi.md
3325
docs/FakeClassnameTags123Api.md
3426
docs/File.md
3527
docs/FileSchemaTestClass.md
28+
docs/Foo.md
3629
docs/FormatTest.md
3730
docs/HasOnlyReadOnly.md
31+
docs/HealthCheckResult.md
32+
docs/InlineObject.md
33+
docs/InlineObject1.md
34+
docs/InlineObject2.md
35+
docs/InlineObject3.md
36+
docs/InlineObject4.md
37+
docs/InlineObject5.md
38+
docs/InlineResponseDefault.md
3839
docs/List.md
3940
docs/MapTest.md
4041
docs/MixedPropertiesAndAdditionalPropertiesClass.md
4142
docs/Model200Response.md
4243
docs/ModelReturn.md
4344
docs/Name.md
45+
docs/NullableClass.md
4446
docs/NumberOnly.md
4547
docs/Order.md
4648
docs/OuterComposite.md
4749
docs/OuterEnum.md
50+
docs/OuterEnumDefaultValue.md
51+
docs/OuterEnumInteger.md
52+
docs/OuterEnumIntegerDefaultValue.md
4853
docs/Pet.md
4954
docs/PetApi.md
5055
docs/ReadOnlyFirst.md
5156
docs/SpecialModelName.md
5257
docs/StoreApi.md
5358
docs/Tag.md
54-
docs/TypeHolderDefault.md
55-
docs/TypeHolderExample.md
5659
docs/User.md
5760
docs/UserApi.md
58-
docs/XmlItem.md
5961
git_push.sh
6062
lib/WWW/OpenAPIClient/AnotherFakeApi.pm
6163
lib/WWW/OpenAPIClient/ApiClient.pm
6264
lib/WWW/OpenAPIClient/ApiFactory.pm
6365
lib/WWW/OpenAPIClient/Configuration.pm
66+
lib/WWW/OpenAPIClient/DefaultApi.pm
6467
lib/WWW/OpenAPIClient/FakeApi.pm
6568
lib/WWW/OpenAPIClient/FakeClassnameTags123Api.pm
66-
lib/WWW/OpenAPIClient/Object/AdditionalPropertiesAnyType.pm
67-
lib/WWW/OpenAPIClient/Object/AdditionalPropertiesArray.pm
68-
lib/WWW/OpenAPIClient/Object/AdditionalPropertiesBoolean.pm
6969
lib/WWW/OpenAPIClient/Object/AdditionalPropertiesClass.pm
70-
lib/WWW/OpenAPIClient/Object/AdditionalPropertiesInteger.pm
71-
lib/WWW/OpenAPIClient/Object/AdditionalPropertiesNumber.pm
72-
lib/WWW/OpenAPIClient/Object/AdditionalPropertiesObject.pm
73-
lib/WWW/OpenAPIClient/Object/AdditionalPropertiesString.pm
7470
lib/WWW/OpenAPIClient/Object/Animal.pm
7571
lib/WWW/OpenAPIClient/Object/ApiResponse.pm
7672
lib/WWW/OpenAPIClient/Object/ArrayOfArrayOfNumberOnly.pm
7773
lib/WWW/OpenAPIClient/Object/ArrayOfNumberOnly.pm
7874
lib/WWW/OpenAPIClient/Object/ArrayTest.pm
79-
lib/WWW/OpenAPIClient/Object/BigCat.pm
80-
lib/WWW/OpenAPIClient/Object/BigCatAllOf.pm
8175
lib/WWW/OpenAPIClient/Object/Capitalization.pm
8276
lib/WWW/OpenAPIClient/Object/Cat.pm
8377
lib/WWW/OpenAPIClient/Object/CatAllOf.pm
@@ -91,26 +85,36 @@ lib/WWW/OpenAPIClient/Object/EnumClass.pm
9185
lib/WWW/OpenAPIClient/Object/EnumTest.pm
9286
lib/WWW/OpenAPIClient/Object/File.pm
9387
lib/WWW/OpenAPIClient/Object/FileSchemaTestClass.pm
88+
lib/WWW/OpenAPIClient/Object/Foo.pm
9489
lib/WWW/OpenAPIClient/Object/FormatTest.pm
9590
lib/WWW/OpenAPIClient/Object/HasOnlyReadOnly.pm
91+
lib/WWW/OpenAPIClient/Object/HealthCheckResult.pm
92+
lib/WWW/OpenAPIClient/Object/InlineObject.pm
93+
lib/WWW/OpenAPIClient/Object/InlineObject1.pm
94+
lib/WWW/OpenAPIClient/Object/InlineObject2.pm
95+
lib/WWW/OpenAPIClient/Object/InlineObject3.pm
96+
lib/WWW/OpenAPIClient/Object/InlineObject4.pm
97+
lib/WWW/OpenAPIClient/Object/InlineObject5.pm
98+
lib/WWW/OpenAPIClient/Object/InlineResponseDefault.pm
9699
lib/WWW/OpenAPIClient/Object/List.pm
97100
lib/WWW/OpenAPIClient/Object/MapTest.pm
98101
lib/WWW/OpenAPIClient/Object/MixedPropertiesAndAdditionalPropertiesClass.pm
99102
lib/WWW/OpenAPIClient/Object/Model200Response.pm
100103
lib/WWW/OpenAPIClient/Object/ModelReturn.pm
101104
lib/WWW/OpenAPIClient/Object/Name.pm
105+
lib/WWW/OpenAPIClient/Object/NullableClass.pm
102106
lib/WWW/OpenAPIClient/Object/NumberOnly.pm
103107
lib/WWW/OpenAPIClient/Object/Order.pm
104108
lib/WWW/OpenAPIClient/Object/OuterComposite.pm
105109
lib/WWW/OpenAPIClient/Object/OuterEnum.pm
110+
lib/WWW/OpenAPIClient/Object/OuterEnumDefaultValue.pm
111+
lib/WWW/OpenAPIClient/Object/OuterEnumInteger.pm
112+
lib/WWW/OpenAPIClient/Object/OuterEnumIntegerDefaultValue.pm
106113
lib/WWW/OpenAPIClient/Object/Pet.pm
107114
lib/WWW/OpenAPIClient/Object/ReadOnlyFirst.pm
108115
lib/WWW/OpenAPIClient/Object/SpecialModelName.pm
109116
lib/WWW/OpenAPIClient/Object/Tag.pm
110-
lib/WWW/OpenAPIClient/Object/TypeHolderDefault.pm
111-
lib/WWW/OpenAPIClient/Object/TypeHolderExample.pm
112117
lib/WWW/OpenAPIClient/Object/User.pm
113-
lib/WWW/OpenAPIClient/Object/XmlItem.pm
114118
lib/WWW/OpenAPIClient/PetApi.pm
115119
lib/WWW/OpenAPIClient/Role.pm
116120
lib/WWW/OpenAPIClient/Role/AutoDoc.pm

0 commit comments

Comments
 (0)