From 7160f1d55ef1f1ef7752407a6e83a573f355d81f Mon Sep 17 00:00:00 2001 From: Francisco Di Giandomenico Date: Wed, 9 Dec 2020 14:20:12 -0300 Subject: [PATCH] v6.3.5 (#665) * feat: upgrade deps, add tests * 6.3.5 * test: add await next frame to test --- demo/apis.json | 3 +- demo/element/app.js | 4 + demo/models/APIC-557/APIC-557.yaml | 254 +++++++++++++++++++++++++++++ package-lock.json | 232 ++++++++++++++------------ package.json | 2 +- test/api-console.amf.test.js | 37 +++++ 6 files changed, 425 insertions(+), 107 deletions(-) create mode 100644 demo/models/APIC-557/APIC-557.yaml diff --git a/demo/apis.json b/demo/apis.json index ef995be26..ba7cc39c5 100644 --- a/demo/apis.json +++ b/demo/apis.json @@ -15,5 +15,6 @@ "models/oas-3-api/oas-3-api.yaml": { "type": "OAS 3.0", "mime": "application/yaml" }, "models/async-api/async-api.yaml": "ASYNC 2.0", "models/APIC-553/APIC-553.raml": "RAML 1.0", - "models/APIC-554/APIC-554.raml": "RAML 1.0" + "models/APIC-554/APIC-554.raml": "RAML 1.0", + "models/APIC-557/APIC-557.yaml": "OAS 3.0" } diff --git a/demo/element/app.js b/demo/element/app.js index 0ad2a8708..e4cebe1f5 100644 --- a/demo/element/app.js +++ b/demo/element/app.js @@ -23,6 +23,8 @@ class ApicApplication extends DemoBase { ['oas-3-api', 'OAS 3 API'], ['async-api', 'AsyncAPI'], ['APIC-553', 'APIC-553'], + ['APIC-557', 'APIC-557'], + ['APIC-558', 'APIC-558'], ]; this.toggleConsoleMenu = this.toggleConsoleMenu.bind(this); @@ -52,8 +54,10 @@ class ApicApplication extends DemoBase { + Mocking Service diff --git a/demo/models/APIC-557/APIC-557.yaml b/demo/models/APIC-557/APIC-557.yaml new file mode 100644 index 000000000..906503bf7 --- /dev/null +++ b/demo/models/APIC-557/APIC-557.yaml @@ -0,0 +1,254 @@ +openapi: "3.0.0" +externalDocs: + url: petstore.com + description: Pet Store website +info: + version: 1.0.0 + contact: + name: John Smith + email: jsmith@petstore.com + url: petstore.com + title: OpenAPI Spec 3.0 Petstore + license: + name: MIT +servers: + - url: http://petstore.swagger.io/v1 + description: prodcutive env + - url: http://qa.petstore.swagger.io/v1 + description: qa env + - url: http://dev.petstore.swagger.io/v1 + description: dev env + +components: + + responses: + "200": + description: "ok" + content: + application/json: + schema: + $ref: "#/components/schemas/Pet" + example: + $ref: "#/components/schemas/Pet" + links: + UserRepositories: + # returns array of '#/components/schemas/repository' + operationRef: 'https://na2.gigantic-server.com/#/paths/~12.0~1repositories~1{username}/get' + parameters: + username: $response.body#/username + securitySchemes: + api_key: + type: "apiKey" + description: Api key security + name: "api_key" + in: "header" + petstore_auth: + type: oauth2 + flows: + implicit: + authorizationUrl: https://example.com/api/oauth/dialog + scopes: + write:pets: modify pets in your account + read:pets: read your pets + authorizationCode: + authorizationUrl: https://example.com/api/oauth/dialog + tokenUrl: https://example.com/api/oauth/token + scopes: + write:pets: modify pets in your account + read:pets: read your pets + examples: + petsArrayExample: + summary: s + description: aaa + value: + - + id: 233 + name: Archie + - + id: 455 + name: Bella + petExample1: + description: pet1 + value: + id: 2333 + name: Max + petExample2: + description: pet2 + value: + id: 344 + name: Brea + errorExample: + value: + code: 1400 + message: Unexpected error + schemas: + Pet: + type: object + required: + - id + - name + properties: + id: + type: integer + format: int64 + name: + type: string + tag: + type: string + Pets: + type: array + items: + $ref: "#/components/schemas/Pet" + Error: + type: object + required: + - code + - message + properties: + code: + type: integer + format: int32 + message: + type: string +paths: + /pets: + get: + summary: List all pets + operationId: listPets + tags: + - pets + parameters: + - name: limit + in: query + description: how many items to return at one time (max 100) + required: false + schema: + type: integer + format: int32 + responses: + "200": + + description: A paged array of pets + headers: + x-next: + description: A link + schema: + type: string + content: + application/json: + schema: + $ref: "#/components/schemas/Pets" + examples: + pet1: + $ref: "#/components/examples/petsArrayExample" + + post: + summary: Create a pet + + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/Pet" + + examples: + e1: + $ref: "#/components/examples/petExample1" + + + tags: + - pets + responses: + "201": + description: Null response + default: + description: unexpected error + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + examples: + err1: + $ref: "#/components/examples/errorExample" + /pets/{petId}: + get: + summary: Info for specific pet + operationId: showPetById + tags: + - pets + parameters: + - name: petId + in: path + required: true + description: The id of the pet to retrieve + schema: + type: string + responses: + default: + + $ref: "#/components/responses/200" + "200": + description: Expected response to a valid request + content: + application/json: + schema: + $ref: "#/components/schemas/Pet" + + examples: + one: + $ref: "#/components/examples/petExample1" + /users/{id}: + parameters: + - name: id + in: path + required: true + description: the user identifier, as userId + schema: + type: string + get: + responses: + + '200': + description: the user being returned + content: + application/json: + schema: + type: object + properties: + uuid: # the unique user id + type: string + format: uuid + links: + address: + # the target link operationId + operationId: getUserAddress + parameters: + # get the `id` field from the request path parameter named `id` + userId: $request.path.id + # the path item of the linked operation + /users/{userid}/address: + parameters: + - name: userid + in: path + required: true + description: the user identifier, as userId + schema: + type: string + # linked operation + get: + operationId: getUserAddress + responses: + '200': + description: the user's address + content: + application/json: + schema: + type: object + properties: + addressLine1: + type: string + country: + type: string + example: + addressLine1: Washintong 3434 + country: USA \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index 425661cc9..46976c549 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "api-console", - "version": "6.3.4", + "version": "6.3.5", "lockfileVersion": 1, "requires": true, "dependencies": { @@ -18,10 +18,12 @@ } }, "@advanced-rest-client/arc-icons": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/@advanced-rest-client/arc-icons/-/arc-icons-3.1.2.tgz", - "integrity": "sha512-tcEc7vIzgSPu3uWycvxXcrecl5aoXzXQPbpDGKEhL7k6rFH3h6QmPwNC+AQmYpBhJcVKRVuY42zcX+uXb92GYQ==", + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/@advanced-rest-client/arc-icons/-/arc-icons-3.2.1.tgz", + "integrity": "sha512-WYOgev7tAwge41DCaCvyoFUjeSrVd+yzPd6RmAnTRkfgGk2eaKHrJy5dPk9+xoYED2/DacIpT9xOTVUKFOiI+A==", "requires": { + "@polymer/iron-icon": "^3.0.1", + "@polymer/iron-iconset-svg": "^3.0.1", "lit-element": "^2.4.0", "lit-html": "^1.3.0" } @@ -760,9 +762,9 @@ } }, "@api-components/api-documentation": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/@api-components/api-documentation/-/api-documentation-5.1.0.tgz", - "integrity": "sha512-4Dz7pO8TUgV10HmQvnt+LUQiVb6gLbGNeykHm0f8WhZcNNN7+OV2BfnXo1n45cfz5W6P/aB1CxrHrxKNkDYTpw==", + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/@api-components/api-documentation/-/api-documentation-5.1.1.tgz", + "integrity": "sha512-fKYcaqfbfbrz0Dlz5xkM/UhYZfKneeQenJ6oT9HVYR8KDeqQ7GqwS9slO1HumPGV50GwUq/DNtFBrndbx6regw==", "requires": { "@advanced-rest-client/events-target-mixin": "^3.0.0", "@api-components/amf-helper-mixin": "^4.1.3", @@ -888,9 +890,9 @@ } }, "@api-components/api-method-documentation": { - "version": "5.1.4", - "resolved": "https://registry.npmjs.org/@api-components/api-method-documentation/-/api-method-documentation-5.1.4.tgz", - "integrity": "sha512-dVBn+vF9xrM0vv/xRpSQiHeRYiyUTJdUKeQSyBd8PdWlHjnjgFYZMw1YeYNdYJRH0295zYOSLjssbWpweEkDTg==", + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/@api-components/api-method-documentation/-/api-method-documentation-5.1.5.tgz", + "integrity": "sha512-SnjLemehkoWjuZbnssLy0xYGbKfY+brSSwMyexEGqaZNgn7f+NL8Uqb336BbF4oa+iXPQO+pg4W/q4jAcLTE7Q==", "requires": { "@advanced-rest-client/arc-icons": "^3.0.5", "@advanced-rest-client/arc-marked": "^1.0.6", @@ -4547,6 +4549,15 @@ "@polymer/polymer": "^3.0.0" } }, + "@polymer/iron-iconset-svg": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@polymer/iron-iconset-svg/-/iron-iconset-svg-3.0.1.tgz", + "integrity": "sha512-XNwURbNHRw6u2fJe05O5fMYye6GSgDlDqCO+q6K1zAnKIrpgZwf2vTkBd5uCcZwsN0FyCB3mvNZx4jkh85dRDw==", + "requires": { + "@polymer/iron-meta": "^3.0.0-pre.26", + "@polymer/polymer": "^3.0.0" + } + }, "@polymer/iron-media-query": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/@polymer/iron-media-query/-/iron-media-query-3.0.1.tgz", @@ -4853,9 +4864,9 @@ } }, "@types/babel__traverse": { - "version": "7.0.16", - "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.0.16.tgz", - "integrity": "sha512-S63Dt4CZOkuTmpLGGWtT/mQdVORJOpx6SZWGVaP56dda/0Nx5nEe82K7/LAm8zYr6SfMq+1N2OreIOrHAx656w==", + "version": "7.11.0", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.11.0.tgz", + "integrity": "sha512-kSjgDMZONiIfSH1Nxcr5JIRMwUetDki63FSQfpTCz8ogF3Ulqm8+mr5f78dUYs6vMiB6gBusQqfQmBvHZj/lwg==", "dev": true, "requires": { "@babel/types": "^7.3.0" @@ -4964,9 +4975,9 @@ "dev": true }, "@types/connect": { - "version": "3.4.33", - "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.33.tgz", - "integrity": "sha512-2+FrkXY4zllzTNfJth7jOqEHC+enpLeGslEhpnTAkg21GkRrWV4SsAtqchtT4YS9/nODBU2/ZfsBY2X4J/dX7A==", + "version": "3.4.34", + "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.34.tgz", + "integrity": "sha512-ePPA/JuI+X0vb+gSWlPKOY0NdNAie/rPUqX2GUPpbZwiKTkSPhjXWuee47E4MtE54QVzGCQMQkAL6JhV2E1+cQ==", "dev": true, "requires": { "@types/node": "*" @@ -5041,9 +5052,9 @@ } }, "@types/express-serve-static-core": { - "version": "4.17.14", - "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.14.tgz", - "integrity": "sha512-uFTLwu94TfUFMToXNgRZikwPuZdOtDgs3syBtAIr/OXorL1kJqUJT9qCLnRZ5KBOWfZQikQ2xKgR2tnDj1OgDA==", + "version": "4.17.15", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.15.tgz", + "integrity": "sha512-pb71P0BrBAx7cQE+/7QnA1HTQUkdBKMlkPY7lHUMn0YvPJkL2UA+KW3BdWQ309IT+i9En/qm45ZxpjIcpgEhNQ==", "dev": true, "requires": { "@types/node": "*", @@ -5287,9 +5298,9 @@ } }, "@types/node": { - "version": "14.14.10", - "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.10.tgz", - "integrity": "sha512-J32dgx2hw8vXrSbu4ZlVhn1Nm3GbeCFNw2FWL8S5QKucHGY0cyNwjdQdO+KMBZ4wpmC7KhLCiNsdk1RFRIYUQQ==", + "version": "14.14.11", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.11.tgz", + "integrity": "sha512-BJ97wAUuU3NUiUCp44xzUFquQEvnk1wu7q4CMEUYKJWjdkr0YWYDsm4RFtAvxYsNjLsKcrFt6RvK8r+mnzMbEQ==", "dev": true }, "@types/normalize-package-data": { @@ -5326,9 +5337,9 @@ "dev": true }, "@types/puppeteer": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/@types/puppeteer/-/puppeteer-5.4.1.tgz", - "integrity": "sha512-mEytIRrqvsFgs16rHOa5jcZcoycO/NSjg1oLQkFUegj3HOHeAP1EUfRi+eIsJdGrx2oOtfN39ckibkRXzs+qXA==", + "version": "5.4.2", + "resolved": "https://registry.npmjs.org/@types/puppeteer/-/puppeteer-5.4.2.tgz", + "integrity": "sha512-yjbHoKjZFOGqA6bIEI2dfBE5UPqU0YGWzP+ipDVP1iGzmlhksVKTBVZfT3Aj3wnvmcJ2PQ9zcncwOwyavmafBw==", "dev": true, "requires": { "@types/node": "*" @@ -5582,24 +5593,24 @@ "dev": true }, "ws": { - "version": "7.4.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.0.tgz", - "integrity": "sha512-kyFwXuV/5ymf+IXhS6f0+eAFvydbaBW3zjpT6hUdAh/hbVjTIB5EHBGi0bPoCLSK2wcuz3BrEkB9LrYv1Nm4NQ==", + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.1.tgz", + "integrity": "sha512-pTsP8UAfhy3sk1lSk/O/s4tjD0CRwvMnzvwr4OKGX7ZvqZtUyx4KIJB5JWbkykPoc55tixMGgTNoh3k4FkNGFQ==", "dev": true } } }, "@web/dev-server-rollup": { - "version": "0.2.11", - "resolved": "https://registry.npmjs.org/@web/dev-server-rollup/-/dev-server-rollup-0.2.11.tgz", - "integrity": "sha512-cqeXC93BElaKIV0Bel05M86Or5HQKem7FuBjfoMMlgp0irt6ZYCovYe7l2rG0Hw+/MCYaNs+uxjMK5UYLuWMBw==", + "version": "0.2.12", + "resolved": "https://registry.npmjs.org/@web/dev-server-rollup/-/dev-server-rollup-0.2.12.tgz", + "integrity": "sha512-JkuIhgTGLHBP44Nh9BWOGCRQOUDcsvkZ/jOilVIpHw4h7JWxu9u+Hoq1w1RvpsZexfrHznUMc54eUVHdlwq40g==", "dev": true, "requires": { "@web/dev-server-core": "^0.2.17", "chalk": "^4.1.0", "parse5": "^6.0.1", - "rollup": "^2.33.2", - "whatwg-url": "^8.1.0" + "rollup": "^2.34.2", + "whatwg-url": "^8.4.0" }, "dependencies": { "ansi-styles": { @@ -5767,9 +5778,9 @@ } }, "@web/test-runner-cli": { - "version": "0.6.13", - "resolved": "https://registry.npmjs.org/@web/test-runner-cli/-/test-runner-cli-0.6.13.tgz", - "integrity": "sha512-c2Hm+n0CxpyHoch+17ODmpepYmTWZ1YleG3J7nCwLGzvnI3umv5pi/82AFcuMYJnW+9R2YYfhW+8bHKX7Mq6Cw==", + "version": "0.6.14", + "resolved": "https://registry.npmjs.org/@web/test-runner-cli/-/test-runner-cli-0.6.14.tgz", + "integrity": "sha512-NCXUPl7IedRP4a07F0nz+rvlR3Zhd+CWLfmsJQs5vr4B3+uoUinHuOSQYmyavtZDOBTonDJn/dqAzNmasPa3Mg==", "dev": true, "requires": { "@babel/code-frame": "^7.10.4", @@ -5778,20 +5789,20 @@ "@web/config-loader": "^0.1.1", "@web/test-runner-chrome": "^0.7.3", "@web/test-runner-core": "^0.8.11", - "camelcase": "^6.0.0", + "camelcase": "^6.2.0", "chalk": "^4.1.0", "cli-cursor": "^3.1.0", "command-line-args": "^5.1.1", - "command-line-usage": "^6.1.0", + "command-line-usage": "^6.1.1", "convert-source-map": "^1.7.0", "deepmerge": "^4.2.2", - "diff": "^4.0.2", + "diff": "^5.0.0", "globby": "^11.0.1", "ip": "^1.1.5", "istanbul-lib-report": "^3.0.0", "istanbul-reports": "^3.0.2", "log-update": "^4.0.0", - "open": "^7.0.4", + "open": "^7.3.0", "portfinder": "^1.0.28", "source-map": "^0.7.3" }, @@ -5837,9 +5848,9 @@ "dev": true }, "diff": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", - "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz", + "integrity": "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==", "dev": true }, "has-flag": { @@ -5966,9 +5977,9 @@ }, "dependencies": { "@types/mocha": { - "version": "8.0.4", - "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-8.0.4.tgz", - "integrity": "sha512-M4BwiTJjHmLq6kjON7ZoI2JMlBvpY3BYSdiP6s/qCT3jb1s9/DeJF0JELpAxiVSIxXDzfNKe+r7yedMIoLbknQ==", + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-8.2.0.tgz", + "integrity": "sha512-/Sge3BymXo4lKc31C8OINJgXLaw+7vL1/L1pGiBNpGrBiT8FQiaFpSYV0uhTaG4y78vcMBTMFsWaHDvuD+xGzQ==", "dev": true } } @@ -8116,24 +8127,24 @@ "dev": true }, "core-js": { - "version": "3.8.0", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.8.0.tgz", - "integrity": "sha512-W2VYNB0nwQQE7tKS7HzXd7r2y/y2SVJl4ga6oH/dnaLFzM0o2lB2P3zCkWj5Wc/zyMYjtgd5Hmhk0ObkQFZOIA==", + "version": "3.8.1", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.8.1.tgz", + "integrity": "sha512-9Id2xHY1W7m8hCl8NkhQn5CufmF/WuR30BTRewvCXc1aZd3kMECwNZ69ndLbekKfakw9Rf2Xyc+QR6E7Gg+obg==", "dev": true }, "core-js-bundle": { - "version": "3.8.0", - "resolved": "https://registry.npmjs.org/core-js-bundle/-/core-js-bundle-3.8.0.tgz", - "integrity": "sha512-ggWMDcmwbHGRjSDfAXnR6rySJ/86yULxcg80YgGyyrcoan9yOGr0PqSm9X9P1oB8x/hj3z6nkFFwC/Anigpn+Q==", + "version": "3.8.1", + "resolved": "https://registry.npmjs.org/core-js-bundle/-/core-js-bundle-3.8.1.tgz", + "integrity": "sha512-bkulwU0ZPkG9aZ79JCRL5ltTSvxP9YsKfyZ6ZpGolJ8BEDGK3BFPPmQ2LlWSuhSshcIxIQzArCSXBYacyGf+aQ==", "dev": true }, "core-js-compat": { - "version": "3.8.0", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.8.0.tgz", - "integrity": "sha512-o9QKelQSxQMYWHXc/Gc4L8bx/4F7TTraE5rhuN8I7mKBt5dBIUpXpIR3omv70ebr8ST5R3PqbDQr+ZI3+Tt1FQ==", + "version": "3.8.1", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.8.1.tgz", + "integrity": "sha512-a16TLmy9NVD1rkjUGbwuyWkiDoN0FDpAwrfLONvHFQx0D9k7J9y0srwMT8QP/Z6HE3MIFaVynEeYwZwPX1o5RQ==", "dev": true, "requires": { - "browserslist": "^4.14.7", + "browserslist": "^4.15.0", "semver": "7.0.0" }, "dependencies": { @@ -9151,14 +9162,25 @@ } }, "dom-serializer": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.1.0.tgz", - "integrity": "sha512-ox7bvGXt2n+uLWtCRLybYx60IrOlWL/aCebWJk1T0d4m3y2tzf4U3ij9wBMUb6YJZpz06HCCYuyCDveE2xXmzQ==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.2.0.tgz", + "integrity": "sha512-n6kZFH/KlCrqs/1GHMOd5i2fd/beQHuehKdWvNNffbGHTr/almdhuVvTVFb3V7fglz+nC50fFusu3lY33h12pA==", "dev": true, "requires": { "domelementtype": "^2.0.1", - "domhandler": "^3.0.0", + "domhandler": "^4.0.0", "entities": "^2.0.0" + }, + "dependencies": { + "domhandler": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.0.0.tgz", + "integrity": "sha512-KPTbnGQ1JeEMQyO1iYXoagsI6so/C96HZiFyByU3T6iAzpXn8EGEvct6unm1ZGoed8ByO2oirxgwxBmqKF9haA==", + "dev": true, + "requires": { + "domelementtype": "^2.1.0" + } + } } }, "dom5": { @@ -9196,14 +9218,14 @@ } }, "dompurify": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-2.2.2.tgz", - "integrity": "sha512-BsGR4nDLaC5CNBnyT5I+d5pOeaoWvgVeg6Gq/aqmKYWMPR07131u60I80BvExLAJ0FQEIBQ1BTicw+C5+jOyrg==" + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-2.2.3.tgz", + "integrity": "sha512-8Hv7Q0FuwD9rWoB6qI2eZsfKbGXfoUVuGHHrE15vgk4ReOKwOkSgbqb2OMFtc0d5besOEkoLkcyuV10zQ2X5gw==" }, "domutils": { - "version": "2.4.3", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.4.3.tgz", - "integrity": "sha512-MDMfEjgtzHvRX7i21XQfkk/vfZbLOe0VJk8dDETkTTo3BTeH3NXz3Xvs94UQ+GzTw/GjRYKsfVKIIOheYX63fw==", + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.4.4.tgz", + "integrity": "sha512-jBC0vOsECI4OMdD0GC9mGn7NXPLb+Qt6KW1YDQzeQYRUFKmNG8lh7mO5HiELfr+lLQE7loDVI4QcAxV80HS+RA==", "dev": true, "requires": { "dom-serializer": "^1.0.1", @@ -9319,9 +9341,9 @@ "dev": true }, "electron-to-chromium": { - "version": "1.3.615", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.615.tgz", - "integrity": "sha512-fNYTQXoUhNc6RmHDlGN4dgcLURSBIqQCN7ls6MuQ741+NJyLNRz8DxAC+pZpOKfRs6cfY0lv2kWdy8Oxf9j4+A==", + "version": "1.3.620", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.620.tgz", + "integrity": "sha512-YbgWXUR2Mu+Fp6rm3GZ5YJdNo8SgZKLUTNSl2PNvdOcM8OIz07jRJnRkIaV9vdszFv9UUuGChh19w9qSuoLJgw==", "dev": true }, "emoji-regex": { @@ -11472,9 +11494,9 @@ "dev": true }, "husky": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/husky/-/husky-4.3.0.tgz", - "integrity": "sha512-tTMeLCLqSBqnflBZnlVDhpaIMucSGaYyX6855jM4AguGeWCeSzNdb1mfyWduTZ3pe3SJVvVWGL0jO1iKZVPfTA==", + "version": "4.3.5", + "resolved": "https://registry.npmjs.org/husky/-/husky-4.3.5.tgz", + "integrity": "sha512-E5S/1HMoDDaqsH8kDF5zeKEQbYqe3wL9zJDyqyYqc8I4vHBtAoxkDBGXox0lZ9RI+k5GyB728vZdmnM4bYap+g==", "dev": true, "requires": { "chalk": "^4.0.0", @@ -11723,9 +11745,9 @@ "dev": true }, "ini": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", - "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==", + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.6.tgz", + "integrity": "sha512-IZUoxEjNjubzrmvzZU4lKP7OnYmX72XRl3sqkfJhBKweKi5rnGi5+IUdlj/H1M+Ip5JQ1WzaDMOBRY90Ajc5jg==", "dev": true }, "inquirer": { @@ -12055,9 +12077,9 @@ "dev": true }, "is-negative-zero": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.0.tgz", - "integrity": "sha1-lVOxIbD6wohp2p7UWeIMdUN4hGE=", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.1.tgz", + "integrity": "sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w==", "dev": true }, "is-number": { @@ -12381,9 +12403,9 @@ "dev": true }, "js-yaml": { - "version": "3.14.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.0.tgz", - "integrity": "sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A==", + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", "dev": true, "requires": { "argparse": "^1.0.7", @@ -12489,9 +12511,9 @@ }, "dependencies": { "@types/node": { - "version": "13.13.34", - "resolved": "https://registry.npmjs.org/@types/node/-/node-13.13.34.tgz", - "integrity": "sha512-g8D1HF2dMDKYSDl5+79izRwRgNPsSynmWMbj50mj7GZ0b7Lv4p8EmZjbo3h0h+6iLr6YmVz9VnF6XVZ3O6V1Ug==", + "version": "13.13.35", + "resolved": "https://registry.npmjs.org/@types/node/-/node-13.13.35.tgz", + "integrity": "sha512-q9aeOGwv+RRou/ca4aJVUM/jD5u7LBexu+rq9PkA/NhHNn8JifcMo94soKm0b6JGSfw/PSNdqtc428OscMvEYA==", "dev": true } } @@ -12947,9 +12969,9 @@ "dev": true }, "lint-staged": { - "version": "10.5.2", - "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-10.5.2.tgz", - "integrity": "sha512-e8AYR1TDlzwB8VVd38Xu2lXDZf6BcshVqKVuBQThDJRaJLobqKnpbm4dkwJ2puypQNbLr9KF/9mfA649mAGvjA==", + "version": "10.5.3", + "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-10.5.3.tgz", + "integrity": "sha512-TanwFfuqUBLufxCc3RUtFEkFraSPNR3WzWcGF39R3f2J7S9+iF9W0KTVLfSy09lYGmZS5NDCxjNvhGMSJyFCWg==", "dev": true, "requires": { "chalk": "^4.1.0", @@ -14788,9 +14810,9 @@ } }, "ws": { - "version": "7.4.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.0.tgz", - "integrity": "sha512-kyFwXuV/5ymf+IXhS6f0+eAFvydbaBW3zjpT6hUdAh/hbVjTIB5EHBGi0bPoCLSK2wcuz3BrEkB9LrYv1Nm4NQ==", + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.1.tgz", + "integrity": "sha512-pTsP8UAfhy3sk1lSk/O/s4tjD0CRwvMnzvwr4OKGX7ZvqZtUyx4KIJB5JWbkykPoc55tixMGgTNoh3k4FkNGFQ==", "dev": true } } @@ -16001,9 +16023,9 @@ } }, "ws": { - "version": "7.4.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.0.tgz", - "integrity": "sha512-kyFwXuV/5ymf+IXhS6f0+eAFvydbaBW3zjpT6hUdAh/hbVjTIB5EHBGi0bPoCLSK2wcuz3BrEkB9LrYv1Nm4NQ==", + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.1.tgz", + "integrity": "sha512-pTsP8UAfhy3sk1lSk/O/s4tjD0CRwvMnzvwr4OKGX7ZvqZtUyx4KIJB5JWbkykPoc55tixMGgTNoh3k4FkNGFQ==", "dev": true } } @@ -16621,9 +16643,9 @@ } }, "rollup": { - "version": "2.34.1", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.34.1.tgz", - "integrity": "sha512-tGveB6NU5x4MS/iXaIsjfUkEv4hxzJJ4o0FRy5LO62Ndx3R2cmE1qsLYlSfRkvHUUPqWiFoxEm8pRftzh1a5HA==", + "version": "2.34.2", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.34.2.tgz", + "integrity": "sha512-mvtQLqu3cNeoctS+kZ09iOPxrc1P1/Bt1z15enuQ5feyKOdM3MJAVFjjsygurDpSWn530xB4AlA83TWIzRstXA==", "dev": true, "requires": { "fsevents": "~2.1.2" @@ -17574,9 +17596,9 @@ }, "dependencies": { "@types/node": { - "version": "13.13.34", - "resolved": "https://registry.npmjs.org/@types/node/-/node-13.13.34.tgz", - "integrity": "sha512-g8D1HF2dMDKYSDl5+79izRwRgNPsSynmWMbj50mj7GZ0b7Lv4p8EmZjbo3h0h+6iLr6YmVz9VnF6XVZ3O6V1Ug==", + "version": "13.13.35", + "resolved": "https://registry.npmjs.org/@types/node/-/node-13.13.35.tgz", + "integrity": "sha512-q9aeOGwv+RRou/ca4aJVUM/jD5u7LBexu+rq9PkA/NhHNn8JifcMo94soKm0b6JGSfw/PSNdqtc428OscMvEYA==", "dev": true } } @@ -17604,9 +17626,9 @@ }, "dependencies": { "@types/node": { - "version": "13.13.34", - "resolved": "https://registry.npmjs.org/@types/node/-/node-13.13.34.tgz", - "integrity": "sha512-g8D1HF2dMDKYSDl5+79izRwRgNPsSynmWMbj50mj7GZ0b7Lv4p8EmZjbo3h0h+6iLr6YmVz9VnF6XVZ3O6V1Ug==", + "version": "13.13.35", + "resolved": "https://registry.npmjs.org/@types/node/-/node-13.13.35.tgz", + "integrity": "sha512-q9aeOGwv+RRou/ca4aJVUM/jD5u7LBexu+rq9PkA/NhHNn8JifcMo94soKm0b6JGSfw/PSNdqtc428OscMvEYA==", "dev": true } } @@ -18994,9 +19016,9 @@ "dev": true }, "uuid": { - "version": "8.3.1", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.1.tgz", - "integrity": "sha512-FOmRr+FmWEIG8uhZv6C2bTgEVXsHk08kE7mPlrBbEe+c3r9pjceVPgupIfNIhc4yx55H69OXANrUaSuu9eInKg==", + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", "dev": true }, "v8-compile-cache": { diff --git a/package.json b/package.json index 2843e02dd..83300c996 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "api-console", "description": "The API Console to automatically generate API documentation from RAML and OAS files.", - "version": "6.3.4", + "version": "6.3.5", "license": "CPAL-1.0", "main": "index.js", "module": "index.js", diff --git a/test/api-console.amf.test.js b/test/api-console.amf.test.js index 5841351cc..86fc39033 100644 --- a/test/api-console.amf.test.js +++ b/test/api-console.amf.test.js @@ -125,6 +125,7 @@ describe('', function() { element = await selectedFixture(amf, 'summary', 'summary') await nextFrame(); await nextFrame(); + await nextFrame(); const apiDocumentation = element.shadowRoot.querySelector('api-documentation'); const apiSummary = apiDocumentation.shadowRoot.querySelector('api-summary'); const apiUrl = apiSummary.shadowRoot.querySelector('api-url'); @@ -281,4 +282,40 @@ describe('', function() { }); }); }); + + describe('APIC-557', () => { + [ + new ApiDescribe('Regular model'), + new ApiDescribe('Compact model', true), + ].forEach(({ label, compact }) => { + describe(label, () => { + let amf; + let element; + + before(async () => { + amf = await AmfLoader.load({ compact, fileName: 'APIC-557' }); + }); + + beforeEach(async () => { + element = await amfFixture(amf); + await aTimeout(0); + }); + + it('should update api-url url value on server change', async () => { + selectOperation(element, '/pets', 'get'); + await nextFrame(); + await nextFrame(); + // await nextFrame(); + const apiDocumentation = element.shadowRoot.querySelector('api-documentation'); + const apiMethodDocumentation = apiDocumentation.shadowRoot.querySelector('api-method-documentation'); + const apiUrl = apiMethodDocumentation.shadowRoot.querySelector('api-url'); + assert.equal(apiUrl.url, 'http://petstore.swagger.io/v1/pets'); + apiDocumentation.serverValue = 'http://qa.petstore.swagger.io/v1'; + apiDocumentation.serverType = 'server'; + await nextFrame(); + assert.equal(apiUrl.url, 'http://qa.petstore.swagger.io/v1/pets'); + }); + }); + }); + }); });