fix(frontend tests): 同步 API_ENDPOINTS 冻结快照到当前常量(存量过期致 node --test 全量红,非本轮引入)——使前端 node --test 全绿

This commit is contained in:
2026-09-05 09:19:21 +08:00
parent c282327a0b
commit 4735a18390
+248 -247
View File
@@ -107,253 +107,254 @@ test('test_download_paths_match', () => {
test('test_endpoints_frozen_snapshot', () => { test('test_endpoints_frozen_snapshot', () => {
assert.deepEqual(API_ENDPOINTS, { assert.deepEqual(API_ENDPOINTS, {
files: { "files": {
upload: '/api/files/upload', "upload": "/api/files/upload",
excelInfo: '/api/files/excel-info', "excelInfo": "/api/files/excel-info"
}, },
dedupe: { "dedupe": {
run: '/api/dedupe/run', "run": "/api/dedupe/run",
history: '/api/dedupe/history', "runProgress": "/api/dedupe/run/{runId}/progress",
historyDelete: '/api/dedupe/history/{resultId}', "history": "/api/dedupe/history",
resultDownload: '/api/dedupe/results/{resultId}/download', "historyDelete": "/api/dedupe/history/{resultId}",
}, "resultDownload": "/api/dedupe/results/{resultId}/download"
split: { },
run: '/api/split/run', "split": {
history: '/api/split/history', "run": "/api/split/run",
historyDelete: '/api/split/history/{resultId}', "history": "/api/split/history",
resultDownload: '/api/split/results/{resultId}/download', "historyDelete": "/api/split/history/{resultId}",
}, "resultDownload": "/api/split/results/{resultId}/download"
convert: { },
run: '/api/convert/run', "convert": {
history: '/api/convert/history', "run": "/api/convert/run",
historyDelete: '/api/convert/history/{resultId}', "history": "/api/convert/history",
templates: '/api/convert/templates', "historyDelete": "/api/convert/history/{resultId}",
templatesImport: '/api/convert/templates/import', "templates": "/api/convert/templates",
templateDefault: '/api/convert/templates/{templateCode}/default', "templatesImport": "/api/convert/templates/import",
templateDelete: '/api/convert/templates/{templateCode}', "templateDefault": "/api/convert/templates/{templateCode}/default",
resultDownload: '/api/convert/results/{resultId}/download', "templateDelete": "/api/convert/templates/{templateCode}",
}, "resultDownload": "/api/convert/results/{resultId}/download"
publish: { },
parse: '/api/publish/parse', "publish": {
taskActivate: '/api/publish/tasks/{taskId}/activate', "parse": "/api/publish/parse",
fileActivate: '/api/publish/tasks/{taskId}/files/{fileId}/activate', "taskActivate": "/api/publish/tasks/{taskId}/activate",
items: '/api/publish/tasks/{taskId}/items', "fileActivate": "/api/publish/tasks/{taskId}/files/{fileId}/activate",
progressBatch: '/api/publish/tasks/progress/batch', "items": "/api/publish/tasks/{taskId}/items",
progressLight: '/api/publish/tasks/progress/light', "progressBatch": "/api/publish/tasks/progress/batch",
result: '/api/publish/tasks/{taskId}/result', "progressLight": "/api/publish/tasks/progress/light",
dashboard: '/api/publish/dashboard', "result": "/api/publish/tasks/{taskId}/result",
history: '/api/publish/history', "dashboard": "/api/publish/dashboard",
taskDelete: '/api/publish/tasks/{taskId}', "history": "/api/publish/history",
}, "taskDelete": "/api/publish/tasks/{taskId}"
deleteBrand: { },
run: '/api/delete-brand/run', "deleteBrand": {
history: '/api/delete-brand/history', "run": "/api/delete-brand/run",
historyDelete: '/api/delete-brand/history/{resultId}', "history": "/api/delete-brand/history",
taskDetail: '/api/delete-brand/tasks/{taskId}', "historyDelete": "/api/delete-brand/history/{resultId}",
taskDetails: '/api/delete-brand/tasks/batch', "taskDetail": "/api/delete-brand/tasks/{taskId}",
taskDownload: '/api/delete-brand/tasks/{taskId}/download', "taskDetails": "/api/delete-brand/tasks/batch",
resultDownload: '/api/delete-brand/results/{resultId}/download', "taskDownload": "/api/delete-brand/tasks/{taskId}/download",
resultSubmit: '/api/delete-brand/tasks/{taskId}/result', "resultDownload": "/api/delete-brand/results/{resultId}/download",
progressBatch: '/api/delete-brand/tasks/progress/batch', "resultSubmit": "/api/delete-brand/tasks/{taskId}/result",
progressLight: '/api/delete-brand/tasks/progress/light', "progressBatch": "/api/delete-brand/tasks/progress/batch",
}, "progressLight": "/api/delete-brand/tasks/progress/light"
productRisk: { },
candidates: '/api/product-risk-resolve/candidates', "productRisk": {
candidateAdd: '/api/product-risk-resolve/candidates', "candidates": "/api/product-risk-resolve/candidates",
candidateDelete: '/api/product-risk-resolve/candidates/{id}', "candidateAdd": "/api/product-risk-resolve/candidates",
countryPreference: '/api/product-risk-resolve/country-preference', "candidateDelete": "/api/product-risk-resolve/candidates/{id}",
matchShops: '/api/product-risk-resolve/match-shops', "countryPreference": "/api/product-risk-resolve/country-preference",
dashboard: '/api/product-risk-resolve/dashboard', "matchShops": "/api/product-risk-resolve/match-shops",
history: '/api/product-risk-resolve/history', "dashboard": "/api/product-risk-resolve/dashboard",
historyDelete: '/api/product-risk-resolve/history/{resultId}', "history": "/api/product-risk-resolve/history",
taskCreate: '/api/product-risk-resolve/tasks', "historyDelete": "/api/product-risk-resolve/history/{resultId}",
taskDelete: '/api/product-risk-resolve/tasks/{taskId}', "taskCreate": "/api/product-risk-resolve/tasks",
taskBatch: '/api/product-risk-resolve/tasks/batch', "taskDelete": "/api/product-risk-resolve/tasks/{taskId}",
progressBatch: '/api/product-risk-resolve/tasks/progress/batch', "taskBatch": "/api/product-risk-resolve/tasks/batch",
progressLight: '/api/product-risk-resolve/tasks/progress/light', "progressBatch": "/api/product-risk-resolve/tasks/progress/batch",
pendingShopResult: '/api/product-risk-resolve/pending-shop-result', "progressLight": "/api/product-risk-resolve/tasks/progress/light",
resultDownload: '/api/product-risk-resolve/results/{resultId}/download', "pendingShopResult": "/api/product-risk-resolve/pending-shop-result",
}, "resultDownload": "/api/product-risk-resolve/results/{resultId}/download"
shopMatch: { },
candidates: '/api/shop-match/candidates', "shopMatch": {
candidateAdd: '/api/shop-match/candidates', "candidates": "/api/shop-match/candidates",
candidateDelete: '/api/shop-match/candidates/{id}', "candidateAdd": "/api/shop-match/candidates",
countryPreference: '/api/shop-match/country-preference', "candidateDelete": "/api/shop-match/candidates/{id}",
matchShops: '/api/shop-match/match-shops', "countryPreference": "/api/shop-match/country-preference",
dashboard: '/api/shop-match/dashboard', "matchShops": "/api/shop-match/match-shops",
history: '/api/shop-match/history', "dashboard": "/api/shop-match/dashboard",
historyDelete: '/api/shop-match/history/{resultId}', "history": "/api/shop-match/history",
taskCreate: '/api/shop-match/tasks', "historyDelete": "/api/shop-match/history/{resultId}",
taskDelete: '/api/shop-match/tasks/{taskId}', "taskCreate": "/api/shop-match/tasks",
taskActivate: '/api/shop-match/tasks/{taskId}/activate', "taskDelete": "/api/shop-match/tasks/{taskId}",
stageFinished: '/api/shop-match/tasks/{taskId}/stage-finished', "taskActivate": "/api/shop-match/tasks/{taskId}/activate",
taskBatch: '/api/shop-match/tasks/batch', "stageFinished": "/api/shop-match/tasks/{taskId}/stage-finished",
progressBatch: '/api/shop-match/tasks/progress/batch', "taskBatch": "/api/shop-match/tasks/batch",
progressLight: '/api/shop-match/tasks/progress/light', "progressBatch": "/api/shop-match/tasks/progress/batch",
skipAsins: '/api/shop-match/tasks/{taskId}/skip-asins/paginated', "progressLight": "/api/shop-match/tasks/progress/light",
resultDownload: '/api/shop-match/results/{resultId}/download', "skipAsins": "/api/shop-match/tasks/{taskId}/skip-asins/paginated",
}, "resultDownload": "/api/shop-match/results/{resultId}/download"
patrolDelete: { },
candidates: '/api/patrol-delete/candidates', "patrolDelete": {
candidateAdd: '/api/patrol-delete/candidates', "candidates": "/api/patrol-delete/candidates",
candidateDelete: '/api/patrol-delete/candidates/{id}', "candidateAdd": "/api/patrol-delete/candidates",
conditions: '/api/patrol-delete/conditions', "candidateDelete": "/api/patrol-delete/candidates/{id}",
conditionAdd: '/api/patrol-delete/conditions', "conditions": "/api/patrol-delete/conditions",
conditionDelete: '/api/patrol-delete/conditions/{id}', "conditionAdd": "/api/patrol-delete/conditions",
matchShops: '/api/patrol-delete/match-shops', "conditionDelete": "/api/patrol-delete/conditions/{id}",
dashboard: '/api/patrol-delete/dashboard', "matchShops": "/api/patrol-delete/match-shops",
history: '/api/patrol-delete/history', "dashboard": "/api/patrol-delete/dashboard",
historyDelete: '/api/patrol-delete/history/{resultId}', "history": "/api/patrol-delete/history",
progressBatch: '/api/patrol-delete/tasks/progress/batch', "historyDelete": "/api/patrol-delete/history/{resultId}",
progressLight: '/api/patrol-delete/tasks/progress/light', "progressBatch": "/api/patrol-delete/tasks/progress/batch",
taskCreate: '/api/patrol-delete/tasks', "progressLight": "/api/patrol-delete/tasks/progress/light",
taskDelete: '/api/patrol-delete/tasks/{taskId}', "taskCreate": "/api/patrol-delete/tasks",
taskResult: '/api/patrol-delete/tasks/{taskId}/result', "taskDelete": "/api/patrol-delete/tasks/{taskId}",
resultDownload: '/api/patrol-delete/results/{resultId}/download', "taskResult": "/api/patrol-delete/tasks/{taskId}/result",
}, "resultDownload": "/api/patrol-delete/results/{resultId}/download"
queryAsin: { },
candidates: '/api/query-asin/candidates', "queryAsin": {
candidateAdd: '/api/query-asin/candidates', "candidates": "/api/query-asin/candidates",
candidateDelete: '/api/query-asin/candidates/{id}', "candidateAdd": "/api/query-asin/candidates",
matchShops: '/api/query-asin/match-shops', "candidateDelete": "/api/query-asin/candidates/{id}",
dashboard: '/api/query-asin/dashboard', "matchShops": "/api/query-asin/match-shops",
history: '/api/query-asin/history', "dashboard": "/api/query-asin/dashboard",
historyDelete: '/api/query-asin/history/{resultId}', "history": "/api/query-asin/history",
progressBatch: '/api/query-asin/tasks/progress/batch', "historyDelete": "/api/query-asin/history/{resultId}",
progressLight: '/api/query-asin/tasks/progress/light', "progressBatch": "/api/query-asin/tasks/progress/batch",
taskCreate: '/api/query-asin/tasks', "progressLight": "/api/query-asin/tasks/progress/light",
taskDelete: '/api/query-asin/tasks/{taskId}', "taskCreate": "/api/query-asin/tasks",
taskResult: '/api/query-asin/tasks/{taskId}/result', "taskDelete": "/api/query-asin/tasks/{taskId}",
resultDownload: '/api/query-asin/results/{resultId}/download', "taskResult": "/api/query-asin/tasks/{taskId}/result",
}, "resultDownload": "/api/query-asin/results/{resultId}/download"
shopDataCrawl: { },
candidates: '/api/shop-data-crawl/candidates', "shopDataCrawl": {
candidateAdd: '/api/shop-data-crawl/candidates', "candidates": "/api/shop-data-crawl/candidates",
candidateDelete: '/api/shop-data-crawl/candidates/{id}', "candidateAdd": "/api/shop-data-crawl/candidates",
countryPreference: '/api/shop-data-crawl/country-preference', "candidateDelete": "/api/shop-data-crawl/candidates/{id}",
matchShops: '/api/shop-data-crawl/match-shops', "countryPreference": "/api/shop-data-crawl/country-preference",
dashboard: '/api/shop-data-crawl/dashboard', "matchShops": "/api/shop-data-crawl/match-shops",
history: '/api/shop-data-crawl/history', "dashboard": "/api/shop-data-crawl/dashboard",
historyDelete: '/api/shop-data-crawl/history/{resultId}', "history": "/api/shop-data-crawl/history",
progressBatch: '/api/shop-data-crawl/tasks/progress/batch', "historyDelete": "/api/shop-data-crawl/history/{resultId}",
progressLight: '/api/shop-data-crawl/tasks/progress/light', "progressBatch": "/api/shop-data-crawl/tasks/progress/batch",
taskCreate: '/api/shop-data-crawl/tasks', "progressLight": "/api/shop-data-crawl/tasks/progress/light",
taskDelete: '/api/shop-data-crawl/tasks/{taskId}', "taskCreate": "/api/shop-data-crawl/tasks",
resultDownload: '/api/shop-data-crawl/results/{resultId}/download', "taskDelete": "/api/shop-data-crawl/tasks/{taskId}",
}, "resultDownload": "/api/shop-data-crawl/results/{resultId}/download"
withdraw: { },
candidates: '/api/withdraw/candidates', "withdraw": {
candidateAdd: '/api/withdraw/candidates', "candidates": "/api/withdraw/candidates",
candidateDelete: '/api/withdraw/candidates/{id}', "candidateAdd": "/api/withdraw/candidates",
candidatesClear: '/api/withdraw/candidates/clear', "candidateDelete": "/api/withdraw/candidates/{id}",
matchShops: '/api/withdraw/match-shops', "candidatesClear": "/api/withdraw/candidates/clear",
dashboard: '/api/withdraw/dashboard', "matchShops": "/api/withdraw/match-shops",
history: '/api/withdraw/history', "dashboard": "/api/withdraw/dashboard",
historyDelete: '/api/withdraw/history/{resultId}', "history": "/api/withdraw/history",
progressBatch: '/api/withdraw/tasks/progress/batch', "historyDelete": "/api/withdraw/history/{resultId}",
progressLight: '/api/withdraw/tasks/progress/light', "progressBatch": "/api/withdraw/tasks/progress/batch",
taskCreate: '/api/withdraw/tasks', "progressLight": "/api/withdraw/tasks/progress/light",
taskDelete: '/api/withdraw/tasks/{taskId}', "taskCreate": "/api/withdraw/tasks",
taskResult: '/api/withdraw/tasks/{taskId}/result', "taskDelete": "/api/withdraw/tasks/{taskId}",
resultDownload: '/api/withdraw/results/{resultId}/download', "taskResult": "/api/withdraw/tasks/{taskId}/result",
}, "resultDownload": "/api/withdraw/results/{resultId}/download"
priceTrack: { },
candidates: '/api/price-track/candidates', "priceTrack": {
candidateAdd: '/api/price-track/candidates', "candidates": "/api/price-track/candidates",
candidateDelete: '/api/price-track/candidates/{id}', "candidateAdd": "/api/price-track/candidates",
countryPreference: '/api/price-track/country-preference', "candidateDelete": "/api/price-track/candidates/{id}",
matchShops: '/api/price-track/match-shops', "countryPreference": "/api/price-track/country-preference",
taskCreate: '/api/price-track/tasks', "matchShops": "/api/price-track/match-shops",
taskDelete: '/api/price-track/tasks/{taskId}', "taskCreate": "/api/price-track/tasks",
tasksBatch: '/api/price-track/tasks/batch', "taskDelete": "/api/price-track/tasks/{taskId}",
progressBatch: '/api/price-track/tasks/progress/batch', "tasksBatch": "/api/price-track/tasks/batch",
progressLight: '/api/price-track/tasks/progress/light', "progressBatch": "/api/price-track/tasks/progress/batch",
loopRuns: '/api/price-track/loop-runs', "progressLight": "/api/price-track/tasks/progress/light",
loopRunDetail: '/api/price-track/loop-runs/{loopRunId}', "loopRuns": "/api/price-track/loop-runs",
loopRunStop: '/api/price-track/loop-runs/{loopRunId}/stop', "loopRunDetail": "/api/price-track/loop-runs/{loopRunId}",
loopRunDispatchNext: '/api/price-track/loop-runs/{loopRunId}/dispatch-next', "loopRunStop": "/api/price-track/loop-runs/{loopRunId}/stop",
loopRunChildFinished: '/api/price-track/loop-runs/{loopRunId}/child-finished', "loopRunDispatchNext": "/api/price-track/loop-runs/{loopRunId}/dispatch-next",
skipAsinCheck: '/api/price-track/tasks/{taskId}/skip-asin/check', "loopRunChildFinished": "/api/price-track/loop-runs/{loopRunId}/child-finished",
skipAsins: '/api/price-track/tasks/{taskId}/skip-asins/paginated', "skipAsinCheck": "/api/price-track/tasks/{taskId}/skip-asin/check",
pendingShopResult: '/api/price-track/pending-shop-result', "skipAsins": "/api/price-track/tasks/{taskId}/skip-asins/paginated",
dispatchFailed: '/api/price-track/tasks/{taskId}/dispatch-failed', "pendingShopResult": "/api/price-track/pending-shop-result",
dashboard: '/api/price-track/dashboard', "dispatchFailed": "/api/price-track/tasks/{taskId}/dispatch-failed",
history: '/api/price-track/history', "dashboard": "/api/price-track/dashboard",
historyDelete: '/api/price-track/history/{resultId}', "history": "/api/price-track/history",
resultDownload: '/api/price-track/results/{resultId}/download', "historyDelete": "/api/price-track/history/{resultId}",
}, "resultDownload": "/api/price-track/results/{resultId}/download"
similarAsin: { },
parse: '/api/similar-asin/parse', "similarAsin": {
dashboard: '/api/similar-asin/dashboard', "parse": "/api/similar-asin/parse",
history: '/api/similar-asin/history', "dashboard": "/api/similar-asin/dashboard",
historyDelete: '/api/similar-asin/history/{resultId}', "history": "/api/similar-asin/history",
progressBatch: '/api/similar-asin/tasks/progress/batch', "historyDelete": "/api/similar-asin/history/{resultId}",
progressLight: '/api/similar-asin/tasks/progress/light', "progressBatch": "/api/similar-asin/tasks/progress/batch",
taskActivate: '/api/similar-asin/tasks/{taskId}/activate', "progressLight": "/api/similar-asin/tasks/progress/light",
taskDelete: '/api/similar-asin/tasks/{taskId}', "taskActivate": "/api/similar-asin/tasks/{taskId}/activate",
resultDownload: '/api/similar-asin/results/{resultId}/download', "taskDelete": "/api/similar-asin/tasks/{taskId}",
}, "resultDownload": "/api/similar-asin/results/{resultId}/download"
appearancePatent: { },
parse: '/api/appearance-patent/parse', "appearancePatent": {
parsedPayload: '/api/appearance-patent/tasks/{taskId}/parsed-payload', "parse": "/api/appearance-patent/parse",
queuePayload: '/api/appearance-patent/tasks/{taskId}/queue-payload', "parsedPayload": "/api/appearance-patent/tasks/{taskId}/parsed-payload",
dashboard: '/api/appearance-patent/dashboard', "queuePayload": "/api/appearance-patent/tasks/{taskId}/queue-payload",
history: '/api/appearance-patent/history', "dashboard": "/api/appearance-patent/dashboard",
historyDelete: '/api/appearance-patent/history/{resultId}', "history": "/api/appearance-patent/history",
progressBatch: '/api/appearance-patent/tasks/progress/batch', "historyDelete": "/api/appearance-patent/history/{resultId}",
progressLight: '/api/appearance-patent/tasks/progress/light', "progressBatch": "/api/appearance-patent/tasks/progress/batch",
taskActivate: '/api/appearance-patent/tasks/{taskId}/activate', "progressLight": "/api/appearance-patent/tasks/progress/light",
taskDelete: '/api/appearance-patent/tasks/{taskId}', "taskActivate": "/api/appearance-patent/tasks/{taskId}/activate",
resultDownload: '/api/appearance-patent/results/{resultId}/download', "taskDelete": "/api/appearance-patent/tasks/{taskId}",
}, "resultDownload": "/api/appearance-patent/results/{resultId}/download"
collectData: { },
parse: '/api/collect-data/parse', "collectData": {
countryPreference: '/api/collect-data/country-preference', "parse": "/api/collect-data/parse",
dashboard: '/api/collect-data/dashboard', "countryPreference": "/api/collect-data/country-preference",
history: '/api/collect-data/history', "dashboard": "/api/collect-data/dashboard",
historyDelete: '/api/collect-data/history/{resultId}', "history": "/api/collect-data/history",
progressBatch: '/api/collect-data/tasks/progress/batch', "historyDelete": "/api/collect-data/history/{resultId}",
progressLight: '/api/collect-data/tasks/progress/light', "progressBatch": "/api/collect-data/tasks/progress/batch",
taskActivate: '/api/collect-data/tasks/{taskId}/activate', "progressLight": "/api/collect-data/tasks/progress/light",
taskDelete: '/api/collect-data/tasks/{taskId}', "taskActivate": "/api/collect-data/tasks/{taskId}/activate",
fail: '/api/collect-data/tasks/{taskId}/fail', "taskDelete": "/api/collect-data/tasks/{taskId}",
items: '/api/collect-data/tasks/{taskId}/items', "fail": "/api/collect-data/tasks/{taskId}/fail",
resultDownload: '/api/collect-data/results/{resultId}/download', "items": "/api/collect-data/tasks/{taskId}/items",
}, "resultDownload": "/api/collect-data/results/{resultId}/download"
imageVideo: { },
workflowRun: '/api/image-video/workflow/run', "imageVideo": {
workflowResult: '/api/image-video/workflow/result', "workflowRun": "/api/image-video/workflow/run",
secrets: '/api/image-video/secrets', "workflowResult": "/api/image-video/workflow/result",
taskDetail: '/api/image-video/tasks/{taskId}', "secrets": "/api/image-video/secrets",
voiceClone: '/api/image-video/voice/clone', "taskDetail": "/api/image-video/tasks/{taskId}",
voiceList: '/api/image-video/voice/list', "voiceClone": "/api/image-video/voice/clone",
voiceDelete: '/api/image-video/voice/delete', "voiceList": "/api/image-video/voice/list",
voiceSynthesis: '/api/image-video/voice/synthesis', "voiceDelete": "/api/image-video/voice/delete",
douyinCopy: '/api/image-video/douyin-copy', "voiceSynthesis": "/api/image-video/voice/synthesis",
}, "douyinCopy": "/api/image-video/douyin-copy"
brand: { },
run: '/api/brand/run', "brand": {
expandFolder: '/api/brand/expand-folder', "run": "/api/brand/run",
expandFolderRecursive: '/api/brand/expand-folder-recursive', "expandFolder": "/api/brand/expand-folder",
taskDetail: '/api/brand/tasks/{taskId}', "expandFolderRecursive": "/api/brand/expand-folder-recursive",
taskCancel: '/api/brand/tasks/{taskId}/cancel', "taskDetail": "/api/brand/tasks/{taskId}",
taskDownload: '/api/brand/tasks/{taskId}/download', "taskCancel": "/api/brand/tasks/{taskId}/cancel",
taskEvents: '/api/brand/tasks/{taskId}/events', "taskDownload": "/api/brand/tasks/{taskId}/download",
}, "taskEvents": "/api/brand/tasks/{taskId}/events"
permission: { },
columnPermissions: '/api/admin/permission-users/{uid}/column-permissions', "permission": {
}, "columnPermissions": "/api/admin/permission-users/{uid}/column-permissions"
digitalHuman: { },
versions: '/api/digital-human/versions', "digitalHuman": {
upload: '/api/digital-human/versions/upload', "versions": "/api/digital-human/versions",
latest: '/api/digital-human/versions/latest', "upload": "/api/digital-human/versions/upload",
detail: '/api/digital-human/versions/{version}', "latest": "/api/digital-human/versions/latest",
release: '/api/digital-human/versions/{version}/release', "detail": "/api/digital-human/versions/{version}",
setLatest: '/api/digital-human/versions/{version}/set-latest', "release": "/api/digital-human/versions/{version}/release",
delete: '/api/digital-human/versions/{version}', "setLatest": "/api/digital-human/versions/{version}/set-latest",
downloadUrl: '/api/digital-human/versions/{version}/download-url', "delete": "/api/digital-human/versions/{version}",
}, "downloadUrl": "/api/digital-human/versions/{version}/download-url"
}, '常量表快照不应漂移') }
}, '常量表快照不应漂移')
}) })
test('test_endpoint_values_no_trailing_slash', () => { test('test_endpoint_values_no_trailing_slash', () => {