Skip to content

Commit c858df7

Browse files
kw-securityLukasHirtclaude
authored
[Snyk] Security upgrade axios from 1.15.0 to 1.15.2 (#13764)
* chore(deps): bump axios to v1.18.1 Signed-off-by: Lukas Hirt <info@hirt.cz> * fix(tests): restore web-worker mock coverage broken by axios v1.18.1 bump vi.doMock inside beforeEach registered the @ownclouders/web-client mock after useWebWorker had already loaded the worker module and resolved its static `webdav` import, leaving every test running against the real WebDAV client. Replace vi.doMock with a hoisted module-level vi.mock (matching the pattern already used for the PDF renderer mock) so the mock is in place before any worker module loads. Also move webDavMock to module scope so the factory closure can reference it, and fix the pasteWorker test data which incorrectly nested baseUrl inside transferData items instead of at the top level of MessageData. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> --------- Signed-off-by: Lukas Hirt <info@hirt.cz> Co-authored-by: Lukas Hirt <info@hirt.cz> Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
1 parent b31dbce commit c858df7

13 files changed

Lines changed: 230 additions & 56 deletions

File tree

packages/web-app-admin-settings/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
"@ownclouders/design-system": "workspace:^",
1818
"@ownclouders/web-client": "workspace:^",
1919
"@ownclouders/web-pkg": "workspace:^",
20-
"axios": "1.15.0",
20+
"axios": "^1.18.1",
2121
"email-validator": "^2.0.4",
2222
"fuse.js": "7.3.0",
2323
"lodash-es": "4.18.1",

packages/web-app-app-store/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
"@ownclouders/design-system": "workspace:^",
1515
"@ownclouders/web-client": "workspace:*",
1616
"@ownclouders/web-pkg": "workspace:*",
17-
"axios": "1.15.0",
17+
"axios": "^1.18.1",
1818
"fuse.js": "7.3.0",
1919
"lodash-es": "4.18.1",
2020
"mark.js": "^8.11.1",

packages/web-app-files/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
"@ownclouders/web-pkg": "workspace:*",
1717
"@uppy/core": "5.2.0",
1818
"@vueuse/core": "^11.0.0 || ^12.0.0 || ^13.0.0 || ^14.0.0",
19-
"axios": "1.15.0",
19+
"axios": "^1.18.1",
2020
"dompurify": "^3.4.2",
2121
"email-validator": "^2.0.4",
2222
"fuse.js": "7.3.0",

packages/web-app-ocm/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
"@ownclouders/design-system": "workspace:*",
88
"@ownclouders/web-client": "workspace:*",
99
"@ownclouders/web-pkg": "workspace:*",
10-
"axios": "1.15.0",
10+
"axios": "^1.18.1",
1111
"email-validator": "^2.0.4",
1212
"fuse.js": "7.3.0",
1313
"lodash-es": "4.18.1",

packages/web-client/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@
8484
"dependencies": {
8585
"@casl/ability": "^6.8.1",
8686
"@microsoft/fetch-event-source": "^2.0.1",
87-
"axios": "^1.13.6",
87+
"axios": "^1.18.1",
8888
"fast-xml-parser": "^5.8.0",
8989
"lodash-es": "^4.18.1",
9090
"luxon": "^3.7.2",

packages/web-pkg/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@
5151
"@vavt/cm-extension": "^1.11.2",
5252
"@vue/shared": "^3.5.29",
5353
"@vueuse/core": "^14.3.0",
54-
"axios": "^1.13.6",
54+
"axios": "^1.18.1",
5555
"deepmerge": "^4.3.1",
5656
"dompurify": "^3.4.2",
5757
"emoji-regex": "^10.6.0",

packages/web-pkg/tests/unit/composables/webWorkers/deleteWorker/worker.spec.ts

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,13 @@ import DeleteWorker from '../../../../../src/composables/webWorkers/deleteWorker
44
import { mock } from 'vitest-mock-extended'
55
import { type WebDAV } from '@ownclouders/web-client/webdav'
66

7+
let webDavMock: ReturnType<typeof mock<WebDAV>>
8+
9+
vi.mock('@ownclouders/web-client', async (importOriginal) => ({
10+
...(await importOriginal<any>()),
11+
webdav: () => webDavMock
12+
}))
13+
714
const resourceMock = {
815
id: 'resourceId',
916
name: 'resourceName',
@@ -27,7 +34,6 @@ vi.setConfig({ testTimeout: 20000, hookTimeout: 20000 })
2734

2835
describe('delete worker', () => {
2936
let worker: ReturnType<typeof useWebWorker>
30-
let webDavMock: ReturnType<typeof mock<WebDAV>>
3137

3238
let resolveTest: (value: boolean) => unknown
3339
let workerPromise: Promise<unknown>
@@ -39,11 +45,6 @@ describe('delete worker', () => {
3945
workerPromise = new Promise((resolve) => {
4046
resolveTest = resolve
4147
})
42-
43-
vi.doMock('@ownclouders/web-client', async (importOriginal) => ({
44-
...(await importOriginal<any>()),
45-
webdav: () => webDavMock
46-
}))
4748
})
4849

4950
afterEach(() => {

packages/web-pkg/tests/unit/composables/webWorkers/exportAsPdfWorker/worker.spec.ts

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,13 @@ const createdResourceMock = {
3434
spaceId: '1'
3535
}
3636

37+
let webDavMock: ReturnType<typeof mock<WebDAV>>
38+
39+
vi.mock('@ownclouders/web-client', async (importOriginal) => ({
40+
...(await importOriginal<any>()),
41+
webdav: () => webDavMock
42+
}))
43+
3744
vi.mock('../../../../../src/composables/webWorkers/exportAsPdfWorker/renderer', () => ({
3845
PDFRenderer: vi.fn().mockImplementation(function () {
3946
return {
@@ -48,7 +55,6 @@ vi.setConfig({ testTimeout: 20000, hookTimeout: 20000 })
4855

4956
describe('export as PDF worker', () => {
5057
let worker: ReturnType<typeof useWebWorker>
51-
let webDavMock: ReturnType<typeof mock<WebDAV>>
5258

5359
let resolveTest: (value: boolean) => unknown
5460
let workerPromise: Promise<unknown>
@@ -60,11 +66,6 @@ describe('export as PDF worker', () => {
6066
workerPromise = new Promise((resolve) => {
6167
resolveTest = resolve
6268
})
63-
64-
vi.doMock('@ownclouders/web-client', async (importOriginal) => ({
65-
...(await importOriginal<any>()),
66-
webdav: () => webDavMock
67-
}))
6869
})
6970

7071
afterEach(() => {

packages/web-pkg/tests/unit/composables/webWorkers/pasteWorker/worker.spec.ts

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,13 @@ import { TransferType } from '../../../../../src/helpers/resource/conflictHandli
55
import { mock } from 'vitest-mock-extended'
66
import type { WebDAV } from '@ownclouders/web-client/webdav'
77

8+
let webDavMock: ReturnType<typeof mock<WebDAV>>
9+
10+
vi.mock('@ownclouders/web-client', async (importOriginal) => ({
11+
...(await importOriginal<any>()),
12+
webdav: () => webDavMock
13+
}))
14+
815
const resourceMock = {
916
id: 'resourceId',
1017
name: 'resourceName'
@@ -29,8 +36,7 @@ const transferDataMock = {
2936
sourceSpace: sourceSpaceMock,
3037
targetSpace: targetSpaceMock,
3138
targetFolder: targetFolderMock,
32-
path: '',
33-
baseUrl: 'https://example.com'
39+
path: ''
3440
}
3541

3642
// Real web workers can be slow to spin up and reply under heavy CI parallelism;
@@ -39,7 +45,6 @@ vi.setConfig({ testTimeout: 20000, hookTimeout: 20000 })
3945

4046
describe('paste worker', () => {
4147
let worker: ReturnType<typeof useWebWorker>
42-
let webDavMock: ReturnType<typeof mock<WebDAV>>
4348

4449
let resolveTest: (value: boolean) => unknown
4550
let workerPromise: Promise<unknown>
@@ -51,11 +56,6 @@ describe('paste worker', () => {
5156
workerPromise = new Promise((resolve) => {
5257
resolveTest = resolve
5358
})
54-
55-
vi.doMock('@ownclouders/web-client', async (importOriginal) => ({
56-
...(await importOriginal<any>()),
57-
webdav: () => webDavMock
58-
}))
5959
})
6060

6161
afterEach(() => {
@@ -81,6 +81,7 @@ describe('paste worker', () => {
8181
JSON.stringify({
8282
topic: 'startProcess',
8383
data: {
84+
baseUrl: 'https://example.com',
8485
transferData: [{ ...transferDataMock, transferType: TransferType.COPY }]
8586
}
8687
})
@@ -104,6 +105,7 @@ describe('paste worker', () => {
104105
JSON.stringify({
105106
topic: 'startProcess',
106107
data: {
108+
baseUrl: 'https://example.com',
107109
transferData: [{ ...transferDataMock, transferType: TransferType.MOVE }]
108110
}
109111
})
@@ -127,6 +129,7 @@ describe('paste worker', () => {
127129
JSON.stringify({
128130
topic: 'startProcess',
129131
data: {
132+
baseUrl: 'https://example.com',
130133
transferData: [{ ...transferDataMock, transferType: TransferType.COPY }]
131134
}
132135
})

packages/web-pkg/tests/unit/composables/webWorkers/restoreWorker/worker.spec.ts

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,13 @@ import RestoreWorker from '../../../../../src/composables/webWorkers/restoreWork
44
import { mock } from 'vitest-mock-extended'
55
import type { WebDAV } from '@ownclouders/web-client/webdav'
66

7+
let webDavMock: ReturnType<typeof mock<WebDAV>>
8+
9+
vi.mock('@ownclouders/web-client', async (importOriginal) => ({
10+
...(await importOriginal<any>()),
11+
webdav: () => webDavMock
12+
}))
13+
714
const resourceMock = {
815
id: 'resourceId',
916
name: 'resourceName',
@@ -27,7 +34,6 @@ vi.setConfig({ testTimeout: 20000, hookTimeout: 20000 })
2734

2835
describe('restore worker', () => {
2936
let worker: ReturnType<typeof useWebWorker>
30-
let webDavMock: ReturnType<typeof mock<WebDAV>>
3137

3238
let resolveTest: (value: boolean) => unknown
3339
let workerPromise: Promise<unknown>
@@ -39,11 +45,6 @@ describe('restore worker', () => {
3945
workerPromise = new Promise((resolve) => {
4046
resolveTest = resolve
4147
})
42-
43-
vi.doMock('@ownclouders/web-client', async (importOriginal) => ({
44-
...(await importOriginal<any>()),
45-
webdav: () => webDavMock
46-
}))
4748
})
4849

4950
afterEach(() => {

0 commit comments

Comments
 (0)