diff --git a/.jenkins.sh b/.jenkins.sh index b24a061fa1ac77a29232f06a9034dd755a41bbc4..448356cdee9aedf84853be89c4f39bbb1353304d 100644 --- a/.jenkins.sh +++ b/.jenkins.sh @@ -1,17 +1,18 @@ #!/bin/bash -specfiles=$(ls | egrep -i "^Mp1.(json|yaml)") +specfiles=$(ls | egrep "^[^.]*.(json|yaml)") fres=0 for i in $specfiles ; do - echo "-- Validating OpenAPI file $i..." - swagger-tools validate $i - res=$? - fres=$(($fres||$res)) - echo -e "-- Validator returned $res.\n" + echo "-- Validating and linting OpenAPI file $i..." + swagger-cli validate "$i" + res=$? + speccy lint "$i" + res2=$? + fres=$(($fres||$res||$res2)) + echo "--- Validator returned $res, linter returned $res2." done -echo "-- Final validator returns $fres." - -exit $fres +echo "-- Final validation returns $fres." +exit $fres \ No newline at end of file diff --git a/Mp1.json b/Mp1.json index 520ff2fe8f8b0a6f235dcbf29a43d5feb228a962..e6a39042a6583aaba17e7fc7fc5b1a9c500b8032 100644 --- a/Mp1.json +++ b/Mp1.json @@ -992,7 +992,13 @@ ], "properties": { "grantTypes": { - "$ref": "#/components/schemas/SecurityInfo.OAuth2Info.GrantTypes" + "description": "List of supported OAuth 2.0 grant types.", + "type": "array", + "minItems": 1, + "maxItems": 4, + "items": { + "$ref": "#/components/schemas/SecurityInfo.OAuth2Info.GrantTypes" + } }, "tokenEndpoint": { "$ref": "#/components/schemas/SecurityInfo.OAuth2Info.TokenEndpoint" @@ -2409,7 +2415,9 @@ }, "security": { "oAuth2Info": { - "grantTypes": "OAUTH2_CLIENT_CREDENTIALS", + "grantTypes": [ + "OAUTH2_CLIENT_CREDENTIALS" + ], "tokenEndpoint": "/meMp1/security/TokenEndPoint" } } @@ -2447,7 +2455,9 @@ }, "security": { "oAuth2Info": { - "grantTypes": "OAUTH2_CLIENT_CREDENTIALS", + "grantTypes": [ + "OAUTH2_CLIENT_CREDENTIALS" + ], "tokenEndpoint": "/meMp1/security/TokenEndPoint" } } @@ -2516,4 +2526,4 @@ } } } -} +} \ No newline at end of file diff --git a/Mp1.yaml b/Mp1.yaml index 7f4d0d6eba3a01311a862d047e2fd09919f5e608..413b2f9ed12151694c4b1bc3d0f4dd48c91cb942 100644 --- a/Mp1.yaml +++ b/Mp1.yaml @@ -742,7 +742,13 @@ components: - tokenEndpoint properties: grantTypes: - $ref: '#/components/schemas/SecurityInfo.OAuth2Info.GrantTypes' + description: >- + List of supported OAuth 2.0 grant types. + type: array + minItems: 1 + maxItems: 4 + items: + $ref: '#/components/schemas/SecurityInfo.OAuth2Info.GrantTypes' tokenEndpoint: $ref: '#/components/schemas/SecurityInfo.OAuth2Info.TokenEndpoint' type: object @@ -1836,7 +1842,8 @@ components: - '/meMp1/service/EntryPoint' security: oAuth2Info: - grantTypes: 'OAUTH2_CLIENT_CREDENTIALS' + grantTypes: + - 'OAUTH2_CLIENT_CREDENTIALS' tokenEndpoint: '/meMp1/security/TokenEndPoint' serializer: 'JSON' ServiceInfoList: @@ -1863,7 +1870,8 @@ components: port: 8080 security: oAuth2Info: - grantTypes: 'OAUTH2_CLIENT_CREDENTIALS' + grantTypes: + - 'OAUTH2_CLIENT_CREDENTIALS' tokenEndpoint: '/meMp1/security/TokenEndPoint' serializer: 'JSON' TrafficRule: diff --git a/README.md b/README.md index 3655537cab4b549ee90dc28337cbc30cc191266c..6c07b7aea1aa69302637316fc9ec9619278dfe00 100644 --- a/README.md +++ b/README.md @@ -5,8 +5,8 @@ This repository contains OpenAPIs descriptions for the interfaces specified in E ## Online resources * [Specification document](https://www.etsi.org/deliver/etsi_gs/MEC/001_099/011/01.01.01_60/gs_mec011v010101p.pdf) -* [Navigate the API in the browser](https://forge.etsi.org/swagger/ui/?url=https://forge.etsi.org/gitlab/mec/gs011-app-enablement-api/raw/develop/Mp1.yaml). -* [Edit the API online](https://forge.etsi.org/swagger/editor/?url=https://forge.etsi.org/gitlab/mec/gs011-app-enablement-api/raw/develop/Mp1.yaml). +* [Navigate the API in the browser](https://forge.etsi.org/swagger/ui/?url=https://forge.etsi.org/gitlab/mec/gs011-app-enablement-api/raw/master/Mp1.yaml). +* [Edit the API online](https://forge.etsi.org/swagger/editor/?url=https://forge.etsi.org/gitlab/mec/gs011-app-enablement-api/raw/master/Mp1.yaml).