diff --git a/pom.xml b/pom.xml index b444f3905fe..e35aae742e8 100644 --- a/pom.xml +++ b/pom.xml @@ -1245,15 +1245,6 @@ samples/client/petstore/typescript-fetch/tests/default samples/client/petstore/typescript-node/npm samples/client/petstore/typescript-rxjs/builds/with-npm-version - - - - @@ -1373,6 +1364,11 @@ samples/server/petstore/go-api-server samples/server/petstore/go-gin-api-server samples/server/petstore/go-echo-server + + + samples/client/petstore/typescript-angular-v7-provided-in-root diff --git a/samples/client/petstore/typescript-angular-v2/default/.openapi-generator/FILES b/samples/client/petstore/typescript-angular-v2/default/.openapi-generator/FILES deleted file mode 100644 index 884a1427cbc..00000000000 --- a/samples/client/petstore/typescript-angular-v2/default/.openapi-generator/FILES +++ /dev/null @@ -1,20 +0,0 @@ -.gitignore -README.md -api.module.ts -api/api.ts -api/pet.service.ts -api/store.service.ts -api/user.service.ts -configuration.ts -encoder.ts -git_push.sh -index.ts -model/./apiResponse.ts -model/./category.ts -model/./order.ts -model/./pet.ts -model/./tag.ts -model/./user.ts -model/models.ts -rxjs-operators.ts -variables.ts diff --git a/samples/client/petstore/typescript-angular-v2/npm/.openapi-generator/FILES b/samples/client/petstore/typescript-angular-v2/npm/.openapi-generator/FILES deleted file mode 100644 index 40e04aa9bb8..00000000000 --- a/samples/client/petstore/typescript-angular-v2/npm/.openapi-generator/FILES +++ /dev/null @@ -1,23 +0,0 @@ -.gitignore -README.md -api.module.ts -api/api.ts -api/pet.service.ts -api/store.service.ts -api/user.service.ts -configuration.ts -encoder.ts -git_push.sh -index.ts -model/./apiResponse.ts -model/./category.ts -model/./order.ts -model/./pet.ts -model/./tag.ts -model/./user.ts -model/models.ts -package.json -rxjs-operators.ts -rxjs-operators.ts -tsconfig.json -variables.ts diff --git a/samples/client/petstore/typescript-angular-v2/with-interfaces/.openapi-generator/FILES b/samples/client/petstore/typescript-angular-v2/with-interfaces/.openapi-generator/FILES deleted file mode 100644 index a1ca475da38..00000000000 --- a/samples/client/petstore/typescript-angular-v2/with-interfaces/.openapi-generator/FILES +++ /dev/null @@ -1,23 +0,0 @@ -.gitignore -README.md -api.module.ts -api/api.ts -api/pet.service.ts -api/pet.serviceInterface.ts -api/store.service.ts -api/store.serviceInterface.ts -api/user.service.ts -api/user.serviceInterface.ts -configuration.ts -encoder.ts -git_push.sh -index.ts -model/./apiResponse.ts -model/./category.ts -model/./order.ts -model/./pet.ts -model/./tag.ts -model/./user.ts -model/models.ts -rxjs-operators.ts -variables.ts diff --git a/samples/client/petstore/typescript-angular-v4.3/npm/.openapi-generator/FILES b/samples/client/petstore/typescript-angular-v4.3/npm/.openapi-generator/FILES deleted file mode 100644 index a2650d9db08..00000000000 --- a/samples/client/petstore/typescript-angular-v4.3/npm/.openapi-generator/FILES +++ /dev/null @@ -1,22 +0,0 @@ -.gitignore -README.md -api.module.ts -api/api.ts -api/pet.service.ts -api/store.service.ts -api/user.service.ts -configuration.ts -encoder.ts -git_push.sh -index.ts -model/./apiResponse.ts -model/./category.ts -model/./order.ts -model/./pet.ts -model/./tag.ts -model/./user.ts -model/models.ts -ng-package.json -package.json -tsconfig.json -variables.ts diff --git a/samples/client/petstore/typescript-angular-v4/npm/.openapi-generator/FILES b/samples/client/petstore/typescript-angular-v4/npm/.openapi-generator/FILES deleted file mode 100644 index c8adab3a6f9..00000000000 --- a/samples/client/petstore/typescript-angular-v4/npm/.openapi-generator/FILES +++ /dev/null @@ -1,24 +0,0 @@ -.gitignore -README.md -api.module.ts -api/api.ts -api/pet.service.ts -api/store.service.ts -api/user.service.ts -configuration.ts -encoder.ts -git_push.sh -index.ts -model/./apiResponse.ts -model/./category.ts -model/./order.ts -model/./pet.ts -model/./tag.ts -model/./user.ts -model/models.ts -ng-package.json -package.json -rxjs-operators.ts -rxjs-operators.ts -tsconfig.json -variables.ts diff --git a/samples/client/petstore/typescript-angular-v7-provided-in-root/angular.json b/samples/client/petstore/typescript-angular-v7-provided-in-root/angular.json index c8a34aab8b0..105361edb1a 100644 --- a/samples/client/petstore/typescript-angular-v7-provided-in-root/angular.json +++ b/samples/client/petstore/typescript-angular-v7-provided-in-root/angular.json @@ -94,33 +94,6 @@ } } } - }, - "cli-e2e": { - "root": "e2e/", - "projectType": "application", - "architect": { - "e2e": { - "builder": "@angular-devkit/build-angular:protractor", - "options": { - "protractorConfig": "tests/default/e2e/protractor.conf.js", - "devServerTarget": "test-default:serve" - }, - "configurations": { - "production": { - "devServerTarget": "test-default:serve:production" - } - } - }, - "lint": { - "builder": "@angular-devkit/build-angular:tslint", - "options": { - "tsConfig": "tests/default/e2e/tsconfig.e2e.json", - "exclude": [ - "**/node_modules/**" - ] - } - } - } } }, "defaultProject": "test-default" diff --git a/samples/client/petstore/typescript-angular-v7-provided-in-root/package-lock.json b/samples/client/petstore/typescript-angular-v7-provided-in-root/package-lock.json index cc7c0718c18..2dd63ba9d63 100644 --- a/samples/client/petstore/typescript-angular-v7-provided-in-root/package-lock.json +++ b/samples/client/petstore/typescript-angular-v7-provided-in-root/package-lock.json @@ -812,18 +812,6 @@ "integrity": "sha512-jRHfWsvyMtXdbhnz5CVHxaBgnV6duZnPlQuRSo/dm/GnmikNcmZhxIES4E9OZjUmQ8C+HCl4KJux+cXN/ErGDQ==", "dev": true }, - "@types/q": { - "version": "0.0.32", - "resolved": "http://registry.npmjs.org/@types/q/-/q-0.0.32.tgz", - "integrity": "sha1-vShOV8hPEyXacCur/IKlMoGQwMU=", - "dev": true - }, - "@types/selenium-webdriver": { - "version": "3.0.13", - "resolved": "https://registry.npmjs.org/@types/selenium-webdriver/-/selenium-webdriver-3.0.13.tgz", - "integrity": "sha512-rI0LGoMiZGUM+tjDakQpwZOvcmQoubiJ7hxqrYU12VRxBuGGvOThxrBOU/QmJKlKg1WG6FMzuvcEyLffvVSsmw==", - "dev": true - }, "@webassemblyjs/ast": { "version": "1.7.10", "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.7.10.tgz", @@ -1055,12 +1043,6 @@ "acorn": "^5.0.0" } }, - "adm-zip": { - "version": "0.4.13", - "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.4.13.tgz", - "integrity": "sha512-fERNJX8sOXfel6qCBCMPvZLzENBEhZTzKqg6vrOW5pvoEaQuJhRU4ndTAh6lHOxn1I6jnz2NHra56ZODM751uw==", - "dev": true - }, "after": { "version": "0.8.2", "resolved": "https://registry.npmjs.org/after/-/after-0.8.2.tgz", @@ -1281,6 +1263,7 @@ "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", "dev": true, + "optional": true, "requires": { "safer-buffer": "~2.1.0" } @@ -1326,7 +1309,8 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", - "dev": true + "dev": true, + "optional": true }, "assign-symbols": { "version": "1.0.0", @@ -1363,7 +1347,8 @@ "version": "0.4.0", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", - "dev": true + "dev": true, + "optional": true }, "atob": { "version": "2.1.2", @@ -1389,13 +1374,15 @@ "version": "0.7.0", "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", - "dev": true + "dev": true, + "optional": true }, "aws4": { "version": "1.8.0", "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz", "integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==", - "dev": true + "dev": true, + "optional": true }, "babel-code-frame": { "version": "6.26.0", @@ -1622,6 +1609,7 @@ "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", "dev": true, + "optional": true, "requires": { "tweetnacl": "^0.14.3" } @@ -1663,23 +1651,6 @@ "inherits": "~2.0.0" } }, - "blocking-proxy": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/blocking-proxy/-/blocking-proxy-1.0.1.tgz", - "integrity": "sha512-KE8NFMZr3mN2E0HcvCgRtX7DjhiIQrwle+nSVJVC/yqFb9+xznHl2ZcoBp2L9qzkI4t4cBFJ1efXF8Dwi132RA==", - "dev": true, - "requires": { - "minimist": "^1.2.0" - }, - "dependencies": { - "minimist": { - "version": "1.2.0", - "resolved": "http://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", - "dev": true - } - } - }, "bluebird": { "version": "3.5.3", "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.3.tgz", @@ -1851,15 +1822,6 @@ "node-releases": "^1.0.5" } }, - "browserstack": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/browserstack/-/browserstack-1.5.1.tgz", - "integrity": "sha512-O8VMT64P9NOLhuIoD4YngyxBURefaSdR4QdhG8l6HZ9VxtU7jc3m6jLufFwKA5gaf7fetfB2TnRJnMxyob+heg==", - "dev": true, - "requires": { - "https-proxy-agent": "^2.2.1" - } - }, "buffer": { "version": "4.9.1", "resolved": "http://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz", @@ -2013,7 +1975,8 @@ "version": "0.12.0", "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", - "dev": true + "dev": true, + "optional": true }, "chalk": { "version": "2.4.1", @@ -2253,6 +2216,7 @@ "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.7.tgz", "integrity": "sha512-brWl9y6vOB1xYPZcpZde3N9zDByXTosAeMDo4p1wzo6UMOX4vumB+TP1RZ76sfE6Md68Q0NJSrE/gbezd4Ul+w==", "dev": true, + "optional": true, "requires": { "delayed-stream": "~1.0.0" } @@ -2628,6 +2592,7 @@ "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", "dev": true, + "optional": true, "requires": { "assert-plus": "^1.0.0" } @@ -2786,7 +2751,8 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", - "dev": true + "dev": true, + "optional": true }, "delegates": { "version": "1.0.0", @@ -2931,6 +2897,7 @@ "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", "dev": true, + "optional": true, "requires": { "jsbn": "~0.1.0", "safer-buffer": "^2.1.0" @@ -3274,12 +3241,6 @@ } } }, - "exit": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", - "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=", - "dev": true - }, "expand-braces": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/expand-braces/-/expand-braces-0.1.2.tgz", @@ -3580,7 +3541,8 @@ "version": "1.3.0", "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", - "dev": true + "dev": true, + "optional": true }, "fast-deep-equal": { "version": "2.0.1", @@ -3763,13 +3725,15 @@ "version": "0.6.1", "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", - "dev": true + "dev": true, + "optional": true }, "form-data": { "version": "2.3.3", "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", "dev": true, + "optional": true, "requires": { "asynckit": "^0.4.0", "combined-stream": "^1.0.6", @@ -4467,6 +4431,7 @@ "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", "dev": true, + "optional": true, "requires": { "assert-plus": "^1.0.0" } @@ -4619,13 +4584,15 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", - "dev": true + "dev": true, + "optional": true }, "har-validator": { "version": "5.1.3", "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz", "integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==", "dev": true, + "optional": true, "requires": { "ajv": "^6.5.5", "har-schema": "^2.0.0" @@ -4636,6 +4603,7 @@ "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.6.1.tgz", "integrity": "sha512-ZoJjft5B+EJBjUyu9C9Hc0OZyPZSSlOF+plzouTrg6UlA8f+e/n8NIgBFG/9tppJtpPWfthHakK7juJdNDODww==", "dev": true, + "optional": true, "requires": { "fast-deep-equal": "^2.0.1", "fast-json-stable-stringify": "^2.0.0", @@ -4856,6 +4824,7 @@ "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", "dev": true, + "optional": true, "requires": { "assert-plus": "^1.0.0", "jsprim": "^1.2.2", @@ -4947,12 +4916,6 @@ "dev": true, "optional": true }, - "immediate": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz", - "integrity": "sha1-nbHb0Pr43m++D13V5Wu2BigN5ps=", - "dev": true - }, "import-cwd": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/import-cwd/-/import-cwd-2.1.0.tgz", @@ -5419,7 +5382,8 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", - "dev": true + "dev": true, + "optional": true }, "is-utf8": { "version": "0.2.1", @@ -5471,7 +5435,8 @@ "version": "0.1.2", "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", - "dev": true + "dev": true, + "optional": true }, "istanbul": { "version": "0.4.5", @@ -5724,25 +5689,6 @@ "handlebars": "^4.0.11" } }, - "jasmine": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/jasmine/-/jasmine-2.8.0.tgz", - "integrity": "sha1-awicChFXax8W3xG4AUbZHU6Lij4=", - "dev": true, - "requires": { - "exit": "^0.1.2", - "glob": "^7.0.6", - "jasmine-core": "~2.8.0" - }, - "dependencies": { - "jasmine-core": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-2.8.0.tgz", - "integrity": "sha1-vMl5rh+f0FcB5F5S5l06XWPxok4=", - "dev": true - } - } - }, "jasmine-core": { "version": "2.99.1", "resolved": "http://registry.npmjs.org/jasmine-core/-/jasmine-core-2.99.1.tgz", @@ -5758,12 +5704,6 @@ "colors": "1.1.2" } }, - "jasminewd2": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/jasminewd2/-/jasminewd2-2.2.0.tgz", - "integrity": "sha1-43zwsX8ZnM4jvqcbIDk5Uka07E4=", - "dev": true - }, "js-base64": { "version": "2.4.9", "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.4.9.tgz", @@ -5799,7 +5739,8 @@ "version": "0.1.1", "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", - "dev": true + "dev": true, + "optional": true }, "jsesc": { "version": "1.3.0", @@ -5817,7 +5758,8 @@ "version": "0.2.3", "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", - "dev": true + "dev": true, + "optional": true }, "json-schema-traverse": { "version": "0.4.1", @@ -5829,7 +5771,8 @@ "version": "5.0.1", "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", - "dev": true + "dev": true, + "optional": true }, "json3": { "version": "3.3.2", @@ -5854,6 +5797,7 @@ "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", "dev": true, + "optional": true, "requires": { "assert-plus": "1.0.0", "extsprintf": "1.3.0", @@ -5861,59 +5805,6 @@ "verror": "1.10.0" } }, - "jszip": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/jszip/-/jszip-3.1.5.tgz", - "integrity": "sha512-5W8NUaFRFRqTOL7ZDDrx5qWHJyBXy6velVudIzQUSoqAAYqzSh2Z7/m0Rf1QbmQJccegD0r+YZxBjzqoBiEeJQ==", - "dev": true, - "requires": { - "core-js": "~2.3.0", - "es6-promise": "~3.0.2", - "lie": "~3.1.0", - "pako": "~1.0.2", - "readable-stream": "~2.0.6" - }, - "dependencies": { - "core-js": { - "version": "2.3.0", - "resolved": "http://registry.npmjs.org/core-js/-/core-js-2.3.0.tgz", - "integrity": "sha1-+rg/uwstjchfpjbEudNMdUIMbWU=", - "dev": true - }, - "es6-promise": { - "version": "3.0.2", - "resolved": "http://registry.npmjs.org/es6-promise/-/es6-promise-3.0.2.tgz", - "integrity": "sha1-AQ1YWEI6XxGJeWZfRkhqlcbuK7Y=", - "dev": true - }, - "process-nextick-args": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", - "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=", - "dev": true - }, - "readable-stream": { - "version": "2.0.6", - "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz", - "integrity": "sha1-j5A0HmilPMySh4jaz80Rs265t44=", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "~1.0.0", - "process-nextick-args": "~1.0.6", - "string_decoder": "~0.10.x", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "0.10.31", - "resolved": "http://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", - "dev": true - } - } - }, "karma": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/karma/-/karma-3.0.0.tgz", @@ -6084,15 +5975,6 @@ "webpack-sources": "^1.2.0" } }, - "lie": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/lie/-/lie-3.1.1.tgz", - "integrity": "sha1-mkNrLMd0bKWd56QfpGmz77dr2H4=", - "dev": true, - "requires": { - "immediate": "~3.0.5" - } - }, "load-json-file": { "version": "1.1.0", "resolved": "http://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", @@ -7028,7 +6910,8 @@ "version": "0.9.0", "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", - "dev": true + "dev": true, + "optional": true }, "object-assign": { "version": "4.1.1", @@ -7597,7 +7480,8 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", - "dev": true + "dev": true, + "optional": true }, "pify": { "version": "3.0.0", @@ -7764,138 +7648,6 @@ "genfun": "^5.0.0" } }, - "protractor": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/protractor/-/protractor-5.4.1.tgz", - "integrity": "sha512-ORey5ewQMYiXQxcQohsqEiKYOg/r5yJoJbt0tuROmmgajdg/CA3gTOZNIFJncUVMAJIk5YFqBBLUjKVmQO6tfA==", - "dev": true, - "requires": { - "@types/node": "^6.0.46", - "@types/q": "^0.0.32", - "@types/selenium-webdriver": "^3.0.0", - "blocking-proxy": "^1.0.0", - "browserstack": "^1.5.1", - "chalk": "^1.1.3", - "glob": "^7.0.3", - "jasmine": "2.8.0", - "jasminewd2": "^2.1.0", - "optimist": "~0.6.0", - "q": "1.4.1", - "saucelabs": "^1.5.0", - "selenium-webdriver": "3.6.0", - "source-map-support": "~0.4.0", - "webdriver-js-extender": "2.1.0", - "webdriver-manager": "^12.0.6" - }, - "dependencies": { - "@types/node": { - "version": "6.14.2", - "resolved": "https://registry.npmjs.org/@types/node/-/node-6.14.2.tgz", - "integrity": "sha512-JWB3xaVfsfnFY8Ofc9rTB/op0fqqTSqy4vBcVk1LuRJvta7KTX+D//fCkiTMeLGhdr2EbFZzQjC97gvmPilk9Q==", - "dev": true - }, - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, - "chalk": { - "version": "1.1.3", - "resolved": "http://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, - "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - } - }, - "del": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/del/-/del-2.2.2.tgz", - "integrity": "sha1-wSyYHQZ4RshLyvhiz/kw2Qf/0ag=", - "dev": true, - "requires": { - "globby": "^5.0.0", - "is-path-cwd": "^1.0.0", - "is-path-in-cwd": "^1.0.0", - "object-assign": "^4.0.1", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0", - "rimraf": "^2.2.8" - } - }, - "globby": { - "version": "5.0.0", - "resolved": "http://registry.npmjs.org/globby/-/globby-5.0.0.tgz", - "integrity": "sha1-69hGZ8oNuzMLmbz8aOrCvFQ3Dg0=", - "dev": true, - "requires": { - "array-union": "^1.0.1", - "arrify": "^1.0.0", - "glob": "^7.0.3", - "object-assign": "^4.0.1", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" - } - }, - "minimist": { - "version": "1.2.0", - "resolved": "http://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", - "dev": true - }, - "pify": { - "version": "2.3.0", - "resolved": "http://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - }, - "source-map-support": { - "version": "0.4.18", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz", - "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==", - "dev": true, - "requires": { - "source-map": "^0.5.6" - } - }, - "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true - }, - "webdriver-manager": { - "version": "12.1.0", - "resolved": "https://registry.npmjs.org/webdriver-manager/-/webdriver-manager-12.1.0.tgz", - "integrity": "sha512-oEc5fmkpz6Yh6udhwir5m0eN5mgRPq9P/NU5YWuT3Up5slt6Zz+znhLU7q4+8rwCZz/Qq3Fgpr/4oao7NPCm2A==", - "dev": true, - "requires": { - "adm-zip": "^0.4.9", - "chalk": "^1.1.1", - "del": "^2.2.0", - "glob": "^7.0.3", - "ini": "^1.3.4", - "minimist": "^1.2.0", - "q": "^1.4.1", - "request": "^2.87.0", - "rimraf": "^2.5.2", - "semver": "^5.3.0", - "xml2js": "^0.4.17" - } - } - } - }, "proxy-addr": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.4.tgz", @@ -7922,7 +7674,8 @@ "version": "1.1.29", "resolved": "https://registry.npmjs.org/psl/-/psl-1.1.29.tgz", "integrity": "sha512-AeUmQ0oLN02flVHXWh9sSJF7mcdFq0ppid/JkErufc3hGIV/AMa8Fo9VgDo/cT2jFdOWoFvHp90qqBH54W+gjQ==", - "dev": true + "dev": true, + "optional": true }, "public-encrypt": { "version": "4.0.3", @@ -7965,12 +7718,6 @@ "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", "dev": true }, - "q": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/q/-/q-1.4.1.tgz", - "integrity": "sha1-VXBbzZPF82c1MMLCy8DCs63cKG4=", - "dev": true - }, "qjobs": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/qjobs/-/qjobs-1.2.0.tgz", @@ -8296,6 +8043,7 @@ "resolved": "https://registry.npmjs.org/request/-/request-2.88.0.tgz", "integrity": "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==", "dev": true, + "optional": true, "requires": { "aws-sign2": "~0.7.0", "aws4": "^1.8.0", @@ -8491,15 +8239,6 @@ "semver": "^5.5.0" } }, - "saucelabs": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/saucelabs/-/saucelabs-1.5.0.tgz", - "integrity": "sha512-jlX3FGdWvYf4Q3LFfFWS1QvPg3IGCGWxIc8QBFdPTbpTJnt/v17FHXYVAn7C8sHf1yUXo2c7yIM0isDryfYtHQ==", - "dev": true, - "requires": { - "https-proxy-agent": "^2.2.1" - } - }, "sax": { "version": "0.5.8", "resolved": "http://registry.npmjs.org/sax/-/sax-0.5.8.tgz", @@ -8546,29 +8285,6 @@ "integrity": "sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo=", "dev": true }, - "selenium-webdriver": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/selenium-webdriver/-/selenium-webdriver-3.6.0.tgz", - "integrity": "sha512-WH7Aldse+2P5bbFBO4Gle/nuQOdVwpHMTL6raL3uuBj/vPG07k6uzt3aiahu352ONBr5xXh0hDlM3LhtXPOC4Q==", - "dev": true, - "requires": { - "jszip": "^3.1.3", - "rimraf": "^2.5.4", - "tmp": "0.0.30", - "xml2js": "^0.4.17" - }, - "dependencies": { - "tmp": { - "version": "0.0.30", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.30.tgz", - "integrity": "sha1-ckGdSovn1s51FI/YsyTlk6cRwu0=", - "dev": true, - "requires": { - "os-tmpdir": "~1.0.1" - } - } - } - }, "selfsigned": { "version": "1.10.4", "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.4.tgz", @@ -9219,6 +8935,7 @@ "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.15.2.tgz", "integrity": "sha512-Ra/OXQtuh0/enyl4ETZAfTaeksa6BXks5ZcjpSUNrjBr0DvrJKX+1fsKDPpT9TBXgHAFsa4510aNVgI8g/+SzA==", "dev": true, + "optional": true, "requires": { "asn1": "~0.2.3", "assert-plus": "^1.0.0", @@ -9772,6 +9489,7 @@ "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz", "integrity": "sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==", "dev": true, + "optional": true, "requires": { "psl": "^1.1.24", "punycode": "^1.4.1" @@ -9781,7 +9499,8 @@ "version": "1.4.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", - "dev": true + "dev": true, + "optional": true } } }, @@ -9894,6 +9613,7 @@ "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", "dev": true, + "optional": true, "requires": { "safe-buffer": "^5.0.1" } @@ -9902,7 +9622,8 @@ "version": "0.14.5", "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", - "dev": true + "dev": true, + "optional": true }, "type-check": { "version": "0.3.2", @@ -10240,6 +9961,7 @@ "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", "dev": true, + "optional": true, "requires": { "assert-plus": "^1.0.0", "core-util-is": "1.0.2", @@ -10281,16 +10003,6 @@ "minimalistic-assert": "^1.0.0" } }, - "webdriver-js-extender": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/webdriver-js-extender/-/webdriver-js-extender-2.1.0.tgz", - "integrity": "sha512-lcUKrjbBfCK6MNsh7xaY2UAUmZwe+/ib03AjVOpFobX4O7+83BUveSrLfU0Qsyb1DaKJdQRbuU+kM9aZ6QUhiQ==", - "dev": true, - "requires": { - "@types/selenium-webdriver": "^3.0.0", - "selenium-webdriver": "^3.0.1" - } - }, "webpack": { "version": "4.23.1", "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.23.1.tgz", @@ -10745,30 +10457,6 @@ "ultron": "~1.1.0" } }, - "xml2js": { - "version": "0.4.19", - "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.19.tgz", - "integrity": "sha512-esZnJZJOiJR9wWKMyuvSE1y6Dq5LCuJanqhxslH2bxM6duahNZ+HMpCLhBQGZkbX6xRf8x1Y2eJlgt2q3qo49Q==", - "dev": true, - "requires": { - "sax": ">=0.6.0", - "xmlbuilder": "~9.0.1" - }, - "dependencies": { - "sax": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", - "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", - "dev": true - } - } - }, - "xmlbuilder": { - "version": "9.0.7", - "resolved": "http://registry.npmjs.org/xmlbuilder/-/xmlbuilder-9.0.7.tgz", - "integrity": "sha1-Ey7mPS7FVlxVfiD0wi35rKaGsQ0=", - "dev": true - }, "xmlhttprequest-ssl": { "version": "1.5.5", "resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.5.tgz", diff --git a/samples/client/petstore/typescript-angular-v7-provided-in-root/package.json b/samples/client/petstore/typescript-angular-v7-provided-in-root/package.json index 74aa7304975..ed39199cc57 100644 --- a/samples/client/petstore/typescript-angular-v7-provided-in-root/package.json +++ b/samples/client/petstore/typescript-angular-v7-provided-in-root/package.json @@ -6,8 +6,7 @@ "start": "ng serve", "build": "ng build", "test": "ng test", - "lint": "ng lint", - "e2e": "ng e2e" + "lint": "ng lint" }, "private": true, "dependencies": { @@ -40,7 +39,6 @@ "karma-coverage-istanbul-reporter": "~2.0.1", "karma-jasmine": "~1.1.2", "karma-jasmine-html-reporter": "^0.2.2", - "protractor": "~5.4.0", "ts-node": "~7.0.0", "tslint": "~5.11.0", "typescript": "~3.1.6" diff --git a/samples/client/petstore/typescript-angular-v7-provided-in-root/tests/default/e2e/protractor.conf.js b/samples/client/petstore/typescript-angular-v7-provided-in-root/tests/default/e2e/protractor.conf.js deleted file mode 100644 index 86776a391a5..00000000000 --- a/samples/client/petstore/typescript-angular-v7-provided-in-root/tests/default/e2e/protractor.conf.js +++ /dev/null @@ -1,28 +0,0 @@ -// Protractor configuration file, see link for more information -// https://github.com/angular/protractor/blob/master/lib/config.ts - -const { SpecReporter } = require('jasmine-spec-reporter'); - -exports.config = { - allScriptsTimeout: 11000, - specs: [ - './src/**/*.e2e-spec.ts' - ], - capabilities: { - 'browserName': 'chrome' - }, - directConnect: true, - baseUrl: 'http://localhost:4200/', - framework: 'jasmine', - jasmineNodeOpts: { - showColors: true, - defaultTimeoutInterval: 30000, - print: function() {} - }, - onPrepare() { - require('ts-node').register({ - project: require('path').join(__dirname, './tsconfig.e2e.json') - }); - jasmine.getEnv().addReporter(new SpecReporter({ spec: { displayStacktrace: true } })); - } -}; \ No newline at end of file diff --git a/samples/client/petstore/typescript-angular-v7-provided-in-root/tests/default/e2e/src/app.e2e-spec.ts b/samples/client/petstore/typescript-angular-v7-provided-in-root/tests/default/e2e/src/app.e2e-spec.ts deleted file mode 100644 index bb7c3fece57..00000000000 --- a/samples/client/petstore/typescript-angular-v7-provided-in-root/tests/default/e2e/src/app.e2e-spec.ts +++ /dev/null @@ -1,14 +0,0 @@ -import { AppPage } from './app.po'; - -describe('workspace-project App', () => { - let page: AppPage; - - beforeEach(() => { - page = new AppPage(); - }); - - it('should display welcome message', () => { - page.navigateTo(); - expect(page.getParagraphText()).toEqual('Welcome to Typescript Angular v7 (provided in root)!'); - }); -}); diff --git a/samples/client/petstore/typescript-angular-v7-provided-in-root/tests/default/e2e/src/app.po.ts b/samples/client/petstore/typescript-angular-v7-provided-in-root/tests/default/e2e/src/app.po.ts deleted file mode 100644 index 82ea75ba504..00000000000 --- a/samples/client/petstore/typescript-angular-v7-provided-in-root/tests/default/e2e/src/app.po.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { browser, by, element } from 'protractor'; - -export class AppPage { - navigateTo() { - return browser.get('/'); - } - - getParagraphText() { - return element(by.css('app-root h1')).getText(); - } -} diff --git a/samples/client/petstore/typescript-angular-v7-provided-in-root/tests/default/e2e/tsconfig.e2e.json b/samples/client/petstore/typescript-angular-v7-provided-in-root/tests/default/e2e/tsconfig.e2e.json deleted file mode 100644 index fe036e83a45..00000000000 --- a/samples/client/petstore/typescript-angular-v7-provided-in-root/tests/default/e2e/tsconfig.e2e.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "extends": "../../../tsconfig.json", - "compilerOptions": { - "outDir": "../out-tsc/app", - "module": "commonjs", - "target": "es5", - "types": [ - "jasmine", - "jasminewd2", - "node" - ] - } -} diff --git a/samples/client/petstore/typescript-angular-v7-provided-in-root/tests/default/src/app/app.component.spec.ts b/samples/client/petstore/typescript-angular-v7-provided-in-root/tests/default/src/app/app.component.spec.ts index fd77f0b021c..3495ad9e0e5 100644 --- a/samples/client/petstore/typescript-angular-v7-provided-in-root/tests/default/src/app/app.component.spec.ts +++ b/samples/client/petstore/typescript-angular-v7-provided-in-root/tests/default/src/app/app.component.spec.ts @@ -9,6 +9,7 @@ import { UserService, } from '@swagger/typescript-angular-petstore'; import { AppComponent } from './app.component'; +import {fakePetstoreBackendProviders} from "../test/fakeBackend"; describe('AppComponent', () => { @@ -34,6 +35,7 @@ describe('AppComponent', () => { PetService, StoreService, UserService, + ...fakePetstoreBackendProviders, ], declarations: [ AppComponent, diff --git a/samples/client/petstore/typescript-angular-v7-provided-in-root/tests/default/src/karma.conf.js b/samples/client/petstore/typescript-angular-v7-provided-in-root/tests/default/src/karma.conf.js index b870f8aa643..4a9730b9b6f 100644 --- a/samples/client/petstore/typescript-angular-v7-provided-in-root/tests/default/src/karma.conf.js +++ b/samples/client/petstore/typescript-angular-v7-provided-in-root/tests/default/src/karma.conf.js @@ -8,7 +8,6 @@ module.exports = function (config) { plugins: [ require('karma-jasmine'), require('karma-chrome-launcher'), - // require('karma-phantomjs-launcher'), require('karma-jasmine-html-reporter'), require('karma-coverage-istanbul-reporter'), require('@angular-devkit/build-angular/plugins/karma') diff --git a/samples/client/petstore/typescript-angular-v7-provided-in-root/tests/default/src/test/api.spec.ts b/samples/client/petstore/typescript-angular-v7-provided-in-root/tests/default/src/test/api.spec.ts index f72a63e706a..572aed4b3f1 100644 --- a/samples/client/petstore/typescript-angular-v7-provided-in-root/tests/default/src/test/api.spec.ts +++ b/samples/client/petstore/typescript-angular-v7-provided-in-root/tests/default/src/test/api.spec.ts @@ -1,5 +1,5 @@ import { TestBed, async } from '@angular/core/testing'; -import { HttpClientModule } from '@angular/common/http'; +import {HttpClientModule} from '@angular/common/http'; import { ApiModule, Configuration, @@ -10,6 +10,8 @@ import { Pet, User, } from '@swagger/typescript-angular-petstore'; +import {fakePetstoreBackendProviders} from "./fakeBackend"; +import {switchMap} from "rxjs/operators"; describe(`API (functionality)`, () => { @@ -30,7 +32,6 @@ describe(`API (functionality)`, () => { }; const newPet: Pet = getPet(); - let createdPet: Pet; const newUser: User = getUser(); @@ -45,8 +46,6 @@ describe(`API (functionality)`, () => { return apiConfig; }; - let originalTimeout; - beforeEach(() => { TestBed.configureTestingModule({ imports: [ @@ -57,15 +56,9 @@ describe(`API (functionality)`, () => { PetService, StoreService, UserService, + ...fakePetstoreBackendProviders, ] }); - - originalTimeout = jasmine.DEFAULT_TIMEOUT_INTERVAL; - jasmine.DEFAULT_TIMEOUT_INTERVAL = 10000; - }); - - afterEach(() => { - jasmine.DEFAULT_TIMEOUT_INTERVAL = originalTimeout; }); describe(`PetService`, () => { @@ -79,59 +72,45 @@ describe(`API (functionality)`, () => { return petService.addPet(newPet).subscribe( (result) => { - createdPet = result; - return expect(result.id).toBeGreaterThan(0); + expect(result.id).toBeGreaterThan(0); + expect(result.name).toBe(newPet.name); }, - error => fail(`expected a result, not the error: ${error.message}`), ); })); - it(`should have created a pet`, () => { - expect(createdPet.name).toEqual(newPet.name); - }); - it(`should get the pet data by id`, async(() => { const petService = TestBed.get(PetService); - return petService.getPetById(createdPet.id).subscribe( - result => expect(result.name).toEqual(newPet.name), - error => fail(`expected a result, not the error: ${error.message}`), + return petService.addPet(newPet).pipe( + switchMap((addedPet: Pet) => petService.getPetById(addedPet.id)) + ).subscribe( + result => { + return expect(result.name).toBe(newPet.name); + }, ); })); it(`should update the pet name by pet object`, async(() => { const petService = TestBed.get(PetService); - const newName = `pet-${Date.now()}`; - createdPet.name = newName; - return petService.updatePet(createdPet).subscribe( - result => expect(result.name).toEqual(newName), + + return petService.addPet(newPet).pipe( + switchMap((addedPet: Pet) => petService.updatePet({ + ...addedPet, + name: 'something else' + })) + ).subscribe( + result => expect(result.name).toBe('something else'), error => fail(`expected a result, not the error: ${error.message}`), ); })); - it(`should update the pet name by form`, async(() => { - const petService = TestBed.get(PetService); - const newName = `pet-${Date.now()}`; - createdPet.name = newName; - - petService.updatePetWithForm(createdPet.id, createdPet.name).subscribe( - result => expect(result.code).toEqual(200), - error => fail(`expected a result, not the error: ${error.message}`), - ); - - return petService.getPetById(createdPet.id).subscribe( - result => expect(result.name).toEqual(createdPet.name), - error => fail(`expected a result, not the error: ${error.message}`), - ); - - })); - it(`should delete the pet`, async(() => { const petService = TestBed.get(PetService); - return petService.deletePet(createdPet.id).subscribe( - result => expect(result.code).toEqual(200), - error => fail(`expected a result, not the error: ${error.message}`), + return petService.addPet(newPet).pipe( + switchMap((addedPet: Pet) => petService.deletePet(addedPet.id, undefined, 'response')), + ).subscribe( + result => expect(result.status).toEqual(200), ); })); @@ -147,7 +126,7 @@ describe(`API (functionality)`, () => { const storeService = TestBed.get(StoreService); return storeService.getInventory().subscribe( - result => expect(result).toBeTruthy(), + result => expect(result.mega).toBe(42), error => fail(`expected a result, not the error: ${error.message}`), ); @@ -164,9 +143,8 @@ describe(`API (functionality)`, () => { it(`should create the user`, async(() => { const userService = TestBed.get(UserService); - return userService.createUser(newUser).subscribe( - result => expect(result.code).toEqual(200), - error => fail(`expected a result, not the error: ${error.message}`), + return userService.createUser(newUser, 'response').subscribe( + result => expect(result.status).toEqual(200), ); })); diff --git a/samples/client/petstore/typescript-angular-v7-provided-in-root/tests/default/src/test/fakeBackend.ts b/samples/client/petstore/typescript-angular-v7-provided-in-root/tests/default/src/test/fakeBackend.ts new file mode 100644 index 00000000000..2ea690270ce --- /dev/null +++ b/samples/client/petstore/typescript-angular-v7-provided-in-root/tests/default/src/test/fakeBackend.ts @@ -0,0 +1,92 @@ +import {Injectable, Provider} from '@angular/core'; +import {Observable, Observer} from 'rxjs'; +import { + HTTP_INTERCEPTORS, + HttpEvent, + HttpEventType, + HttpHandler, + HttpInterceptor, + HttpRequest +} from '@angular/common/http'; +import { TestRequest } from "@angular/common/http/testing"; +import { Pet } from "@swagger/typescript-angular-petstore"; + +@Injectable() +export class FakePetstoreBackendInterceptor implements HttpInterceptor { + private fakePetstoreBackend = new FakePetstoreBackend() + + constructor() { + + } + + intercept(req: HttpRequest, next: HttpHandler): Observable> { + const parsedUrl = new URL(req.url); + if (parsedUrl.pathname.indexOf('/v2/pet') === 0) { + if (req.method === 'GET') { + const pathParts = parsedUrl.pathname.split('/'); + const petId = parseInt(pathParts[pathParts.length-1], 10); + return this.respond(req, this.fakePetstoreBackend.getPet(petId)); + } else if (req.method === 'POST') { + return this.respond(req, this.fakePetstoreBackend.addPet(req.body)); + } else if (req.method === 'PUT') { + return this.respond(req, this.fakePetstoreBackend.updatePet(req.body)); + } else if (req.method === 'DELETE') { + const pathParts = parsedUrl.pathname.split('/'); + const petId = parseInt(pathParts[pathParts.length-1], 10); + this.fakePetstoreBackend.deletePet(petId); + return this.respond(req, {}); + } + } else if (parsedUrl.pathname.indexOf('/v2/store/inventory') === 0) { + if (req.method === 'GET') { + return this.respond(req, {mega: 42}); + } + } else if (parsedUrl.pathname.indexOf('/v2/user') === 0) { + if (req.method === 'POST') { + return this.respond(req, {mega: 42}); + } + } + throw new Error('Http call not implemented in fake backend. ' + req.url); + } + + private respond(request: HttpRequest, response: any): Observable> { + return new Observable((observer: Observer) => { + const testReq = new TestRequest(request, observer); + observer.next({ type: HttpEventType.Sent } as HttpEvent); + testReq.flush(response); + return () => { }; + }); + } +} + +@Injectable() +class FakePetstoreBackend { + private nextId = 1; + private pets: Map = new Map(); + + public getPet(id: number): Pet { + return this.pets.get(String(id)); + } + + public addPet(pet: Pet): Pet { + const id = this.nextId++; + this.pets.set(String(id), { + ...pet, + id + }); + return this.getPet(id); + } + + public updatePet(pet: Pet): Pet { + this.pets.set(String(pet.id), pet); + return pet; + } + + public deletePet(id: number): void { + this.pets.delete(String(id)); + } +} + + +export const fakePetstoreBackendProviders: Provider[] = [ + {provide: HTTP_INTERCEPTORS, useClass: FakePetstoreBackendInterceptor, multi: true}, +];