MSW: Bump msw from 1.2.3 to 2.3.1
This bumps Mock Service Worker and updates the handlers.
This commit is contained in:
parent
a8c8942af6
commit
501323b476
6 changed files with 484 additions and 359 deletions
454
package-lock.json
generated
454
package-lock.json
generated
|
|
@ -74,7 +74,7 @@
|
|||
"jest-environment-jsdom": "29.7.0",
|
||||
"jest-fail-on-console": "3.3.0",
|
||||
"moment": "2.30.1",
|
||||
"msw": "1.2.3",
|
||||
"msw": "2.3.1",
|
||||
"npm-run-all": "4.1.5",
|
||||
"postcss-scss": "4.0.9",
|
||||
"react-chartjs-2": "5.2.0",
|
||||
|
|
@ -2111,6 +2111,33 @@
|
|||
"optional": true,
|
||||
"peer": true
|
||||
},
|
||||
"node_modules/@bundled-es-modules/cookie": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/@bundled-es-modules/cookie/-/cookie-2.0.0.tgz",
|
||||
"integrity": "sha512-Or6YHg/kamKHpxULAdSqhGqnWFneIXu1NKvvfBBzKGwpVsYuFIQ5aBPHDnnoR3ghW1nvSkALd+EF9iMtY7Vjxw==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"cookie": "^0.5.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@bundled-es-modules/cookie/node_modules/cookie": {
|
||||
"version": "0.5.0",
|
||||
"resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz",
|
||||
"integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==",
|
||||
"dev": true,
|
||||
"engines": {
|
||||
"node": ">= 0.6"
|
||||
}
|
||||
},
|
||||
"node_modules/@bundled-es-modules/statuses": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/@bundled-es-modules/statuses/-/statuses-1.0.1.tgz",
|
||||
"integrity": "sha512-yn7BklA5acgcBr+7w064fGV+SGIFySjCKpqjcWgBAIfrAkY+4GQTJJHQMeT3V/sgz23VTEVV8TtOmkvJAhFVfg==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"statuses": "^2.0.1"
|
||||
}
|
||||
},
|
||||
"node_modules/@cspotcode/source-map-support": {
|
||||
"version": "0.8.1",
|
||||
"dev": true,
|
||||
|
|
@ -2755,6 +2782,161 @@
|
|||
"integrity": "sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/@inquirer/confirm": {
|
||||
"version": "3.1.9",
|
||||
"resolved": "https://registry.npmjs.org/@inquirer/confirm/-/confirm-3.1.9.tgz",
|
||||
"integrity": "sha512-UF09aejxCi4Xqm6N/jJAiFXArXfi9al52AFaSD+2uIHnhZGtd1d6lIGTRMPouVSJxbGEi+HkOWSYaiEY/+szUw==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"@inquirer/core": "^8.2.2",
|
||||
"@inquirer/type": "^1.3.3"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=18"
|
||||
}
|
||||
},
|
||||
"node_modules/@inquirer/core": {
|
||||
"version": "8.2.2",
|
||||
"resolved": "https://registry.npmjs.org/@inquirer/core/-/core-8.2.2.tgz",
|
||||
"integrity": "sha512-K8SuNX45jEFlX3EBJpu9B+S2TISzMPGXZIuJ9ME924SqbdW6Pt6fIkKvXg7mOEOKJ4WxpQsxj0UTfcL/A434Ww==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"@inquirer/figures": "^1.0.3",
|
||||
"@inquirer/type": "^1.3.3",
|
||||
"@types/mute-stream": "^0.0.4",
|
||||
"@types/node": "^20.12.13",
|
||||
"@types/wrap-ansi": "^3.0.0",
|
||||
"ansi-escapes": "^4.3.2",
|
||||
"chalk": "^4.1.2",
|
||||
"cli-spinners": "^2.9.2",
|
||||
"cli-width": "^4.1.0",
|
||||
"mute-stream": "^1.0.0",
|
||||
"signal-exit": "^4.1.0",
|
||||
"strip-ansi": "^6.0.1",
|
||||
"wrap-ansi": "^6.2.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=18"
|
||||
}
|
||||
},
|
||||
"node_modules/@inquirer/core/node_modules/ansi-styles": {
|
||||
"version": "4.3.0",
|
||||
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
|
||||
"integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"color-convert": "^2.0.1"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=8"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/chalk/ansi-styles?sponsor=1"
|
||||
}
|
||||
},
|
||||
"node_modules/@inquirer/core/node_modules/chalk": {
|
||||
"version": "4.1.2",
|
||||
"resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
|
||||
"integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"ansi-styles": "^4.1.0",
|
||||
"supports-color": "^7.1.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=10"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/chalk/chalk?sponsor=1"
|
||||
}
|
||||
},
|
||||
"node_modules/@inquirer/core/node_modules/cli-width": {
|
||||
"version": "4.1.0",
|
||||
"resolved": "https://registry.npmjs.org/cli-width/-/cli-width-4.1.0.tgz",
|
||||
"integrity": "sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ==",
|
||||
"dev": true,
|
||||
"engines": {
|
||||
"node": ">= 12"
|
||||
}
|
||||
},
|
||||
"node_modules/@inquirer/core/node_modules/color-convert": {
|
||||
"version": "2.0.1",
|
||||
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
|
||||
"integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"color-name": "~1.1.4"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=7.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@inquirer/core/node_modules/color-name": {
|
||||
"version": "1.1.4",
|
||||
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
|
||||
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/@inquirer/core/node_modules/has-flag": {
|
||||
"version": "4.0.0",
|
||||
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
|
||||
"integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
|
||||
"dev": true,
|
||||
"engines": {
|
||||
"node": ">=8"
|
||||
}
|
||||
},
|
||||
"node_modules/@inquirer/core/node_modules/mute-stream": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-1.0.0.tgz",
|
||||
"integrity": "sha512-avsJQhyd+680gKXyG/sQc0nXaC6rBkPOfyHYcFb9+hdkqQkR9bdnkJ0AMZhke0oesPqIO+mFFJ+IdBc7mst4IA==",
|
||||
"dev": true,
|
||||
"engines": {
|
||||
"node": "^14.17.0 || ^16.13.0 || >=18.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@inquirer/core/node_modules/signal-exit": {
|
||||
"version": "4.1.0",
|
||||
"resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz",
|
||||
"integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==",
|
||||
"dev": true,
|
||||
"engines": {
|
||||
"node": ">=14"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/isaacs"
|
||||
}
|
||||
},
|
||||
"node_modules/@inquirer/core/node_modules/supports-color": {
|
||||
"version": "7.2.0",
|
||||
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
|
||||
"integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"has-flag": "^4.0.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=8"
|
||||
}
|
||||
},
|
||||
"node_modules/@inquirer/figures": {
|
||||
"version": "1.0.3",
|
||||
"resolved": "https://registry.npmjs.org/@inquirer/figures/-/figures-1.0.3.tgz",
|
||||
"integrity": "sha512-ErXXzENMH5pJt5/ssXV0DfWUZqly8nGzf0UcBV9xTnP+KyffE2mqyxIMBrZ8ijQck2nU0TQm40EQB53YreyWHw==",
|
||||
"dev": true,
|
||||
"engines": {
|
||||
"node": ">=18"
|
||||
}
|
||||
},
|
||||
"node_modules/@inquirer/type": {
|
||||
"version": "1.3.3",
|
||||
"resolved": "https://registry.npmjs.org/@inquirer/type/-/type-1.3.3.tgz",
|
||||
"integrity": "sha512-xTUt0NulylX27/zMx04ZYar/kr1raaiFTVvQ5feljQsiAgdm0WPj4S73/ye0fbslh+15QrIuDvfCXTek7pMY5A==",
|
||||
"dev": true,
|
||||
"engines": {
|
||||
"node": ">=18"
|
||||
}
|
||||
},
|
||||
"node_modules/@istanbuljs/load-nyc-config": {
|
||||
"version": "1.1.0",
|
||||
"dev": true,
|
||||
|
|
@ -3674,41 +3856,29 @@
|
|||
}
|
||||
},
|
||||
"node_modules/@mswjs/cookies": {
|
||||
"version": "0.2.2",
|
||||
"version": "1.1.1",
|
||||
"resolved": "https://registry.npmjs.org/@mswjs/cookies/-/cookies-1.1.1.tgz",
|
||||
"integrity": "sha512-W68qOHEjx1iD+4VjQudlx26CPIoxmIAtK4ZCexU0/UJBG6jYhcuyzKJx+Iw8uhBIGd9eba64XgWVgo20it1qwA==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@types/set-cookie-parser": "^2.4.0",
|
||||
"set-cookie-parser": "^2.4.6"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=14"
|
||||
"node": ">=18"
|
||||
}
|
||||
},
|
||||
"node_modules/@mswjs/interceptors": {
|
||||
"version": "0.17.10",
|
||||
"version": "0.29.1",
|
||||
"resolved": "https://registry.npmjs.org/@mswjs/interceptors/-/interceptors-0.29.1.tgz",
|
||||
"integrity": "sha512-3rDakgJZ77+RiQUuSK69t1F0m8BQKA8Vh5DCS5V0DWvNY67zob2JhhQrhCO0AKLGINTRSFd1tBaHcJTkhefoSw==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@open-draft/until": "^1.0.3",
|
||||
"@types/debug": "^4.1.7",
|
||||
"@xmldom/xmldom": "^0.8.3",
|
||||
"debug": "^4.3.3",
|
||||
"headers-polyfill": "3.2.5",
|
||||
"@open-draft/deferred-promise": "^2.2.0",
|
||||
"@open-draft/logger": "^0.3.0",
|
||||
"@open-draft/until": "^2.0.0",
|
||||
"is-node-process": "^1.2.0",
|
||||
"outvariant": "^1.2.1",
|
||||
"strict-event-emitter": "^0.2.4",
|
||||
"web-encoding": "^1.1.5"
|
||||
"strict-event-emitter": "^0.5.1"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=14"
|
||||
}
|
||||
},
|
||||
"node_modules/@mswjs/interceptors/node_modules/strict-event-emitter": {
|
||||
"version": "0.2.8",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"events": "^3.3.0"
|
||||
"node": ">=18"
|
||||
}
|
||||
},
|
||||
"node_modules/@nicolo-ribaudo/eslint-scope-5-internals": {
|
||||
|
|
@ -3751,10 +3921,27 @@
|
|||
"node": ">= 8"
|
||||
}
|
||||
},
|
||||
"node_modules/@open-draft/until": {
|
||||
"version": "1.0.3",
|
||||
"node_modules/@open-draft/deferred-promise": {
|
||||
"version": "2.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@open-draft/deferred-promise/-/deferred-promise-2.2.0.tgz",
|
||||
"integrity": "sha512-CecwLWx3rhxVQF6V4bAgPS5t+So2sTbPgAzafKkVizyi7tlwpcFpdFqq+wqF2OwNBmqFuu6tOyouTuxgpMfzmA==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/@open-draft/logger": {
|
||||
"version": "0.3.0",
|
||||
"resolved": "https://registry.npmjs.org/@open-draft/logger/-/logger-0.3.0.tgz",
|
||||
"integrity": "sha512-X2g45fzhxH238HKO4xbSr7+wBS8Fvw6ixhTDuvLd5mqh6bJJCFAPwU9mPDxbcrRtfxv4u5IHCEH77BmxvXmmxQ==",
|
||||
"dev": true,
|
||||
"license": "MIT"
|
||||
"dependencies": {
|
||||
"is-node-process": "^1.2.0",
|
||||
"outvariant": "^1.4.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@open-draft/until": {
|
||||
"version": "2.1.0",
|
||||
"resolved": "https://registry.npmjs.org/@open-draft/until/-/until-2.1.0.tgz",
|
||||
"integrity": "sha512-U69T3ItWHvLwGg5eJ0n3I62nWuE6ilHlmz7zM0npLBRvPRd7e6NYmg54vvRtP5mZG7kZqZCFVdsTWo7BPtBujg==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/@openshift/dynamic-plugin-sdk": {
|
||||
"version": "5.0.1",
|
||||
|
|
@ -5161,22 +5348,15 @@
|
|||
}
|
||||
},
|
||||
"node_modules/@types/cookie": {
|
||||
"version": "0.4.1",
|
||||
"dev": true,
|
||||
"license": "MIT"
|
||||
"version": "0.6.0",
|
||||
"resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.6.0.tgz",
|
||||
"integrity": "sha512-4Kh9a6B2bQciAhf7FSuMRRkUWecJgJu9nPnx3yzpsfXX/c50REIqpHY4C82bXP90qrLtXtkDxTZosYO3UpOwlA==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/@types/debounce-promise": {
|
||||
"version": "3.1.7",
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/@types/debug": {
|
||||
"version": "4.1.9",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@types/ms": "*"
|
||||
}
|
||||
},
|
||||
"node_modules/@types/eslint": {
|
||||
"version": "8.44.3",
|
||||
"dev": true,
|
||||
|
|
@ -5335,11 +5515,6 @@
|
|||
"optional": true,
|
||||
"peer": true
|
||||
},
|
||||
"node_modules/@types/js-levenshtein": {
|
||||
"version": "1.1.1",
|
||||
"dev": true,
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/@types/jsdom": {
|
||||
"version": "20.0.1",
|
||||
"dev": true,
|
||||
|
|
@ -5381,15 +5556,23 @@
|
|||
"dev": true,
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/@types/ms": {
|
||||
"version": "0.7.32",
|
||||
"node_modules/@types/mute-stream": {
|
||||
"version": "0.0.4",
|
||||
"resolved": "https://registry.npmjs.org/@types/mute-stream/-/mute-stream-0.0.4.tgz",
|
||||
"integrity": "sha512-CPM9nzrCPPJHQNA9keH9CVkVI+WR5kMa+7XEs5jcGQ0VoAGnLv242w8lIVgwAEfmE4oufJRaTc9PNLQl0ioAow==",
|
||||
"dev": true,
|
||||
"license": "MIT"
|
||||
"dependencies": {
|
||||
"@types/node": "*"
|
||||
}
|
||||
},
|
||||
"node_modules/@types/node": {
|
||||
"version": "20.7.1",
|
||||
"version": "20.14.5",
|
||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-20.14.5.tgz",
|
||||
"integrity": "sha512-aoRR+fJkZT2l0aGOJhuA8frnCSoNX6W7U2mpNq63+BxBIj5BQFt8rHy627kijCmm63ijdSdwvGgpUsU6MBsZZA==",
|
||||
"dev": true,
|
||||
"license": "MIT"
|
||||
"dependencies": {
|
||||
"undici-types": "~5.26.4"
|
||||
}
|
||||
},
|
||||
"node_modules/@types/node-fetch": {
|
||||
"version": "2.6.11",
|
||||
|
|
@ -5504,14 +5687,6 @@
|
|||
"@types/node": "*"
|
||||
}
|
||||
},
|
||||
"node_modules/@types/set-cookie-parser": {
|
||||
"version": "2.4.4",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@types/node": "*"
|
||||
}
|
||||
},
|
||||
"node_modules/@types/sockjs": {
|
||||
"version": "0.3.34",
|
||||
"dev": true,
|
||||
|
|
@ -5530,6 +5705,12 @@
|
|||
"dev": true,
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/@types/statuses": {
|
||||
"version": "2.0.5",
|
||||
"resolved": "https://registry.npmjs.org/@types/statuses/-/statuses-2.0.5.tgz",
|
||||
"integrity": "sha512-jmIUGWrAiwu3dZpxntxieC+1n/5c3mjrImkmOSQ2NC5uP6cYO4aAZDdSmRcI5C1oiTmqlZGHC+/NmJrKogbP5A==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/@types/tapable": {
|
||||
"version": "1.0.9",
|
||||
"dev": true,
|
||||
|
|
@ -5597,6 +5778,12 @@
|
|||
"node": ">=0.10.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@types/wrap-ansi": {
|
||||
"version": "3.0.0",
|
||||
"resolved": "https://registry.npmjs.org/@types/wrap-ansi/-/wrap-ansi-3.0.0.tgz",
|
||||
"integrity": "sha512-ltIpx+kM7g/MLRZfkbL7EsCEjfzCcScLpkg37eXEtx5kmrAKBkTJwd1GIAjDSL8wTpM6Hzn5YO4pSb91BEwu1g==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/@types/ws": {
|
||||
"version": "8.5.6",
|
||||
"dev": true,
|
||||
|
|
@ -6218,14 +6405,6 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"node_modules/@xmldom/xmldom": {
|
||||
"version": "0.8.10",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">=10.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@xtuc/ieee754": {
|
||||
"version": "1.2.0",
|
||||
"dev": true,
|
||||
|
|
@ -6236,12 +6415,6 @@
|
|||
"dev": true,
|
||||
"license": "Apache-2.0"
|
||||
},
|
||||
"node_modules/@zxing/text-encoding": {
|
||||
"version": "0.9.0",
|
||||
"dev": true,
|
||||
"license": "(Unlicense OR Apache-2.0)",
|
||||
"optional": true
|
||||
},
|
||||
"node_modules/abab": {
|
||||
"version": "2.0.6",
|
||||
"dev": true,
|
||||
|
|
@ -7639,9 +7812,10 @@
|
|||
}
|
||||
},
|
||||
"node_modules/cli-spinners": {
|
||||
"version": "2.9.1",
|
||||
"version": "2.9.2",
|
||||
"resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.2.tgz",
|
||||
"integrity": "sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">=6"
|
||||
},
|
||||
|
|
@ -11303,9 +11477,10 @@
|
|||
}
|
||||
},
|
||||
"node_modules/headers-polyfill": {
|
||||
"version": "3.2.5",
|
||||
"dev": true,
|
||||
"license": "MIT"
|
||||
"version": "4.0.3",
|
||||
"resolved": "https://registry.npmjs.org/headers-polyfill/-/headers-polyfill-4.0.3.tgz",
|
||||
"integrity": "sha512-IScLbePpkvO846sIwOtOTDjutRMWdXdJmXdMvk6gCBHxFO8d+QKOQedyZSxFTTFYRSmlgSTDtXqqq4pcenBXLQ==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/history": {
|
||||
"version": "5.3.0",
|
||||
|
|
@ -14739,14 +14914,6 @@
|
|||
"url": "https://github.com/chalk/supports-color?sponsor=1"
|
||||
}
|
||||
},
|
||||
"node_modules/js-levenshtein": {
|
||||
"version": "1.1.6",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">=0.10.0"
|
||||
}
|
||||
},
|
||||
"node_modules/js-tokens": {
|
||||
"version": "4.0.0",
|
||||
"license": "MIT"
|
||||
|
|
@ -15866,43 +16033,41 @@
|
|||
"license": "MIT"
|
||||
},
|
||||
"node_modules/msw": {
|
||||
"version": "1.2.3",
|
||||
"version": "2.3.1",
|
||||
"resolved": "https://registry.npmjs.org/msw/-/msw-2.3.1.tgz",
|
||||
"integrity": "sha512-ocgvBCLn/5l3jpl1lssIb3cniuACJLoOfZu01e3n5dbJrpA5PeeWn28jCLgQDNt6d7QT8tF2fYRzm9JoEHtiig==",
|
||||
"dev": true,
|
||||
"hasInstallScript": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@mswjs/cookies": "^0.2.2",
|
||||
"@mswjs/interceptors": "^0.17.5",
|
||||
"@open-draft/until": "^1.0.3",
|
||||
"@types/cookie": "^0.4.1",
|
||||
"@types/js-levenshtein": "^1.1.1",
|
||||
"chalk": "4.1.1",
|
||||
"chokidar": "^3.4.2",
|
||||
"cookie": "^0.4.2",
|
||||
"graphql": "^15.0.0 || ^16.0.0",
|
||||
"headers-polyfill": "^3.1.2",
|
||||
"inquirer": "^8.2.0",
|
||||
"@bundled-es-modules/cookie": "^2.0.0",
|
||||
"@bundled-es-modules/statuses": "^1.0.1",
|
||||
"@inquirer/confirm": "^3.0.0",
|
||||
"@mswjs/cookies": "^1.1.0",
|
||||
"@mswjs/interceptors": "^0.29.0",
|
||||
"@open-draft/until": "^2.1.0",
|
||||
"@types/cookie": "^0.6.0",
|
||||
"@types/statuses": "^2.0.4",
|
||||
"chalk": "^4.1.2",
|
||||
"graphql": "^16.8.1",
|
||||
"headers-polyfill": "^4.0.2",
|
||||
"is-node-process": "^1.2.0",
|
||||
"js-levenshtein": "^1.1.6",
|
||||
"node-fetch": "^2.6.7",
|
||||
"outvariant": "^1.4.0",
|
||||
"outvariant": "^1.4.2",
|
||||
"path-to-regexp": "^6.2.0",
|
||||
"strict-event-emitter": "^0.4.3",
|
||||
"type-fest": "^2.19.0",
|
||||
"yargs": "^17.3.1"
|
||||
"strict-event-emitter": "^0.5.1",
|
||||
"type-fest": "^4.9.0",
|
||||
"yargs": "^17.7.2"
|
||||
},
|
||||
"bin": {
|
||||
"msw": "cli/index.js"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=14"
|
||||
"node": ">=18"
|
||||
},
|
||||
"funding": {
|
||||
"type": "opencollective",
|
||||
"url": "https://opencollective.com/mswjs"
|
||||
"url": "https://github.com/sponsors/mswjs"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"typescript": ">= 4.4.x <= 5.1.x"
|
||||
"typescript": ">= 4.7.x"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
"typescript": {
|
||||
|
|
@ -15912,8 +16077,9 @@
|
|||
},
|
||||
"node_modules/msw/node_modules/ansi-styles": {
|
||||
"version": "4.3.0",
|
||||
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
|
||||
"integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"color-convert": "^2.0.1"
|
||||
},
|
||||
|
|
@ -15925,9 +16091,10 @@
|
|||
}
|
||||
},
|
||||
"node_modules/msw/node_modules/chalk": {
|
||||
"version": "4.1.1",
|
||||
"version": "4.1.2",
|
||||
"resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
|
||||
"integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"ansi-styles": "^4.1.0",
|
||||
"supports-color": "^7.1.0"
|
||||
|
|
@ -15941,8 +16108,9 @@
|
|||
},
|
||||
"node_modules/msw/node_modules/color-convert": {
|
||||
"version": "2.0.1",
|
||||
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
|
||||
"integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"color-name": "~1.1.4"
|
||||
},
|
||||
|
|
@ -15952,21 +16120,15 @@
|
|||
},
|
||||
"node_modules/msw/node_modules/color-name": {
|
||||
"version": "1.1.4",
|
||||
"dev": true,
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/msw/node_modules/cookie": {
|
||||
"version": "0.4.2",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">= 0.6"
|
||||
}
|
||||
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
|
||||
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/msw/node_modules/has-flag": {
|
||||
"version": "4.0.0",
|
||||
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
|
||||
"integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">=8"
|
||||
}
|
||||
|
|
@ -15978,8 +16140,9 @@
|
|||
},
|
||||
"node_modules/msw/node_modules/supports-color": {
|
||||
"version": "7.2.0",
|
||||
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
|
||||
"integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"has-flag": "^4.0.0"
|
||||
},
|
||||
|
|
@ -15988,11 +16151,12 @@
|
|||
}
|
||||
},
|
||||
"node_modules/msw/node_modules/type-fest": {
|
||||
"version": "2.19.0",
|
||||
"version": "4.20.1",
|
||||
"resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.20.1.tgz",
|
||||
"integrity": "sha512-R6wDsVsoS9xYOpy8vgeBlqpdOyzJ12HNfQhC/aAKWM3YoCV9TtunJzh/QpkMgeDhkoynDcw5f1y+qF9yc/HHyg==",
|
||||
"dev": true,
|
||||
"license": "(MIT OR CC0-1.0)",
|
||||
"engines": {
|
||||
"node": ">=12.20"
|
||||
"node": ">=16"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/sindresorhus"
|
||||
|
|
@ -16694,9 +16858,10 @@
|
|||
}
|
||||
},
|
||||
"node_modules/outvariant": {
|
||||
"version": "1.4.0",
|
||||
"dev": true,
|
||||
"license": "MIT"
|
||||
"version": "1.4.2",
|
||||
"resolved": "https://registry.npmjs.org/outvariant/-/outvariant-1.4.2.tgz",
|
||||
"integrity": "sha512-Ou3dJ6bA/UJ5GVHxah4LnqDwZRwAmWxrG3wtrHrbGnP4RnLCtA64A4F+ae7Y8ww660JaddSoArUR5HjipWSHAQ==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/p-all": {
|
||||
"version": "5.0.0",
|
||||
|
|
@ -18593,11 +18758,6 @@
|
|||
"node": ">= 0.8.0"
|
||||
}
|
||||
},
|
||||
"node_modules/set-cookie-parser": {
|
||||
"version": "2.6.0",
|
||||
"dev": true,
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/set-function-length": {
|
||||
"version": "1.2.1",
|
||||
"resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.1.tgz",
|
||||
|
|
@ -19012,9 +19172,10 @@
|
|||
}
|
||||
},
|
||||
"node_modules/strict-event-emitter": {
|
||||
"version": "0.4.6",
|
||||
"dev": true,
|
||||
"license": "MIT"
|
||||
"version": "0.5.1",
|
||||
"resolved": "https://registry.npmjs.org/strict-event-emitter/-/strict-event-emitter-0.5.1.tgz",
|
||||
"integrity": "sha512-vMgjE/GGEPEFnhFub6pa4FmJBRBVOLpIII2hvCZ8Kzb7K0hlHo7mQv6xYrBvCL2LtAIBwFUK8wvuJgTVSQ5MFQ==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/string_decoder": {
|
||||
"version": "1.3.0",
|
||||
|
|
@ -20230,6 +20391,12 @@
|
|||
"url": "https://github.com/sponsors/ljharb"
|
||||
}
|
||||
},
|
||||
"node_modules/undici-types": {
|
||||
"version": "5.26.5",
|
||||
"resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz",
|
||||
"integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/unicode-canonical-property-names-ecmascript": {
|
||||
"version": "2.0.0",
|
||||
"dev": true,
|
||||
|
|
@ -20695,17 +20862,6 @@
|
|||
"defaults": "^1.0.3"
|
||||
}
|
||||
},
|
||||
"node_modules/web-encoding": {
|
||||
"version": "1.1.5",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"util": "^0.12.3"
|
||||
},
|
||||
"optionalDependencies": {
|
||||
"@zxing/text-encoding": "0.9.0"
|
||||
}
|
||||
},
|
||||
"node_modules/webidl-conversions": {
|
||||
"version": "7.0.0",
|
||||
"dev": true,
|
||||
|
|
|
|||
|
|
@ -73,7 +73,7 @@
|
|||
"jest-environment-jsdom": "29.7.0",
|
||||
"jest-fail-on-console": "3.3.0",
|
||||
"moment": "2.30.1",
|
||||
"msw": "1.2.3",
|
||||
"msw": "2.3.1",
|
||||
"npm-run-all": "4.1.5",
|
||||
"postcss-scss": "4.0.9",
|
||||
"react-chartjs-2": "5.2.0",
|
||||
|
|
|
|||
|
|
@ -2,13 +2,15 @@
|
|||
/* tslint:disable */
|
||||
|
||||
/**
|
||||
* Mock Service Worker (1.2.3).
|
||||
* Mock Service Worker.
|
||||
* @see https://github.com/mswjs/msw
|
||||
* - Please do NOT modify this file.
|
||||
* - Please do NOT serve this file on production.
|
||||
*/
|
||||
|
||||
const INTEGRITY_CHECKSUM = '3d6b9f06410d179a7f7404d4bf4c3c70'
|
||||
const PACKAGE_VERSION = '2.3.1'
|
||||
const INTEGRITY_CHECKSUM = '26357c79639bfa20d64c0efca2a87423'
|
||||
const IS_MOCKED_RESPONSE = Symbol('isMockedResponse')
|
||||
const activeClientIds = new Set()
|
||||
|
||||
self.addEventListener('install', function () {
|
||||
|
|
@ -47,7 +49,10 @@ self.addEventListener('message', async function (event) {
|
|||
case 'INTEGRITY_CHECK_REQUEST': {
|
||||
sendToClient(client, {
|
||||
type: 'INTEGRITY_CHECK_RESPONSE',
|
||||
payload: INTEGRITY_CHECKSUM,
|
||||
payload: {
|
||||
packageVersion: PACKAGE_VERSION,
|
||||
checksum: INTEGRITY_CHECKSUM,
|
||||
},
|
||||
})
|
||||
break
|
||||
}
|
||||
|
|
@ -86,12 +91,6 @@ self.addEventListener('message', async function (event) {
|
|||
|
||||
self.addEventListener('fetch', function (event) {
|
||||
const { request } = event
|
||||
const accept = request.headers.get('accept') || ''
|
||||
|
||||
// Bypass server-sent events.
|
||||
if (accept.includes('text/event-stream')) {
|
||||
return
|
||||
}
|
||||
|
||||
// Bypass navigation requests.
|
||||
if (request.mode === 'navigate') {
|
||||
|
|
@ -112,29 +111,8 @@ self.addEventListener('fetch', function (event) {
|
|||
}
|
||||
|
||||
// Generate unique request ID.
|
||||
const requestId = Math.random().toString(16).slice(2)
|
||||
|
||||
event.respondWith(
|
||||
handleRequest(event, requestId).catch((error) => {
|
||||
if (error.name === 'NetworkError') {
|
||||
console.warn(
|
||||
'[MSW] Successfully emulated a network error for the "%s %s" request.',
|
||||
request.method,
|
||||
request.url,
|
||||
)
|
||||
return
|
||||
}
|
||||
|
||||
// At this point, any exception indicates an issue with the original request/response.
|
||||
console.error(
|
||||
`\
|
||||
[MSW] Caught an exception from the "%s %s" request (%s). This is probably not a problem with Mock Service Worker. There is likely an additional logging output above.`,
|
||||
request.method,
|
||||
request.url,
|
||||
`${error.name}: ${error.message}`,
|
||||
)
|
||||
}),
|
||||
)
|
||||
const requestId = crypto.randomUUID()
|
||||
event.respondWith(handleRequest(event, requestId))
|
||||
})
|
||||
|
||||
async function handleRequest(event, requestId) {
|
||||
|
|
@ -146,21 +124,24 @@ async function handleRequest(event, requestId) {
|
|||
// this message will pend indefinitely.
|
||||
if (client && activeClientIds.has(client.id)) {
|
||||
;(async function () {
|
||||
const clonedResponse = response.clone()
|
||||
sendToClient(client, {
|
||||
type: 'RESPONSE',
|
||||
payload: {
|
||||
requestId,
|
||||
type: clonedResponse.type,
|
||||
ok: clonedResponse.ok,
|
||||
status: clonedResponse.status,
|
||||
statusText: clonedResponse.statusText,
|
||||
body:
|
||||
clonedResponse.body === null ? null : await clonedResponse.text(),
|
||||
headers: Object.fromEntries(clonedResponse.headers.entries()),
|
||||
redirected: clonedResponse.redirected,
|
||||
const responseClone = response.clone()
|
||||
|
||||
sendToClient(
|
||||
client,
|
||||
{
|
||||
type: 'RESPONSE',
|
||||
payload: {
|
||||
requestId,
|
||||
isMockedResponse: IS_MOCKED_RESPONSE in response,
|
||||
type: responseClone.type,
|
||||
status: responseClone.status,
|
||||
statusText: responseClone.statusText,
|
||||
body: responseClone.body,
|
||||
headers: Object.fromEntries(responseClone.headers.entries()),
|
||||
},
|
||||
},
|
||||
})
|
||||
[responseClone.body],
|
||||
)
|
||||
})()
|
||||
}
|
||||
|
||||
|
|
@ -196,20 +177,20 @@ async function resolveMainClient(event) {
|
|||
|
||||
async function getResponse(event, client, requestId) {
|
||||
const { request } = event
|
||||
const clonedRequest = request.clone()
|
||||
|
||||
// Clone the request because it might've been already used
|
||||
// (i.e. its body has been read and sent to the client).
|
||||
const requestClone = request.clone()
|
||||
|
||||
function passthrough() {
|
||||
// Clone the request because it might've been already used
|
||||
// (i.e. its body has been read and sent to the client).
|
||||
const headers = Object.fromEntries(clonedRequest.headers.entries())
|
||||
const headers = Object.fromEntries(requestClone.headers.entries())
|
||||
|
||||
// Remove MSW-specific request headers so the bypassed requests
|
||||
// comply with the server's CORS preflight check.
|
||||
// Operate with the headers as an object because request "Headers"
|
||||
// are immutable.
|
||||
delete headers['x-msw-bypass']
|
||||
// Remove internal MSW request header so the passthrough request
|
||||
// complies with any potential CORS preflight checks on the server.
|
||||
// Some servers forbid unknown request headers.
|
||||
delete headers['x-msw-intention']
|
||||
|
||||
return fetch(clonedRequest, { headers })
|
||||
return fetch(requestClone, { headers })
|
||||
}
|
||||
|
||||
// Bypass mocking when the client is not active.
|
||||
|
|
@ -225,57 +206,46 @@ async function getResponse(event, client, requestId) {
|
|||
return passthrough()
|
||||
}
|
||||
|
||||
// Bypass requests with the explicit bypass header.
|
||||
// Such requests can be issued by "ctx.fetch()".
|
||||
if (request.headers.get('x-msw-bypass') === 'true') {
|
||||
return passthrough()
|
||||
}
|
||||
|
||||
// Notify the client that a request has been intercepted.
|
||||
const clientMessage = await sendToClient(client, {
|
||||
type: 'REQUEST',
|
||||
payload: {
|
||||
id: requestId,
|
||||
url: request.url,
|
||||
method: request.method,
|
||||
headers: Object.fromEntries(request.headers.entries()),
|
||||
cache: request.cache,
|
||||
mode: request.mode,
|
||||
credentials: request.credentials,
|
||||
destination: request.destination,
|
||||
integrity: request.integrity,
|
||||
redirect: request.redirect,
|
||||
referrer: request.referrer,
|
||||
referrerPolicy: request.referrerPolicy,
|
||||
body: await request.text(),
|
||||
bodyUsed: request.bodyUsed,
|
||||
keepalive: request.keepalive,
|
||||
const requestBuffer = await request.arrayBuffer()
|
||||
const clientMessage = await sendToClient(
|
||||
client,
|
||||
{
|
||||
type: 'REQUEST',
|
||||
payload: {
|
||||
id: requestId,
|
||||
url: request.url,
|
||||
mode: request.mode,
|
||||
method: request.method,
|
||||
headers: Object.fromEntries(request.headers.entries()),
|
||||
cache: request.cache,
|
||||
credentials: request.credentials,
|
||||
destination: request.destination,
|
||||
integrity: request.integrity,
|
||||
redirect: request.redirect,
|
||||
referrer: request.referrer,
|
||||
referrerPolicy: request.referrerPolicy,
|
||||
body: requestBuffer,
|
||||
keepalive: request.keepalive,
|
||||
},
|
||||
},
|
||||
})
|
||||
[requestBuffer],
|
||||
)
|
||||
|
||||
switch (clientMessage.type) {
|
||||
case 'MOCK_RESPONSE': {
|
||||
return respondWithMock(clientMessage.data)
|
||||
}
|
||||
|
||||
case 'MOCK_NOT_FOUND': {
|
||||
case 'PASSTHROUGH': {
|
||||
return passthrough()
|
||||
}
|
||||
|
||||
case 'NETWORK_ERROR': {
|
||||
const { name, message } = clientMessage.data
|
||||
const networkError = new Error(message)
|
||||
networkError.name = name
|
||||
|
||||
// Rejecting a "respondWith" promise emulates a network error.
|
||||
throw networkError
|
||||
}
|
||||
}
|
||||
|
||||
return passthrough()
|
||||
}
|
||||
|
||||
function sendToClient(client, message) {
|
||||
function sendToClient(client, message, transferrables = []) {
|
||||
return new Promise((resolve, reject) => {
|
||||
const channel = new MessageChannel()
|
||||
|
||||
|
|
@ -287,17 +257,28 @@ function sendToClient(client, message) {
|
|||
resolve(event.data)
|
||||
}
|
||||
|
||||
client.postMessage(message, [channel.port2])
|
||||
})
|
||||
}
|
||||
|
||||
function sleep(timeMs) {
|
||||
return new Promise((resolve) => {
|
||||
setTimeout(resolve, timeMs)
|
||||
client.postMessage(
|
||||
message,
|
||||
[channel.port2].concat(transferrables.filter(Boolean)),
|
||||
)
|
||||
})
|
||||
}
|
||||
|
||||
async function respondWithMock(response) {
|
||||
await sleep(response.delay)
|
||||
return new Response(response.body, response)
|
||||
// Setting response status code to 0 is a no-op.
|
||||
// However, when responding with a "Response.error()", the produced Response
|
||||
// instance will have status code set to 0. Since it's not possible to create
|
||||
// a Response instance with status code 0, handle that use-case separately.
|
||||
if (response.status === 0) {
|
||||
return Response.error()
|
||||
}
|
||||
|
||||
const mockedResponse = new Response(response.body, response)
|
||||
|
||||
Reflect.defineProperty(mockedResponse, IS_MOCKED_RESPONSE, {
|
||||
value: true,
|
||||
enumerable: true,
|
||||
})
|
||||
|
||||
return mockedResponse
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,7 +2,6 @@ import React from 'react';
|
|||
|
||||
import { screen, waitFor } from '@testing-library/react';
|
||||
import { userEvent } from '@testing-library/user-event';
|
||||
import { MockedRequest } from 'msw';
|
||||
|
||||
import ImageWizard from '../../../Components/CreateImageWizard';
|
||||
import { RHEL_9 } from '../../../constants';
|
||||
|
|
@ -17,7 +16,8 @@ type RequestTypes = 'GET' | 'PUT' | 'POST' | 'DELETE';
|
|||
|
||||
export function spyOnRequest(pathname: string, method: RequestTypes) {
|
||||
return new Promise((resolve) => {
|
||||
const listener = async (req: MockedRequest) => {
|
||||
// @ts-expect-error Parameter 'name' implicitly has an 'any' type.ts(7006)
|
||||
const listener = async (req) => {
|
||||
if (req.url.pathname === pathname && req.method === method) {
|
||||
const requestData = await req.clone().json();
|
||||
resolve(requestData);
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
// src/mocks/browser.js
|
||||
import { setupWorker } from 'msw';
|
||||
import { setupWorker } from 'msw/browser';
|
||||
|
||||
import { handlers } from './handlers';
|
||||
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
import { rest } from 'msw';
|
||||
import { http, HttpResponse } from 'msw';
|
||||
|
||||
import {
|
||||
CONTENT_SOURCES_API,
|
||||
|
|
@ -43,70 +43,62 @@ import {
|
|||
import { mockSourcesByProvider, mockUploadInfo } from '../fixtures/sources';
|
||||
|
||||
export const handlers = [
|
||||
rest.get(`${PROVISIONING_API}/sources`, (req, res, ctx) => {
|
||||
const provider = req.url.searchParams.get('provider');
|
||||
return res(ctx.status(200), ctx.json(mockSourcesByProvider(provider)));
|
||||
http.get(`${PROVISIONING_API}/sources`, ({ request }) => {
|
||||
const url = new URL(request.url);
|
||||
const provider = url.searchParams.get('provider');
|
||||
return HttpResponse.json(mockSourcesByProvider(provider));
|
||||
}),
|
||||
rest.get(
|
||||
http.get(
|
||||
`${PROVISIONING_API}/sources/:sourceId/upload_info`,
|
||||
(req, res, ctx) => {
|
||||
const { sourceId } = req.params;
|
||||
({ params }) => {
|
||||
const { sourceId } = params;
|
||||
if (sourceId === '666' || sourceId === '667' || sourceId === '123') {
|
||||
return res(ctx.status(200), ctx.json(mockUploadInfo(sourceId)));
|
||||
return HttpResponse.json(mockUploadInfo(sourceId));
|
||||
} else {
|
||||
return res(ctx.status(404));
|
||||
return new HttpResponse(null, { status: 404 });
|
||||
}
|
||||
}
|
||||
),
|
||||
rest.post(`${CONTENT_SOURCES_API}/rpms/names`, async (req, res, ctx) => {
|
||||
const { search, urls } = await req.json();
|
||||
return res(
|
||||
ctx.status(200),
|
||||
ctx.json(mockSourcesPackagesResults(search, urls))
|
||||
);
|
||||
http.post(`${CONTENT_SOURCES_API}/rpms/names`, async ({ request }) => {
|
||||
const { search, urls } = await request.json();
|
||||
return HttpResponse.json(mockSourcesPackagesResults(search, urls));
|
||||
}),
|
||||
rest.post(
|
||||
http.post(
|
||||
`${CONTENT_SOURCES_API}/package_groups/names`,
|
||||
async (req, res, ctx) => {
|
||||
const { search, urls } = await req.json();
|
||||
return res(
|
||||
ctx.status(200),
|
||||
ctx.json(mockSourcesGroupsResults(search, urls))
|
||||
);
|
||||
async ({ request }) => {
|
||||
const { search, urls } = await request.json();
|
||||
return HttpResponse.json(mockSourcesGroupsResults(search, urls));
|
||||
}
|
||||
),
|
||||
rest.get(`${CONTENT_SOURCES_API}/features/`, async (req, res, ctx) => {
|
||||
return res(ctx.status(200), ctx.json(mockedFeatureResponse));
|
||||
http.get(`${CONTENT_SOURCES_API}/features/`, async () => {
|
||||
return HttpResponse.json(mockedFeatureResponse);
|
||||
}),
|
||||
rest.post(
|
||||
`${CONTENT_SOURCES_API}/snapshots/for_date/`,
|
||||
async (req, res, ctx) => {
|
||||
return res(ctx.status(200), ctx.json(mockSourcesPackagesResults));
|
||||
}
|
||||
),
|
||||
rest.get(`${IMAGE_BUILDER_API}/packages`, (req, res, ctx) => {
|
||||
const search = req.url.searchParams.get('search');
|
||||
return res(ctx.status(200), ctx.json(mockSourcesPackagesResults(search)));
|
||||
http.post(`${CONTENT_SOURCES_API}/snapshots/for_date/`, async () => {
|
||||
return HttpResponse.json(mockSourcesPackagesResults);
|
||||
}),
|
||||
rest.get(`${IMAGE_BUILDER_API}/architectures/:distro`, (req, res, ctx) => {
|
||||
const { distro } = req.params;
|
||||
return res(ctx.status(200), ctx.json(mockArchitecturesByDistro(distro)));
|
||||
http.get(`${IMAGE_BUILDER_API}/packages`, ({ request }) => {
|
||||
const url = new URL(request.url);
|
||||
const search = url.searchParams.get('search');
|
||||
return HttpResponse.json(mockSourcesPackagesResults(search));
|
||||
}),
|
||||
rest.get(`${RHSM_API}/activation_keys`, (req, res, ctx) => {
|
||||
return res(ctx.status(200), ctx.json(mockActivationKeysResults()));
|
||||
http.get(`${IMAGE_BUILDER_API}/architectures/:distro`, ({ params }) => {
|
||||
const { distro } = params;
|
||||
return HttpResponse.json(mockArchitecturesByDistro(distro));
|
||||
}),
|
||||
rest.get(`${RHSM_API}/activation_keys/:key`, (req, res, ctx) => {
|
||||
const { key } = req.params;
|
||||
return res(ctx.status(200), ctx.json(mockActivationKeyInformation(key)));
|
||||
http.get(`${RHSM_API}/activation_keys`, () => {
|
||||
return HttpResponse.json(mockActivationKeysResults());
|
||||
}),
|
||||
rest.get(`${CONTENT_SOURCES_API}/repositories/`, (req, res, ctx) => {
|
||||
const available_for_arch = req.url.searchParams.get('available_for_arch');
|
||||
const available_for_version = req.url.searchParams.get(
|
||||
'available_for_version'
|
||||
);
|
||||
const limit = req.url.searchParams.get('limit');
|
||||
const offset = req.url.searchParams.get('offset');
|
||||
const search = req.url.searchParams.get('search');
|
||||
http.get(`${RHSM_API}/activation_keys/:key`, ({ params }) => {
|
||||
const { key } = params;
|
||||
return HttpResponse.json(mockActivationKeyInformation(key));
|
||||
}),
|
||||
http.get(`${CONTENT_SOURCES_API}/repositories/`, ({ request }) => {
|
||||
const url = new URL(request.url);
|
||||
const available_for_arch = url.searchParams.get('available_for_arch');
|
||||
const available_for_version = url.searchParams.get('available_for_version');
|
||||
const limit = url.searchParams.get('limit');
|
||||
const offset = url.searchParams.get('offset');
|
||||
const search = url.searchParams.get('search');
|
||||
const args = {
|
||||
available_for_arch,
|
||||
available_for_version,
|
||||
|
|
@ -114,51 +106,49 @@ export const handlers = [
|
|||
offset,
|
||||
search,
|
||||
};
|
||||
return res(ctx.status(200), ctx.json(mockRepositoryResults(args)));
|
||||
return HttpResponse.json(mockRepositoryResults(args));
|
||||
}),
|
||||
rest.get(`${CONTENT_SOURCES_API}/repositories/:repo_id`, (req, res, ctx) => {
|
||||
const { repo_id } = req.params;
|
||||
return res(ctx.status(200), ctx.json(mockPopularRepo(repo_id)));
|
||||
http.get(`${CONTENT_SOURCES_API}/repositories/:repo_id`, ({ params }) => {
|
||||
const { repo_id } = params;
|
||||
return HttpResponse.json(mockPopularRepo(repo_id));
|
||||
}),
|
||||
rest.get(`${IMAGE_BUILDER_API}/composes`, (req, res, ctx) => {
|
||||
return res(ctx.status(200), ctx.json(composesEndpoint(req)));
|
||||
http.get(`${IMAGE_BUILDER_API}/composes`, ({ request }) => {
|
||||
return HttpResponse.json(composesEndpoint(request));
|
||||
}),
|
||||
rest.get(`${IMAGE_BUILDER_API}/composes/:composeId`, (req, res, ctx) => {
|
||||
const { composeId } = req.params;
|
||||
return res(ctx.status(200), ctx.json(mockStatus(composeId)));
|
||||
http.get(`${IMAGE_BUILDER_API}/composes/:composeId`, ({ params }) => {
|
||||
const { composeId } = params;
|
||||
return HttpResponse.json(mockStatus(composeId));
|
||||
}),
|
||||
rest.get(
|
||||
`${IMAGE_BUILDER_API}/composes/:composeId/clones`,
|
||||
(req, res, ctx) => {
|
||||
const { composeId } = req.params;
|
||||
return res(ctx.status(200), ctx.json(mockClones(composeId)));
|
||||
}
|
||||
),
|
||||
rest.get(`${IMAGE_BUILDER_API}/clones/:cloneId`, (req, res, ctx) => {
|
||||
const { cloneId } = req.params;
|
||||
return res(ctx.status(200), ctx.json(mockCloneStatus[cloneId]));
|
||||
http.get(`${IMAGE_BUILDER_API}/composes/:composeId/clones`, ({ params }) => {
|
||||
const { composeId } = params;
|
||||
return HttpResponse.json(mockClones(composeId));
|
||||
}),
|
||||
rest.post(`${IMAGE_BUILDER_API}/compose`, (req, res, ctx) => {
|
||||
return res(ctx.status(200), ctx.json({}));
|
||||
http.get(`${IMAGE_BUILDER_API}/clones/:cloneId`, ({ params }) => {
|
||||
const { cloneId } = params;
|
||||
return HttpResponse.json(mockCloneStatus[cloneId]);
|
||||
}),
|
||||
rest.get(
|
||||
http.post(`${IMAGE_BUILDER_API}/compose`, () => {
|
||||
return HttpResponse.json({});
|
||||
}),
|
||||
http.get(
|
||||
`${IMAGE_BUILDER_API}/oscap/:distribution/profiles`,
|
||||
(req, res, ctx) => {
|
||||
return res(ctx.status(200), ctx.json(distributionOscapProfiles(req)));
|
||||
({ request }) => {
|
||||
return HttpResponse.json(distributionOscapProfiles(request));
|
||||
}
|
||||
),
|
||||
rest.get(
|
||||
http.get(
|
||||
`${IMAGE_BUILDER_API}/oscap/:distribution/:profile/customizations`,
|
||||
(req, res, ctx) => {
|
||||
const { profile } = req.params;
|
||||
return res(ctx.status(200), ctx.json(oscapCustomizations(profile)));
|
||||
({ params }) => {
|
||||
const { profile } = params;
|
||||
return HttpResponse.json(oscapCustomizations(profile));
|
||||
}
|
||||
),
|
||||
rest.get(`${IMAGE_BUILDER_API}/blueprints`, (req, res, ctx) => {
|
||||
const nameParam = req.url.searchParams.get('name');
|
||||
const search = req.url.searchParams.get('search');
|
||||
const limit = req.url.searchParams.get('limit') || '10';
|
||||
const offset = req.url.searchParams.get('offset') || '0';
|
||||
http.get(`${IMAGE_BUILDER_API}/blueprints`, ({ request }) => {
|
||||
const url = new URL(request.url);
|
||||
const nameParam = url.searchParams.get('name');
|
||||
const search = url.searchParams.get('search');
|
||||
const limit = url.searchParams.get('limit') || '10';
|
||||
const offset = url.searchParams.get('offset') || '0';
|
||||
const resp = Object.assign({}, mockGetBlueprints);
|
||||
if (nameParam) {
|
||||
resp.data = resp.data.filter(({ name }) => {
|
||||
|
|
@ -182,45 +172,43 @@ export const handlers = [
|
|||
parseInt(offset) + parseInt(limit)
|
||||
);
|
||||
|
||||
return res(ctx.status(200), ctx.json(resp));
|
||||
return HttpResponse.json(resp);
|
||||
}),
|
||||
rest.post(`${IMAGE_BUILDER_API}/blueprint/:id/compose`, (req, res, ctx) => {
|
||||
return res(ctx.status(200));
|
||||
http.post(`${IMAGE_BUILDER_API}/blueprint/:id/compose`, () => {
|
||||
return new HttpResponse(null, { status: 200 });
|
||||
}),
|
||||
rest.post(CREATE_BLUEPRINT, (req, res, ctx) => {
|
||||
http.post(CREATE_BLUEPRINT, () => {
|
||||
const response = {
|
||||
id: '3fa85f64-5717-4562-b3fc-2c963f66afa6',
|
||||
};
|
||||
return res(ctx.status(201), ctx.json(response));
|
||||
return HttpResponse.json(response);
|
||||
}),
|
||||
rest.get(`${IMAGE_BUILDER_API}/blueprints/:id/composes`, (req, res, ctx) => {
|
||||
http.get(`${IMAGE_BUILDER_API}/blueprints/:id/composes`, ({ params }) => {
|
||||
const { id } = params;
|
||||
const emptyBlueprintId = mockGetBlueprints.data[1].id;
|
||||
const outOfSyncBlueprintId = mockGetBlueprints.data[3].id;
|
||||
const centosBlueprintId = mockGetBlueprints.data[4].id;
|
||||
|
||||
switch (req.params.id) {
|
||||
switch (id) {
|
||||
case emptyBlueprintId:
|
||||
return res(ctx.status(200), ctx.json(mockEmptyBlueprintsComposes));
|
||||
return HttpResponse.json(mockEmptyBlueprintsComposes);
|
||||
case outOfSyncBlueprintId:
|
||||
return res(ctx.status(200), ctx.json(mockBlueprintComposesOutOfSync));
|
||||
return HttpResponse.json(mockBlueprintComposesOutOfSync);
|
||||
case centosBlueprintId:
|
||||
return res(ctx.status(200), ctx.json(mockCentosBlueprintComposes));
|
||||
return HttpResponse.json(mockCentosBlueprintComposes);
|
||||
default:
|
||||
return res(ctx.status(200), ctx.json(mockBlueprintComposes));
|
||||
return HttpResponse.json(mockBlueprintComposes);
|
||||
}
|
||||
}),
|
||||
rest.get(`${IMAGE_BUILDER_API}/blueprints/:id`, (req, res, ctx) => {
|
||||
const id = req.params['id'];
|
||||
return res(ctx.status(200), ctx.json(getMockBlueprintResponse(id)));
|
||||
http.get(`${IMAGE_BUILDER_API}/blueprints/:id`, ({ params }) => {
|
||||
const id = params['id'];
|
||||
return HttpResponse.json(getMockBlueprintResponse(id));
|
||||
}),
|
||||
rest.put(`${IMAGE_BUILDER_API}/blueprints/:id`, (req, res, ctx) => {
|
||||
const id = req.params['id'];
|
||||
return res(ctx.status(200), ctx.json({ id: id }));
|
||||
http.put(`${IMAGE_BUILDER_API}/blueprints/:id`, ({ params }) => {
|
||||
const id = params['id'];
|
||||
return HttpResponse.json({ id: id });
|
||||
}),
|
||||
http.post(`${IMAGE_BUILDER_API}/experimental/recommendations`, () => {
|
||||
return HttpResponse.json(mockPkgRecommendations);
|
||||
}),
|
||||
rest.post(
|
||||
`${IMAGE_BUILDER_API}/experimental/recommendations`,
|
||||
(req, res, ctx) => {
|
||||
return res(ctx.status(200), ctx.json(mockPkgRecommendations));
|
||||
}
|
||||
),
|
||||
];
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue