pdsinterop / php-solid-server

Standalone Solid Server written in PHP by PDS Interop
https://pdsinterop.org/php-solid-server/
MIT License
46 stars 7 forks source link

Fix broken surface tests #52

Open Potherca opened 2 years ago

Potherca commented 2 years ago

Currently all WAC surface tests seem to be broken:

Test Suites: 9 failed, 9 total
Tests:       83 failed, 83 total
Snapshots:   0 total
Time:        13.825 s
Ran all test suites.

Before a new release is tagged, this needs to be resolved.

In the logs, the following error occurs 83 times (so basically for every test):

Please make sure the cookie is valid, and add "https://tester" as a trusted app!

The following occurs 94 times:

  TypeError: Cannot read property 'fetch' of undefined

Where undefined is usually solidLogicAlice.

@michielbdejong Do you happen to know of the top of your head what would cause this? (Or how to resolve this?)

Full logs - `test/surface/update.test.ts`
``` ● Console console.warn Adding slash to the end of ALICE's storage root ->"https://server/storage"+"/" 25 | let storageRoot = getEnvVars(who).storageRoot; 26 | if (storageRoot.substr(-1) !== '/') { > 27 | console.warn(`Adding slash to the end of ${who}'s storage root ->"${storageRoot}"+"/"`); | ^ 28 | storageRoot += '/'; 29 | } 30 | const testFolder = `web-access-control-tests-${new Date().getTime()}`; at Object.generateTestFolder (test/helpers/env.ts:27:13) at Suite. (test/surface/update.test.ts:46:29) at Object. (test/surface/update.test.ts:38:1) ● Update › Using PUT to append › Is allowed with accessTo Write access on resource Please make sure the cookie is valid, and add "https://tester" as a trusted app! at Object.getAuthFetcher (node_modules/solid-auth-fetcher/src/obtainAuthHeaders.ts:51:13) ● Update › Using PUT to append › Is allowed with accessTo Write access on resource TypeError: Cannot read property 'fetch' of undefined 59 | const resourceUrl = `${testFolderUrl}1/test.txt`; 60 | // This will do mkdir-p: > 61 | const creationResult = await solidLogicAlice.fetch(resourceUrl, { | ^ 62 | method: 'PUT', 63 | body: 'hello', 64 | headers: { at test/surface/update.test.ts:61:53 at step (test/surface/update.test.ts:33:23) at Object.next (test/surface/update.test.ts:14:53) at test/surface/update.test.ts:8:71 at Object..__awaiter (test/surface/update.test.ts:4:12) at Object. (test/surface/update.test.ts:58:61) ● Update › Using PUT to append › Is allowed with accessTo Write access on resource TypeError: Cannot read property 'recursiveDelete' of undefined 52 | 53 | afterEach(() => { > 54 | return solidLogicAlice.recursiveDelete(testFolderUrl); | ^ 55 | }); 56 | 57 | describe('Using PUT to append', () => { at Object. (test/surface/update.test.ts:54:28) ● Update › Using PUT to append › Is disallowed with accessTo Read+Append+Control access on resource Please make sure the cookie is valid, and add "https://tester" as a trusted app! at Object.getAuthFetcher (node_modules/solid-auth-fetcher/src/obtainAuthHeaders.ts:51:13) ● Update › Using PUT to append › Is disallowed with accessTo Read+Append+Control access on resource TypeError: Cannot read property 'fetch' of undefined 94 | const resourceUrl = `${testFolderUrl}2/test.txt`; 95 | // This will do mkdir-p: > 96 | const creationResult = await solidLogicAlice.fetch(resourceUrl, { | ^ 97 | method: 'PUT', 98 | body: 'hello', 99 | headers: { at test/surface/update.test.ts:96:53 at step (test/surface/update.test.ts:33:23) at Object.next (test/surface/update.test.ts:14:53) at test/surface/update.test.ts:8:71 at Object..__awaiter (test/surface/update.test.ts:4:12) at Object. (test/surface/update.test.ts:93:78) ● Update › Using PUT to append › Is disallowed with accessTo Read+Append+Control access on resource TypeError: Cannot read property 'recursiveDelete' of undefined 52 | 53 | afterEach(() => { > 54 | return solidLogicAlice.recursiveDelete(testFolderUrl); | ^ 55 | }); 56 | 57 | describe('Using PUT to append', () => { at Object. (test/surface/update.test.ts:54:28) ● Update › Using PUT to append › Is allowed with default Write access on parent Please make sure the cookie is valid, and add "https://tester" as a trusted app! at Object.getAuthFetcher (node_modules/solid-auth-fetcher/src/obtainAuthHeaders.ts:51:13) ● Update › Using PUT to append › Is allowed with default Write access on parent TypeError: Cannot read property 'fetch' of undefined 130 | const resourceUrl = `${containerUrl}test.txt`; 131 | // This will do mkdir-p: > 132 | const creationResult = await solidLogicAlice.fetch(resourceUrl, { | ^ 133 | method: 'PUT', 134 | body: 'hello', 135 | headers: { at test/surface/update.test.ts:132:53 at step (test/surface/update.test.ts:33:23) at Object.next (test/surface/update.test.ts:14:53) at test/surface/update.test.ts:8:71 at Object..__awaiter (test/surface/update.test.ts:4:12) at Object. (test/surface/update.test.ts:128:58) ● Update › Using PUT to append › Is allowed with default Write access on parent TypeError: Cannot read property 'recursiveDelete' of undefined 52 | 53 | afterEach(() => { > 54 | return solidLogicAlice.recursiveDelete(testFolderUrl); | ^ 55 | }); 56 | 57 | describe('Using PUT to append', () => { at Object. (test/surface/update.test.ts:54:28) ● Update › Using PUT to append › Is disallowed with default Read+Append+Control access on parent Please make sure the cookie is valid, and add "https://tester" as a trusted app! at Object.getAuthFetcher (node_modules/solid-auth-fetcher/src/obtainAuthHeaders.ts:51:13) ● Update › Using PUT to append › Is disallowed with default Read+Append+Control access on parent TypeError: Cannot read property 'fetch' of undefined 166 | const resourceUrl = `${containerUrl}test.txt`; 167 | // This will do mkdir-p: > 168 | const creationResult = await solidLogicAlice.fetch(resourceUrl, { | ^ 169 | method: 'PUT', 170 | body: 'hello', 171 | headers: { at test/surface/update.test.ts:168:53 at step (test/surface/update.test.ts:33:23) at Object.next (test/surface/update.test.ts:14:53) at test/surface/update.test.ts:8:71 at Object..__awaiter (test/surface/update.test.ts:4:12) at Object. (test/surface/update.test.ts:164:75) ● Update › Using PUT to append › Is disallowed with default Read+Append+Control access on parent TypeError: Cannot read property 'recursiveDelete' of undefined 52 | 53 | afterEach(() => { > 54 | return solidLogicAlice.recursiveDelete(testFolderUrl); | ^ 55 | }); 56 | 57 | describe('Using PUT to append', () => { at Object. (test/surface/update.test.ts:54:28) ● Update › Using PUT to overwrite › Is allowed with accessTo Write access on resource Please make sure the cookie is valid, and add "https://tester" as a trusted app! at Object.getAuthFetcher (node_modules/solid-auth-fetcher/src/obtainAuthHeaders.ts:51:13) ● Update › Using PUT to overwrite › Is allowed with accessTo Write access on resource TypeError: Cannot read property 'fetch' of undefined 204 | const resourceUrl = `${testFolderUrl}5/test.txt`; 205 | // This will do mkdir-p: > 206 | const creationResult = await solidLogicAlice.fetch(resourceUrl, { | ^ 207 | method: 'PUT', 208 | body: 'hello', 209 | headers: { at test/surface/update.test.ts:206:53 at step (test/surface/update.test.ts:33:23) at Object.next (test/surface/update.test.ts:14:53) at test/surface/update.test.ts:8:71 at Object..__awaiter (test/surface/update.test.ts:4:12) at Object. (test/surface/update.test.ts:203:61) ● Update › Using PUT to overwrite › Is allowed with accessTo Write access on resource TypeError: Cannot read property 'recursiveDelete' of undefined 52 | 53 | afterEach(() => { > 54 | return solidLogicAlice.recursiveDelete(testFolderUrl); | ^ 55 | }); 56 | 57 | describe('Using PUT to append', () => { at Object. (test/surface/update.test.ts:54:28) ● Update › Using PUT to overwrite › Is disallowed with accessTo Read+Append+Control access on resource Please make sure the cookie is valid, and add "https://tester" as a trusted app! at Object.getAuthFetcher (node_modules/solid-auth-fetcher/src/obtainAuthHeaders.ts:51:13) ● Update › Using PUT to overwrite › Is disallowed with accessTo Read+Append+Control access on resource TypeError: Cannot read property 'fetch' of undefined 239 | const resourceUrl = `${testFolderUrl}6/test.txt`; 240 | // This will do mkdir-p: > 241 | const creationResult = await solidLogicAlice.fetch(resourceUrl, { | ^ 242 | method: 'PUT', 243 | body: 'hello', 244 | headers: { at test/surface/update.test.ts:241:53 at step (test/surface/update.test.ts:33:23) at Object.next (test/surface/update.test.ts:14:53) at test/surface/update.test.ts:8:71 at Object..__awaiter (test/surface/update.test.ts:4:12) at Object. (test/surface/update.test.ts:238:78) ● Update › Using PUT to overwrite › Is disallowed with accessTo Read+Append+Control access on resource TypeError: Cannot read property 'recursiveDelete' of undefined 52 | 53 | afterEach(() => { > 54 | return solidLogicAlice.recursiveDelete(testFolderUrl); | ^ 55 | }); 56 | 57 | describe('Using PUT to append', () => { at Object. (test/surface/update.test.ts:54:28) ● Update › Using PUT to overwrite › Is allowed with default Write access on parent Please make sure the cookie is valid, and add "https://tester" as a trusted app! at Object.getAuthFetcher (node_modules/solid-auth-fetcher/src/obtainAuthHeaders.ts:51:13) ● Update › Using PUT to overwrite › Is allowed with default Write access on parent TypeError: Cannot read property 'fetch' of undefined 275 | const resourceUrl = `${containerUrl}test.txt`; 276 | // This will do mkdir-p: > 277 | const creationResult = await solidLogicAlice.fetch(resourceUrl, { | ^ 278 | method: 'PUT', 279 | body: 'hello', 280 | headers: { at test/surface/update.test.ts:277:53 at step (test/surface/update.test.ts:33:23) at Object.next (test/surface/update.test.ts:14:53) at test/surface/update.test.ts:8:71 at Object..__awaiter (test/surface/update.test.ts:4:12) at Object. (test/surface/update.test.ts:273:58) ● Update › Using PUT to overwrite › Is allowed with default Write access on parent TypeError: Cannot read property 'recursiveDelete' of undefined 52 | 53 | afterEach(() => { > 54 | return solidLogicAlice.recursiveDelete(testFolderUrl); | ^ 55 | }); 56 | 57 | describe('Using PUT to append', () => { at Object. (test/surface/update.test.ts:54:28) ● Update › Using PUT to overwrite › Is disallowed with default Read+Append+Control access on parent Please make sure the cookie is valid, and add "https://tester" as a trusted app! at Object.getAuthFetcher (node_modules/solid-auth-fetcher/src/obtainAuthHeaders.ts:51:13) ● Update › Using PUT to overwrite › Is disallowed with default Read+Append+Control access on parent TypeError: Cannot read property 'fetch' of undefined 311 | const resourceUrl = `${containerUrl}test.txt`; 312 | // This will do mkdir-p: > 313 | const creationResult = await solidLogicAlice.fetch(resourceUrl, { | ^ 314 | method: 'PUT', 315 | body: 'hello', 316 | headers: { at test/surface/update.test.ts:313:53 at step (test/surface/update.test.ts:33:23) at Object.next (test/surface/update.test.ts:14:53) at test/surface/update.test.ts:8:71 at Object..__awaiter (test/surface/update.test.ts:4:12) at Object. (test/surface/update.test.ts:309:75) ● Update › Using PUT to overwrite › Is disallowed with default Read+Append+Control access on parent TypeError: Cannot read property 'recursiveDelete' of undefined 52 | 53 | afterEach(() => { > 54 | return solidLogicAlice.recursiveDelete(testFolderUrl); | ^ 55 | }); 56 | 57 | describe('Using PUT to append', () => { at Object. (test/surface/update.test.ts:54:28) ● Update › Using PATCH to append › Is allowed with accessTo Append access on resource Please make sure the cookie is valid, and add "https://tester" as a trusted app! at Object.getAuthFetcher (node_modules/solid-auth-fetcher/src/obtainAuthHeaders.ts:51:13) ● Update › Using PATCH to append › Is allowed with accessTo Append access on resource TypeError: Cannot read property 'fetch' of undefined 349 | const resourceUrl = `${testFolderUrl}9/test.txt`; 350 | // This will do mkdir-p: > 351 | const creationResult = await solidLogicAlice.fetch(resourceUrl, { | ^ 352 | method: 'PUT', 353 | body: '<#hello> <#linked> <#world> .', 354 | headers: { at test/surface/update.test.ts:351:53 at step (test/surface/update.test.ts:33:23) at Object.next (test/surface/update.test.ts:14:53) at test/surface/update.test.ts:8:71 at Object..__awaiter (test/surface/update.test.ts:4:12) at Object. (test/surface/update.test.ts:348:62) ● Update › Using PATCH to append › Is allowed with accessTo Append access on resource TypeError: Cannot read property 'recursiveDelete' of undefined 52 | 53 | afterEach(() => { > 54 | return solidLogicAlice.recursiveDelete(testFolderUrl); | ^ 55 | }); 56 | 57 | describe('Using PUT to append', () => { at Object. (test/surface/update.test.ts:54:28) ● Update › Using PATCH to append › Is allowed with accessTo Write access on resource Please make sure the cookie is valid, and add "https://tester" as a trusted app! at Object.getAuthFetcher (node_modules/solid-auth-fetcher/src/obtainAuthHeaders.ts:51:13) ● Update › Using PATCH to append › Is allowed with accessTo Write access on resource TypeError: Cannot read property 'fetch' of undefined 383 | const resourceUrl = `${testFolderUrl}10/test.txt`; 384 | // This will do mkdir-p: > 385 | const creationResult = await solidLogicAlice.fetch(resourceUrl, { | ^ 386 | method: 'PUT', 387 | body: '<#hello> <#linked> <#world> .', 388 | headers: { at test/surface/update.test.ts:385:53 at step (test/surface/update.test.ts:33:23) at Object.next (test/surface/update.test.ts:14:53) at test/surface/update.test.ts:8:71 at Object..__awaiter (test/surface/update.test.ts:4:12) at Object. (test/surface/update.test.ts:382:61) ● Update › Using PATCH to append › Is allowed with accessTo Write access on resource TypeError: Cannot read property 'recursiveDelete' of undefined 52 | 53 | afterEach(() => { > 54 | return solidLogicAlice.recursiveDelete(testFolderUrl); | ^ 55 | }); 56 | 57 | describe('Using PUT to append', () => { at Object. (test/surface/update.test.ts:54:28) ● Update › Using PATCH to append › Is disallowed with accessTo Read+Control access on resource Please make sure the cookie is valid, and add "https://tester" as a trusted app! at Object.getAuthFetcher (node_modules/solid-auth-fetcher/src/obtainAuthHeaders.ts:51:13) ● Update › Using PATCH to append › Is disallowed with accessTo Read+Control access on resource TypeError: Cannot read property 'fetch' of undefined 418 | const resourceUrl = `${testFolderUrl}11/test.txt`; 419 | // This will do mkdir-p: > 420 | const creationResult = await solidLogicAlice.fetch(resourceUrl, { | ^ 421 | method: 'PUT', 422 | body: '<#hello> <#linked> <#world> .', 423 | headers: { at test/surface/update.test.ts:420:53 at step (test/surface/update.test.ts:33:23) at Object.next (test/surface/update.test.ts:14:53) at test/surface/update.test.ts:8:71 at Object..__awaiter (test/surface/update.test.ts:4:12) at Object. (test/surface/update.test.ts:417:71) ● Update › Using PATCH to append › Is disallowed with accessTo Read+Control access on resource TypeError: Cannot read property 'recursiveDelete' of undefined 52 | 53 | afterEach(() => { > 54 | return solidLogicAlice.recursiveDelete(testFolderUrl); | ^ 55 | }); 56 | 57 | describe('Using PUT to append', () => { at Object. (test/surface/update.test.ts:54:28) ● Update › Using PATCH to append › Is allowed with default Append access on parent Please make sure the cookie is valid, and add "https://tester" as a trusted app! at Object.getAuthFetcher (node_modules/solid-auth-fetcher/src/obtainAuthHeaders.ts:51:13) ● Update › Using PATCH to append › Is allowed with default Append access on parent TypeError: Cannot read property 'fetch' of undefined 454 | const resourceUrl = `${containerUrl}test.txt`; 455 | // This will do mkdir-p: > 456 | const creationResult = await solidLogicAlice.fetch(resourceUrl, { | ^ 457 | method: 'PUT', 458 | body: '<#hello> <#linked> <#world> .', 459 | headers: { at test/surface/update.test.ts:456:53 at step (test/surface/update.test.ts:33:23) at Object.next (test/surface/update.test.ts:14:53) at test/surface/update.test.ts:8:71 at Object..__awaiter (test/surface/update.test.ts:4:12) at Object. (test/surface/update.test.ts:452:59) ● Update › Using PATCH to append › Is allowed with default Append access on parent TypeError: Cannot read property 'recursiveDelete' of undefined 52 | 53 | afterEach(() => { > 54 | return solidLogicAlice.recursiveDelete(testFolderUrl); | ^ 55 | }); 56 | 57 | describe('Using PUT to append', () => { at Object. (test/surface/update.test.ts:54:28) ● Update › Using PATCH to append › Is allowed with default Write access on parent Please make sure the cookie is valid, and add "https://tester" as a trusted app! at Object.getAuthFetcher (node_modules/solid-auth-fetcher/src/obtainAuthHeaders.ts:51:13) ● Update › Using PATCH to append › Is allowed with default Write access on parent TypeError: Cannot read property 'fetch' of undefined 490 | const resourceUrl = `${containerUrl}test.txt`; 491 | // This will do mkdir-p: > 492 | const creationResult = await solidLogicAlice.fetch(resourceUrl, { | ^ 493 | method: 'PUT', 494 | body: '<#hello> <#linked> <#world> .', 495 | headers: { at test/surface/update.test.ts:492:53 at step (test/surface/update.test.ts:33:23) at Object.next (test/surface/update.test.ts:14:53) at test/surface/update.test.ts:8:71 at Object..__awaiter (test/surface/update.test.ts:4:12) at Object. (test/surface/update.test.ts:488:58) ● Update › Using PATCH to append › Is allowed with default Write access on parent TypeError: Cannot read property 'recursiveDelete' of undefined 52 | 53 | afterEach(() => { > 54 | return solidLogicAlice.recursiveDelete(testFolderUrl); | ^ 55 | }); 56 | 57 | describe('Using PUT to append', () => { at Object. (test/surface/update.test.ts:54:28) ● Update › Using PATCH to append › Is disallowed with default Read+Control access on parent Please make sure the cookie is valid, and add "https://tester" as a trusted app! at Object.getAuthFetcher (node_modules/solid-auth-fetcher/src/obtainAuthHeaders.ts:51:13) ● Update › Using PATCH to append › Is disallowed with default Read+Control access on parent TypeError: Cannot read property 'fetch' of undefined 526 | const resourceUrl = `${containerUrl}test.txt`; 527 | // This will do mkdir-p: > 528 | const creationResult = await solidLogicAlice.fetch(resourceUrl, { | ^ 529 | method: 'PUT', 530 | body: '<#hello> <#linked> <#world> .', 531 | headers: { at test/surface/update.test.ts:528:53 at step (test/surface/update.test.ts:33:23) at Object.next (test/surface/update.test.ts:14:53) at test/surface/update.test.ts:8:71 at Object..__awaiter (test/surface/update.test.ts:4:12) at Object. (test/surface/update.test.ts:524:68) ● Update › Using PATCH to append › Is disallowed with default Read+Control access on parent TypeError: Cannot read property 'recursiveDelete' of undefined 52 | 53 | afterEach(() => { > 54 | return solidLogicAlice.recursiveDelete(testFolderUrl); | ^ 55 | }); 56 | 57 | describe('Using PUT to append', () => { at Object. (test/surface/update.test.ts:54:28) ● Update › Using PATCH to overwrite › Is allowed with accessTo Read+Write access on resource Please make sure the cookie is valid, and add "https://tester" as a trusted app! at Object.getAuthFetcher (node_modules/solid-auth-fetcher/src/obtainAuthHeaders.ts:51:13) ● Update › Using PATCH to overwrite › Is allowed with accessTo Read+Write access on resource TypeError: Cannot read property 'fetch' of undefined 565 | const resourceUrl = `${testFolderUrl}15/test.txt`; 566 | // This will do mkdir-p: > 567 | const creationResult = await solidLogicAlice.fetch(resourceUrl, { | ^ 568 | method: 'PUT', 569 | body: '<#hello> <#linked> <#world> .', 570 | headers: { at test/surface/update.test.ts:567:53 at step (test/surface/update.test.ts:33:23) at Object.next (test/surface/update.test.ts:14:53) at test/surface/update.test.ts:8:71 at Object..__awaiter (test/surface/update.test.ts:4:12) at Object. (test/surface/update.test.ts:564:66) ● Update › Using PATCH to overwrite › Is allowed with accessTo Read+Write access on resource TypeError: Cannot read property 'recursiveDelete' of undefined 52 | 53 | afterEach(() => { > 54 | return solidLogicAlice.recursiveDelete(testFolderUrl); | ^ 55 | }); 56 | 57 | describe('Using PUT to append', () => { at Object. (test/surface/update.test.ts:54:28) ● Update › Using PATCH to overwrite › Is disallowed with accessTo Read+Append+Control access on resource Please make sure the cookie is valid, and add "https://tester" as a trusted app! at Object.getAuthFetcher (node_modules/solid-auth-fetcher/src/obtainAuthHeaders.ts:51:13) ● Update › Using PATCH to overwrite › Is disallowed with accessTo Read+Append+Control access on resource TypeError: Cannot read property 'fetch' of undefined 596 | const resourceUrl = `${testFolderUrl}16/test.txt`; 597 | // This will do mkdir-p: > 598 | const creationResult = await solidLogicAlice.fetch(resourceUrl, { | ^ 599 | method: 'PUT', 600 | body: '<#hello> <#linked> <#world> .', 601 | headers: { at test/surface/update.test.ts:598:53 at step (test/surface/update.test.ts:33:23) at Object.next (test/surface/update.test.ts:14:53) at test/surface/update.test.ts:8:71 at Object..__awaiter (test/surface/update.test.ts:4:12) at Object. (test/surface/update.test.ts:595:78) ● Update › Using PATCH to overwrite › Is disallowed with accessTo Read+Append+Control access on resource TypeError: Cannot read property 'recursiveDelete' of undefined 52 | 53 | afterEach(() => { > 54 | return solidLogicAlice.recursiveDelete(testFolderUrl); | ^ 55 | }); 56 | 57 | describe('Using PUT to append', () => { at Object. (test/surface/update.test.ts:54:28) ● Update › Using PATCH to overwrite › Is disallowed with accessTo Write+Control access on resource Please make sure the cookie is valid, and add "https://tester" as a trusted app! at Object.getAuthFetcher (node_modules/solid-auth-fetcher/src/obtainAuthHeaders.ts:51:13) ● Update › Using PATCH to overwrite › Is disallowed with accessTo Write+Control access on resource TypeError: Cannot read property 'fetch' of undefined 631 | const resourceUrl = `${testFolderUrl}17/test.txt`; 632 | // This will do mkdir-p: > 633 | const creationResult = await solidLogicAlice.fetch(resourceUrl, { | ^ 634 | method: 'PUT', 635 | body: '<#hello> <#linked> <#world> .', 636 | headers: { at test/surface/update.test.ts:633:53 at step (test/surface/update.test.ts:33:23) at Object.next (test/surface/update.test.ts:14:53) at test/surface/update.test.ts:8:71 at Object..__awaiter (test/surface/update.test.ts:4:12) at Object. (test/surface/update.test.ts:630:72) ● Update › Using PATCH to overwrite › Is disallowed with accessTo Write+Control access on resource TypeError: Cannot read property 'recursiveDelete' of undefined 52 | 53 | afterEach(() => { > 54 | return solidLogicAlice.recursiveDelete(testFolderUrl); | ^ 55 | }); 56 | 57 | describe('Using PUT to append', () => { at Object. (test/surface/update.test.ts:54:28) ● Update › Using PATCH to overwrite › Is allowed with default Read+Write access on parent Please make sure the cookie is valid, and add "https://tester" as a trusted app! at Object.getAuthFetcher (node_modules/solid-auth-fetcher/src/obtainAuthHeaders.ts:51:13) ● Update › Using PATCH to overwrite › Is allowed with default Read+Write access on parent TypeError: Cannot read property 'fetch' of undefined 667 | const resourceUrl = `${containerUrl}test.txt`; 668 | // This will do mkdir-p: > 669 | const creationResult = await solidLogicAlice.fetch(resourceUrl, { | ^ 670 | method: 'PUT', 671 | body: '<#hello> <#linked> <#world> .', 672 | headers: { at test/surface/update.test.ts:669:53 at step (test/surface/update.test.ts:33:23) at Object.next (test/surface/update.test.ts:14:53) at test/surface/update.test.ts:8:71 at Object..__awaiter (test/surface/update.test.ts:4:12) at Object. (test/surface/update.test.ts:665:63) ● Update › Using PATCH to overwrite › Is allowed with default Read+Write access on parent TypeError: Cannot read property 'recursiveDelete' of undefined 52 | 53 | afterEach(() => { > 54 | return solidLogicAlice.recursiveDelete(testFolderUrl); | ^ 55 | }); 56 | 57 | describe('Using PUT to append', () => { at Object. (test/surface/update.test.ts:54:28) ● Update › Using PATCH to overwrite › Is disallowed with default Read+Append+Control access on parent Please make sure the cookie is valid, and add "https://tester" as a trusted app! at Object.getAuthFetcher (node_modules/solid-auth-fetcher/src/obtainAuthHeaders.ts:51:13) ● Update › Using PATCH to overwrite › Is disallowed with default Read+Append+Control access on parent TypeError: Cannot read property 'fetch' of undefined 703 | const resourceUrl = `${containerUrl}test.txt`; 704 | // This will do mkdir-p: > 705 | const creationResult = await solidLogicAlice.fetch(resourceUrl, { | ^ 706 | method: 'PUT', 707 | body: '<#hello> <#linked> <#world> .', 708 | headers: { at test/surface/update.test.ts:705:53 at step (test/surface/update.test.ts:33:23) at Object.next (test/surface/update.test.ts:14:53) at test/surface/update.test.ts:8:71 at Object..__awaiter (test/surface/update.test.ts:4:12) at Object. (test/surface/update.test.ts:701:75) ● Update › Using PATCH to overwrite › Is disallowed with default Read+Append+Control access on parent TypeError: Cannot read property 'recursiveDelete' of undefined 52 | 53 | afterEach(() => { > 54 | return solidLogicAlice.recursiveDelete(testFolderUrl); | ^ 55 | }); 56 | 57 | describe('Using PUT to append', () => { at Object. (test/surface/update.test.ts:54:28) ● Update › Using PATCH to overwrite › Is disallowed with default Write+Control access on parent Please make sure the cookie is valid, and add "https://tester" as a trusted app! at Object.getAuthFetcher (node_modules/solid-auth-fetcher/src/obtainAuthHeaders.ts:51:13) ● Update › Using PATCH to overwrite › Is disallowed with default Write+Control access on parent TypeError: Cannot read property 'fetch' of undefined 740 | const resourceUrl = `${containerUrl}test.txt`; 741 | // This will do mkdir-p: > 742 | const creationResult = await solidLogicAlice.fetch(resourceUrl, { | ^ 743 | method: 'PUT', 744 | body: '<#hello> <#linked> <#world> .', 745 | headers: { at test/surface/update.test.ts:742:53 at step (test/surface/update.test.ts:33:23) at Object.next (test/surface/update.test.ts:14:53) at test/surface/update.test.ts:8:71 at Object..__awaiter (test/surface/update.test.ts:4:12) at Object. (test/surface/update.test.ts:738:69) ● Update › Using PATCH to overwrite › Is disallowed with default Write+Control access on parent TypeError: Cannot read property 'recursiveDelete' of undefined 52 | 53 | afterEach(() => { > 54 | return solidLogicAlice.recursiveDelete(testFolderUrl); | ^ 55 | }); 56 | 57 | describe('Using PUT to append', () => { at Object. (test/surface/update.test.ts:54:28) ```
- `test/surface/create.test.ts`
``` ● Console console.warn Adding slash to the end of ALICE's storage root ->"https://server/storage"+"/" 25 | let storageRoot = getEnvVars(who).storageRoot; 26 | if (storageRoot.substr(-1) !== '/') { > 27 | console.warn(`Adding slash to the end of ${who}'s storage root ->"${storageRoot}"+"/"`); | ^ 28 | storageRoot += '/'; 29 | } 30 | const testFolder = `web-access-control-tests-${new Date().getTime()}`; at Object.generateTestFolder (test/helpers/env.ts:27:13) at Suite. (test/surface/create.test.ts:46:29) at Object. (test/surface/create.test.ts:38:1) ● Create › Using POST to existing container › Is allowed with accessTo Append access Please make sure the cookie is valid, and add "https://tester" as a trusted app! at Object.getAuthFetcher (node_modules/solid-auth-fetcher/src/obtainAuthHeaders.ts:51:13) ● Create › Using POST to existing container › Is allowed with accessTo Append access TypeError: Cannot read property 'fetch' of undefined 59 | const containerUrl = `${testFolderUrl}1/accessToAppend/`; 60 | // This will do mkdir-p: > 61 | await solidLogicAlice.fetch(`${containerUrl}test.txt`, { | ^ 62 | method: 'PUT', 63 | body: 'hello', 64 | headers: { at test/surface/create.test.ts:61:29 at step (test/surface/create.test.ts:33:23) at Object.next (test/surface/create.test.ts:14:53) at test/surface/create.test.ts:8:71 at Object..__awaiter (test/surface/create.test.ts:4:12) at Object. (test/surface/create.test.ts:58:50) ● Create › Using POST to existing container › Is allowed with accessTo Append access TypeError: Cannot read property 'recursiveDelete' of undefined 52 | 53 | afterEach(() => { > 54 | return solidLogicAlice.recursiveDelete(testFolderUrl); | ^ 55 | }); 56 | 57 | describe('Using POST to existing container', () => { at Object. (test/surface/create.test.ts:54:28) ● Create › Using POST to existing container › Is allowed with accessTo Write access Please make sure the cookie is valid, and add "https://tester" as a trusted app! at Object.getAuthFetcher (node_modules/solid-auth-fetcher/src/obtainAuthHeaders.ts:51:13) ● Create › Using POST to existing container › Is allowed with accessTo Write access TypeError: Cannot read property 'fetch' of undefined 88 | const containerUrl = `${testFolderUrl}2/accessToWrite/`; 89 | // This will do mkdir-p: > 90 | await solidLogicAlice.fetch(`${containerUrl}test.txt`, { | ^ 91 | method: 'PUT', 92 | body: 'hello', 93 | headers: { at test/surface/create.test.ts:90:29 at step (test/surface/create.test.ts:33:23) at Object.next (test/surface/create.test.ts:14:53) at test/surface/create.test.ts:8:71 at Object..__awaiter (test/surface/create.test.ts:4:12) at Object. (test/surface/create.test.ts:87:49) ● Create › Using POST to existing container › Is allowed with accessTo Write access TypeError: Cannot read property 'recursiveDelete' of undefined 52 | 53 | afterEach(() => { > 54 | return solidLogicAlice.recursiveDelete(testFolderUrl); | ^ 55 | }); 56 | 57 | describe('Using POST to existing container', () => { at Object. (test/surface/create.test.ts:54:28) ● Create › Using POST to existing container › Is disallowed otherwise Please make sure the cookie is valid, and add "https://tester" as a trusted app! at Object.getAuthFetcher (node_modules/solid-auth-fetcher/src/obtainAuthHeaders.ts:51:13) ● Create › Using POST to existing container › Is disallowed otherwise TypeError: Cannot read property 'fetch' of undefined 114 | const containerUrl = `${testFolderUrl}3/allOtherModes/`; 115 | // This will do mkdir-p: > 116 | await solidLogicAlice.fetch(`${containerUrl}test.txt`, { | ^ 117 | method: 'PUT', 118 | body: 'hello', 119 | headers: { at test/surface/create.test.ts:116:29 at step (test/surface/create.test.ts:33:23) at Object.next (test/surface/create.test.ts:14:53) at test/surface/create.test.ts:8:71 at Object..__awaiter (test/surface/create.test.ts:4:12) at Object. (test/surface/create.test.ts:113:35) ● Create › Using POST to existing container › Is disallowed otherwise TypeError: Cannot read property 'recursiveDelete' of undefined 52 | 53 | afterEach(() => { > 54 | return solidLogicAlice.recursiveDelete(testFolderUrl); | ^ 55 | }); 56 | 57 | describe('Using POST to existing container', () => { at Object. (test/surface/create.test.ts:54:28) ● Create › Using PUT in existing container › Is allowed with accessTo Write and default Write access Please make sure the cookie is valid, and add "https://tester" as a trusted app! at Object.getAuthFetcher (node_modules/solid-auth-fetcher/src/obtainAuthHeaders.ts:51:13) ● Create › Using PUT in existing container › Is allowed with accessTo Write and default Write access TypeError: Cannot read property 'fetch' of undefined 146 | const containerUrl = `${testFolderUrl}4/accessToAndDefaultWrite/`; 147 | // This will do mkdir-p: > 148 | await solidLogicAlice.fetch(`${containerUrl}test.txt`, { | ^ 149 | method: 'PUT', 150 | body: 'hello', 151 | headers: { at test/surface/create.test.ts:148:29 at step (test/surface/create.test.ts:33:23) at Object.next (test/surface/create.test.ts:14:53) at test/surface/create.test.ts:8:71 at Object..__awaiter (test/surface/create.test.ts:4:12) at Object. (test/surface/create.test.ts:145:67) ● Create › Using PUT in existing container › Is allowed with accessTo Write and default Write access TypeError: Cannot read property 'recursiveDelete' of undefined 52 | 53 | afterEach(() => { > 54 | return solidLogicAlice.recursiveDelete(testFolderUrl); | ^ 55 | }); 56 | 57 | describe('Using POST to existing container', () => { at Object. (test/surface/create.test.ts:54:28) ● Create › Using PUT in existing container › Is allowed with accessTo Append and default Write access Please make sure the cookie is valid, and add "https://tester" as a trusted app! at Object.getAuthFetcher (node_modules/solid-auth-fetcher/src/obtainAuthHeaders.ts:51:13) ● Create › Using PUT in existing container › Is allowed with accessTo Append and default Write access TypeError: Cannot read property 'fetch' of undefined 176 | const containerUrl = `${testFolderUrl}5/accessToAndDefaultWrite/`; 177 | // This will do mkdir-p: > 178 | await solidLogicAlice.fetch(`${containerUrl}test.txt`, { | ^ 179 | method: 'PUT', 180 | body: 'hello', 181 | headers: { at test/surface/create.test.ts:178:29 at step (test/surface/create.test.ts:33:23) at Object.next (test/surface/create.test.ts:14:53) at test/surface/create.test.ts:8:71 at Object..__awaiter (test/surface/create.test.ts:4:12) at Object. (test/surface/create.test.ts:175:68) ● Create › Using PUT in existing container › Is allowed with accessTo Append and default Write access TypeError: Cannot read property 'recursiveDelete' of undefined 52 | 53 | afterEach(() => { > 54 | return solidLogicAlice.recursiveDelete(testFolderUrl); | ^ 55 | }); 56 | 57 | describe('Using POST to existing container', () => { at Object. (test/surface/create.test.ts:54:28) ● Create › Using PUT in existing container › is disallowed without default Write Please make sure the cookie is valid, and add "https://tester" as a trusted app! at Object.getAuthFetcher (node_modules/solid-auth-fetcher/src/obtainAuthHeaders.ts:51:13) ● Create › Using PUT in existing container › is disallowed without default Write TypeError: Cannot read property 'fetch' of undefined 206 | const containerUrl = `${testFolderUrl}6/allOtherModes/`; 207 | // This will do mkdir-p: > 208 | await solidLogicAlice.fetch(`${containerUrl}test.txt`, { | ^ 209 | method: 'PUT', 210 | body: 'hello', 211 | headers: { at test/surface/create.test.ts:208:29 at step (test/surface/create.test.ts:33:23) at Object.next (test/surface/create.test.ts:14:53) at test/surface/create.test.ts:8:71 at Object..__awaiter (test/surface/create.test.ts:4:12) at Object. (test/surface/create.test.ts:205:47) ● Create › Using PUT in existing container › is disallowed without default Write TypeError: Cannot read property 'recursiveDelete' of undefined 52 | 53 | afterEach(() => { > 54 | return solidLogicAlice.recursiveDelete(testFolderUrl); | ^ 55 | }); 56 | 57 | describe('Using POST to existing container', () => { at Object. (test/surface/create.test.ts:54:28) ● Create › Using PUT in existing container › is disallowed without accessTo Write or Append Please make sure the cookie is valid, and add "https://tester" as a trusted app! at Object.getAuthFetcher (node_modules/solid-auth-fetcher/src/obtainAuthHeaders.ts:51:13) ● Create › Using PUT in existing container › is disallowed without accessTo Write or Append TypeError: Cannot read property 'fetch' of undefined 237 | const containerUrl = `${testFolderUrl}7/allOtherModes/`; 238 | // This will do mkdir-p: > 239 | await solidLogicAlice.fetch(`${containerUrl}test.txt`, { | ^ 240 | method: 'PUT', 241 | body: 'hello', 242 | headers: { at test/surface/create.test.ts:239:29 at step (test/surface/create.test.ts:33:23) at Object.next (test/surface/create.test.ts:14:53) at test/surface/create.test.ts:8:71 at Object..__awaiter (test/surface/create.test.ts:4:12) at Object. (test/surface/create.test.ts:236:58) ● Create › Using PUT in existing container › is disallowed without accessTo Write or Append TypeError: Cannot read property 'recursiveDelete' of undefined 52 | 53 | afterEach(() => { > 54 | return solidLogicAlice.recursiveDelete(testFolderUrl); | ^ 55 | }); 56 | 57 | describe('Using POST to existing container', () => { at Object. (test/surface/create.test.ts:54:28) ● Create › Using PATCH in existing container › Is allowed with accessTo Write and default Write access Please make sure the cookie is valid, and add "https://tester" as a trusted app! at Object.getAuthFetcher (node_modules/solid-auth-fetcher/src/obtainAuthHeaders.ts:51:13) ● Create › Using PATCH in existing container › Is allowed with accessTo Write and default Write access TypeError: Cannot read property 'fetch' of undefined 271 | const containerUrl = `${testFolderUrl}8/accessToAndDefaultWrite/`; 272 | // This will do mkdir-p: > 273 | await solidLogicAlice.fetch(`${containerUrl}test.txt`, { | ^ 274 | method: 'PUT', 275 | body: 'hello', 276 | headers: { at test/surface/create.test.ts:273:29 at step (test/surface/create.test.ts:33:23) at Object.next (test/surface/create.test.ts:14:53) at test/surface/create.test.ts:8:71 at Object..__awaiter (test/surface/create.test.ts:4:12) at Object. (test/surface/create.test.ts:270:67) ● Create › Using PATCH in existing container › Is allowed with accessTo Write and default Write access TypeError: Cannot read property 'recursiveDelete' of undefined 52 | 53 | afterEach(() => { > 54 | return solidLogicAlice.recursiveDelete(testFolderUrl); | ^ 55 | }); 56 | 57 | describe('Using POST to existing container', () => { at Object. (test/surface/create.test.ts:54:28) ● Create › Using PATCH in existing container › Is allowed with accessTo Append and default Write access Please make sure the cookie is valid, and add "https://tester" as a trusted app! at Object.getAuthFetcher (node_modules/solid-auth-fetcher/src/obtainAuthHeaders.ts:51:13) ● Create › Using PATCH in existing container › Is allowed with accessTo Append and default Write access TypeError: Cannot read property 'fetch' of undefined 300 | const containerUrl = `${testFolderUrl}9/accessToAndDefaultWrite/`; 301 | // This will do mkdir-p: > 302 | await solidLogicAlice.fetch(`${containerUrl}test.txt`, { | ^ 303 | method: 'PUT', 304 | body: 'hello', 305 | headers: { at test/surface/create.test.ts:302:29 at step (test/surface/create.test.ts:33:23) at Object.next (test/surface/create.test.ts:14:53) at test/surface/create.test.ts:8:71 at Object..__awaiter (test/surface/create.test.ts:4:12) at Object. (test/surface/create.test.ts:299:68) ● Create › Using PATCH in existing container › Is allowed with accessTo Append and default Write access TypeError: Cannot read property 'recursiveDelete' of undefined 52 | 53 | afterEach(() => { > 54 | return solidLogicAlice.recursiveDelete(testFolderUrl); | ^ 55 | }); 56 | 57 | describe('Using POST to existing container', () => { at Object. (test/surface/create.test.ts:54:28) ● Create › Using PATCH in existing container › is disallowed without default Write Please make sure the cookie is valid, and add "https://tester" as a trusted app! at Object.getAuthFetcher (node_modules/solid-auth-fetcher/src/obtainAuthHeaders.ts:51:13) ● Create › Using PATCH in existing container › is disallowed without default Write TypeError: Cannot read property 'fetch' of undefined 330 | const containerUrl = `${testFolderUrl}10/allOtherModes/`; 331 | // This will do mkdir-p: > 332 | await solidLogicAlice.fetch(`${containerUrl}test.txt`, { | ^ 333 | method: 'PUT', 334 | body: 'hello', 335 | headers: { at test/surface/create.test.ts:332:29 at step (test/surface/create.test.ts:33:23) at Object.next (test/surface/create.test.ts:14:53) at test/surface/create.test.ts:8:71 at Object..__awaiter (test/surface/create.test.ts:4:12) at Object. (test/surface/create.test.ts:329:47) ● Create › Using PATCH in existing container › is disallowed without default Write TypeError: Cannot read property 'recursiveDelete' of undefined 52 | 53 | afterEach(() => { > 54 | return solidLogicAlice.recursiveDelete(testFolderUrl); | ^ 55 | }); 56 | 57 | describe('Using POST to existing container', () => { at Object. (test/surface/create.test.ts:54:28) ● Create › Using PATCH in existing container › is disallowed without accessTo Write or Append Please make sure the cookie is valid, and add "https://tester" as a trusted app! at Object.getAuthFetcher (node_modules/solid-auth-fetcher/src/obtainAuthHeaders.ts:51:13) ● Create › Using PATCH in existing container › is disallowed without accessTo Write or Append TypeError: Cannot read property 'fetch' of undefined 362 | const containerUrl = `${testFolderUrl}11/allOtherModes/`; 363 | // This will do mkdir-p: > 364 | await solidLogicAlice.fetch(`${containerUrl}test.txt`, { | ^ 365 | method: 'PUT', 366 | body: 'hello', 367 | headers: { at test/surface/create.test.ts:364:29 at step (test/surface/create.test.ts:33:23) at Object.next (test/surface/create.test.ts:14:53) at test/surface/create.test.ts:8:71 at Object..__awaiter (test/surface/create.test.ts:4:12) at Object. (test/surface/create.test.ts:361:58) ● Create › Using PATCH in existing container › is disallowed without accessTo Write or Append TypeError: Cannot read property 'recursiveDelete' of undefined 52 | 53 | afterEach(() => { > 54 | return solidLogicAlice.recursiveDelete(testFolderUrl); | ^ 55 | }); 56 | 57 | describe('Using POST to existing container', () => { at Object. (test/surface/create.test.ts:54:28) ● Create › Using PUT in non-existing container › Is allowed with accessTo Write and default Write access Please make sure the cookie is valid, and add "https://tester" as a trusted app! at Object.getAuthFetcher (node_modules/solid-auth-fetcher/src/obtainAuthHeaders.ts:51:13) ● Create › Using PUT in non-existing container › Is allowed with accessTo Write and default Write access TypeError: Cannot read property 'fetch' of undefined 395 | let containerUrl = `${testFolderUrl}12/accessToAndDefaultWrite/`; 396 | // This will do mkdir-p: > 397 | await solidLogicAlice.fetch(`${containerUrl}test.txt`, { | ^ 398 | method: 'PUT', 399 | body: 'hello', 400 | headers: { at test/surface/create.test.ts:397:29 at step (test/surface/create.test.ts:33:23) at Object.next (test/surface/create.test.ts:14:53) at test/surface/create.test.ts:8:71 at Object..__awaiter (test/surface/create.test.ts:4:12) at Object. (test/surface/create.test.ts:394:67) ● Create › Using PUT in non-existing container › Is allowed with accessTo Write and default Write access TypeError: Cannot read property 'recursiveDelete' of undefined 52 | 53 | afterEach(() => { > 54 | return solidLogicAlice.recursiveDelete(testFolderUrl); | ^ 55 | }); 56 | 57 | describe('Using POST to existing container', () => { at Object. (test/surface/create.test.ts:54:28) ● Create › Using PUT in non-existing container › Is allowed with accessTo Append and default Write access Please make sure the cookie is valid, and add "https://tester" as a trusted app! at Object.getAuthFetcher (node_modules/solid-auth-fetcher/src/obtainAuthHeaders.ts:51:13) ● Create › Using PUT in non-existing container › Is allowed with accessTo Append and default Write access TypeError: Cannot read property 'fetch' of undefined 425 | const containerUrl = `${testFolderUrl}13/accessToAndDefaultWrite/`; 426 | // This will do mkdir-p: > 427 | await solidLogicAlice.fetch(`${containerUrl}test.txt`, { | ^ 428 | method: 'PUT', 429 | body: 'hello', 430 | headers: { at test/surface/create.test.ts:427:29 at step (test/surface/create.test.ts:33:23) at Object.next (test/surface/create.test.ts:14:53) at test/surface/create.test.ts:8:71 at Object..__awaiter (test/surface/create.test.ts:4:12) at Object. (test/surface/create.test.ts:424:68) ● Create › Using PUT in non-existing container › Is allowed with accessTo Append and default Write access TypeError: Cannot read property 'recursiveDelete' of undefined 52 | 53 | afterEach(() => { > 54 | return solidLogicAlice.recursiveDelete(testFolderUrl); | ^ 55 | }); 56 | 57 | describe('Using POST to existing container', () => { at Object. (test/surface/create.test.ts:54:28) ● Create › Using PUT in non-existing container › is disallowed without default Write Please make sure the cookie is valid, and add "https://tester" as a trusted app! at Object.getAuthFetcher (node_modules/solid-auth-fetcher/src/obtainAuthHeaders.ts:51:13) ● Create › Using PUT in non-existing container › is disallowed without default Write TypeError: Cannot read property 'fetch' of undefined 456 | const containerUrl = `${testFolderUrl}14/allOtherModes/`; 457 | // This will do mkdir-p: > 458 | await solidLogicAlice.fetch(`${containerUrl}test.txt`, { | ^ 459 | method: 'PUT', 460 | body: 'hello', 461 | headers: { at test/surface/create.test.ts:458:29 at step (test/surface/create.test.ts:33:23) at Object.next (test/surface/create.test.ts:14:53) at test/surface/create.test.ts:8:71 at Object..__awaiter (test/surface/create.test.ts:4:12) at Object. (test/surface/create.test.ts:455:47) ● Create › Using PUT in non-existing container › is disallowed without default Write TypeError: Cannot read property 'recursiveDelete' of undefined 52 | 53 | afterEach(() => { > 54 | return solidLogicAlice.recursiveDelete(testFolderUrl); | ^ 55 | }); 56 | 57 | describe('Using POST to existing container', () => { at Object. (test/surface/create.test.ts:54:28) ● Create › Using PUT in non-existing container › is disallowed without accessTo Write or Append Please make sure the cookie is valid, and add "https://tester" as a trusted app! at Object.getAuthFetcher (node_modules/solid-auth-fetcher/src/obtainAuthHeaders.ts:51:13) ● Create › Using PUT in non-existing container › is disallowed without accessTo Write or Append TypeError: Cannot read property 'fetch' of undefined 487 | const containerUrl = `${testFolderUrl}15/allOtherModes/`; 488 | // This will do mkdir-p: > 489 | await solidLogicAlice.fetch(`${containerUrl}test.txt`, { | ^ 490 | method: 'PUT', 491 | body: 'hello', 492 | headers: { at test/surface/create.test.ts:489:29 at step (test/surface/create.test.ts:33:23) at Object.next (test/surface/create.test.ts:14:53) at test/surface/create.test.ts:8:71 at Object..__awaiter (test/surface/create.test.ts:4:12) at Object. (test/surface/create.test.ts:486:58) ● Create › Using PUT in non-existing container › is disallowed without accessTo Write or Append TypeError: Cannot read property 'recursiveDelete' of undefined 52 | 53 | afterEach(() => { > 54 | return solidLogicAlice.recursiveDelete(testFolderUrl); | ^ 55 | }); 56 | 57 | describe('Using POST to existing container', () => { at Object. (test/surface/create.test.ts:54:28) ● Create › Using PATCH in non-existing container › Is allowed with accessTo Write and default Write access Please make sure the cookie is valid, and add "https://tester" as a trusted app! at Object.getAuthFetcher (node_modules/solid-auth-fetcher/src/obtainAuthHeaders.ts:51:13) ● Create › Using PATCH in non-existing container › Is allowed with accessTo Write and default Write access TypeError: Cannot read property 'fetch' of undefined 521 | const containerUrl = `${testFolderUrl}16/accessToAndDefaultWrite/`; 522 | // This will do mkdir-p: > 523 | await solidLogicAlice.fetch(`${containerUrl}test.txt`, { | ^ 524 | method: 'PUT', 525 | body: 'hello', 526 | headers: { at test/surface/create.test.ts:523:29 at step (test/surface/create.test.ts:33:23) at Object.next (test/surface/create.test.ts:14:53) at test/surface/create.test.ts:8:71 at Object..__awaiter (test/surface/create.test.ts:4:12) at Object. (test/surface/create.test.ts:520:67) ● Create › Using PATCH in non-existing container › Is allowed with accessTo Write and default Write access TypeError: Cannot read property 'recursiveDelete' of undefined 52 | 53 | afterEach(() => { > 54 | return solidLogicAlice.recursiveDelete(testFolderUrl); | ^ 55 | }); 56 | 57 | describe('Using POST to existing container', () => { at Object. (test/surface/create.test.ts:54:28) ● Create › Using PATCH in non-existing container › Is allowed with accessTo Append and default Write access Please make sure the cookie is valid, and add "https://tester" as a trusted app! at Object.getAuthFetcher (node_modules/solid-auth-fetcher/src/obtainAuthHeaders.ts:51:13) ● Create › Using PATCH in non-existing container › Is allowed with accessTo Append and default Write access TypeError: Cannot read property 'fetch' of undefined 550 | const containerUrl = `${testFolderUrl}17/accessToAndDefaultWrite/`; 551 | // This will do mkdir-p: > 552 | await solidLogicAlice.fetch(`${containerUrl}test.txt`, { | ^ 553 | method: 'PUT', 554 | body: 'hello', 555 | headers: { at test/surface/create.test.ts:552:29 at step (test/surface/create.test.ts:33:23) at Object.next (test/surface/create.test.ts:14:53) at test/surface/create.test.ts:8:71 at Object..__awaiter (test/surface/create.test.ts:4:12) at Object. (test/surface/create.test.ts:549:68) ● Create › Using PATCH in non-existing container › Is allowed with accessTo Append and default Write access TypeError: Cannot read property 'recursiveDelete' of undefined 52 | 53 | afterEach(() => { > 54 | return solidLogicAlice.recursiveDelete(testFolderUrl); | ^ 55 | }); 56 | 57 | describe('Using POST to existing container', () => { at Object. (test/surface/create.test.ts:54:28) ● Create › Using PATCH in non-existing container › is disallowed without default Write Please make sure the cookie is valid, and add "https://tester" as a trusted app! at Object.getAuthFetcher (node_modules/solid-auth-fetcher/src/obtainAuthHeaders.ts:51:13) ● Create › Using PATCH in non-existing container › is disallowed without default Write TypeError: Cannot read property 'fetch' of undefined 580 | const containerUrl = `${testFolderUrl}18/allOtherModes/`; 581 | // This will do mkdir-p: > 582 | await solidLogicAlice.fetch(`${containerUrl}test.txt`, { | ^ 583 | method: 'PUT', 584 | body: 'hello', 585 | headers: { at test/surface/create.test.ts:582:29 at step (test/surface/create.test.ts:33:23) at Object.next (test/surface/create.test.ts:14:53) at test/surface/create.test.ts:8:71 at Object..__awaiter (test/surface/create.test.ts:4:12) at Object. (test/surface/create.test.ts:579:47) ● Create › Using PATCH in non-existing container › is disallowed without default Write TypeError: Cannot read property 'recursiveDelete' of undefined 52 | 53 | afterEach(() => { > 54 | return solidLogicAlice.recursiveDelete(testFolderUrl); | ^ 55 | }); 56 | 57 | describe('Using POST to existing container', () => { at Object. (test/surface/create.test.ts:54:28) ● Create › Using PATCH in non-existing container › is disallowed without accessTo Write or Append Please make sure the cookie is valid, and add "https://tester" as a trusted app! at Object.getAuthFetcher (node_modules/solid-auth-fetcher/src/obtainAuthHeaders.ts:51:13) ● Create › Using PATCH in non-existing container › is disallowed without accessTo Write or Append TypeError: Cannot read property 'fetch' of undefined 610 | const containerUrl = `${testFolderUrl}19/allOtherModes/`; 611 | // This will do mkdir-p: > 612 | await solidLogicAlice.fetch(`${containerUrl}test.txt`, { | ^ 613 | method: 'PUT', 614 | body: 'hello', 615 | headers: { at test/surface/create.test.ts:612:29 at step (test/surface/create.test.ts:33:23) at Object.next (test/surface/create.test.ts:14:53) at test/surface/create.test.ts:8:71 at Object..__awaiter (test/surface/create.test.ts:4:12) at Object. (test/surface/create.test.ts:609:58) ● Create › Using PATCH in non-existing container › is disallowed without accessTo Write or Append TypeError: Cannot read property 'recursiveDelete' of undefined 52 | 53 | afterEach(() => { > 54 | return solidLogicAlice.recursiveDelete(testFolderUrl); | ^ 55 | }); 56 | 57 | describe('Using POST to existing container', () => { at Object. (test/surface/create.test.ts:54:28) ```
- `test/surface/read-public.test.ts`
``` ● Console console.warn Adding slash to the end of ALICE's storage root ->"https://server/storage"+"/" 25 | let storageRoot = getEnvVars(who).storageRoot; 26 | if (storageRoot.substr(-1) !== '/') { > 27 | console.warn(`Adding slash to the end of ${who}'s storage root ->"${storageRoot}"+"/"`); | ^ 28 | storageRoot += '/'; 29 | } 30 | const testFolder = `web-access-control-tests-${new Date().getTime()}`; at Object.generateTestFolder (test/helpers/env.ts:27:13) at Suite. (test/surface/read-public.test.ts:46:29) at Object. (test/surface/read-public.test.ts:38:1) ● Read-Public › Is allowed with accessTo Read access on non-container resource Please make sure the cookie is valid, and add "https://tester" as a trusted app! at Object.getAuthFetcher (node_modules/solid-auth-fetcher/src/obtainAuthHeaders.ts:51:13) ● Read-Public › Is allowed with accessTo Read access on non-container resource TypeError: Cannot read property 'fetch' of undefined 57 | const resourceUrl = `${testFolderUrl}1/test.txt`; 58 | // This will do mkdir-p: > 59 | const creationResult = await solidLogicAlice.fetch(resourceUrl, { | ^ 60 | method: 'PUT', 61 | body: '<#hello> <#linked> <#world> .', 62 | headers: { at test/surface/read-public.test.ts:59:51 at step (test/surface/read-public.test.ts:33:23) at Object.next (test/surface/read-public.test.ts:14:53) at test/surface/read-public.test.ts:8:71 at Object..__awaiter (test/surface/read-public.test.ts:4:12) at Object. (test/surface/read-public.test.ts:56:72) ● Read-Public › Is allowed with accessTo Read access on non-container resource TypeError: Cannot read property 'recursiveDelete' of undefined 52 | 53 | afterEach(() => { > 54 | return solidLogicAlice.recursiveDelete(testFolderUrl); | ^ 55 | }); 56 | it('Is allowed with accessTo Read access on non-container resource', async () => { 57 | const resourceUrl = `${testFolderUrl}1/test.txt`; at Object. (test/surface/read-public.test.ts:54:28) ● Read-Public › Is disallowed with accessTo Append+Write+Control access on non-container resource Please make sure the cookie is valid, and add "https://tester" as a trusted app! at Object.getAuthFetcher (node_modules/solid-auth-fetcher/src/obtainAuthHeaders.ts:51:13) ● Read-Public › Is disallowed with accessTo Append+Write+Control access on non-container resource TypeError: Cannot read property 'fetch' of undefined 80 | const resourceUrl = `${testFolderUrl}2/test.txt`; 81 | // This will do mkdir-p: > 82 | const creationResult = await solidLogicAlice.fetch(resourceUrl, { | ^ 83 | method: 'PUT', 84 | body: '<#hello> <#linked> <#world> .', 85 | headers: { at test/surface/read-public.test.ts:82:51 at step (test/surface/read-public.test.ts:33:23) at Object.next (test/surface/read-public.test.ts:14:53) at test/surface/read-public.test.ts:8:71 at Object..__awaiter (test/surface/read-public.test.ts:4:12) at Object. (test/surface/read-public.test.ts:79:91) ● Read-Public › Is disallowed with accessTo Append+Write+Control access on non-container resource TypeError: Cannot read property 'recursiveDelete' of undefined 52 | 53 | afterEach(() => { > 54 | return solidLogicAlice.recursiveDelete(testFolderUrl); | ^ 55 | }); 56 | it('Is allowed with accessTo Read access on non-container resource', async () => { 57 | const resourceUrl = `${testFolderUrl}1/test.txt`; at Object. (test/surface/read-public.test.ts:54:28) ● Read-Public › Is allowed with default Read access on parent of non-container Please make sure the cookie is valid, and add "https://tester" as a trusted app! at Object.getAuthFetcher (node_modules/solid-auth-fetcher/src/obtainAuthHeaders.ts:51:13) ● Read-Public › Is allowed with default Read access on parent of non-container TypeError: Cannot read property 'fetch' of undefined 106 | const resourceUrl = `${containerUrl}test.txt`; 107 | // This will do mkdir-p: > 108 | const creationResult = await solidLogicAlice.fetch(resourceUrl, { | ^ 109 | method: 'PUT', 110 | body: '<#hello> <#linked> <#world> .', 111 | headers: { at test/surface/read-public.test.ts:108:51 at step (test/surface/read-public.test.ts:33:23) at Object.next (test/surface/read-public.test.ts:14:53) at test/surface/read-public.test.ts:8:71 at Object..__awaiter (test/surface/read-public.test.ts:4:12) at Object. (test/surface/read-public.test.ts:104:72) ● Read-Public › Is allowed with default Read access on parent of non-container TypeError: Cannot read property 'recursiveDelete' of undefined 52 | 53 | afterEach(() => { > 54 | return solidLogicAlice.recursiveDelete(testFolderUrl); | ^ 55 | }); 56 | it('Is allowed with accessTo Read access on non-container resource', async () => { 57 | const resourceUrl = `${testFolderUrl}1/test.txt`; at Object. (test/surface/read-public.test.ts:54:28) ● Read-Public › Is disallowed with default Append+Write+Control access on parent of non-container Please make sure the cookie is valid, and add "https://tester" as a trusted app! at Object.getAuthFetcher (node_modules/solid-auth-fetcher/src/obtainAuthHeaders.ts:51:13) ● Read-Public › Is disallowed with default Append+Write+Control access on parent of non-container TypeError: Cannot read property 'fetch' of undefined 130 | const resourceUrl = `${containerUrl}test.txt`; 131 | // This will do mkdir-p: > 132 | const creationResult = await solidLogicAlice.fetch(resourceUrl, { | ^ 133 | method: 'PUT', 134 | body: '<#hello> <#linked> <#world> .', 135 | headers: { at test/surface/read-public.test.ts:132:51 at step (test/surface/read-public.test.ts:33:23) at Object.next (test/surface/read-public.test.ts:14:53) at test/surface/read-public.test.ts:8:71 at Object..__awaiter (test/surface/read-public.test.ts:4:12) at Object. (test/surface/read-public.test.ts:128:91) ● Read-Public › Is disallowed with default Append+Write+Control access on parent of non-container TypeError: Cannot read property 'recursiveDelete' of undefined 52 | 53 | afterEach(() => { > 54 | return solidLogicAlice.recursiveDelete(testFolderUrl); | ^ 55 | }); 56 | it('Is allowed with accessTo Read access on non-container resource', async () => { 57 | const resourceUrl = `${testFolderUrl}1/test.txt`; at Object. (test/surface/read-public.test.ts:54:28) ● Read-Public › Is allowed with accessTo Read access on container resource Please make sure the cookie is valid, and add "https://tester" as a trusted app! at Object.getAuthFetcher (node_modules/solid-auth-fetcher/src/obtainAuthHeaders.ts:51:13) ● Read-Public › Is allowed with accessTo Read access on container resource TypeError: Cannot read property 'fetch' of undefined 154 | const resourceUrl = `${testFolderUrl}5/test/`; 155 | // This will do mkdir-p: > 156 | const creationResult = await solidLogicAlice.fetch(`${resourceUrl}.dummy`, { | ^ 157 | method: 'PUT', 158 | body: '<#hello> <#linked> <#world> .', 159 | headers: { at test/surface/read-public.test.ts:156:51 at step (test/surface/read-public.test.ts:33:23) at Object.next (test/surface/read-public.test.ts:14:53) at test/surface/read-public.test.ts:8:71 at Object..__awaiter (test/surface/read-public.test.ts:4:12) at Object. (test/surface/read-public.test.ts:153:68) ● Read-Public › Is allowed with accessTo Read access on container resource TypeError: Cannot read property 'recursiveDelete' of undefined 52 | 53 | afterEach(() => { > 54 | return solidLogicAlice.recursiveDelete(testFolderUrl); | ^ 55 | }); 56 | it('Is allowed with accessTo Read access on non-container resource', async () => { 57 | const resourceUrl = `${testFolderUrl}1/test.txt`; at Object. (test/surface/read-public.test.ts:54:28) ● Read-Public › Is disallowed with accessTo Append+Write+Control access on non-container resource Please make sure the cookie is valid, and add "https://tester" as a trusted app! at Object.getAuthFetcher (node_modules/solid-auth-fetcher/src/obtainAuthHeaders.ts:51:13) ● Read-Public › Is disallowed with accessTo Append+Write+Control access on non-container resource TypeError: Cannot read property 'fetch' of undefined 178 | const resourceUrl = `${testFolderUrl}6/test/`; 179 | // This will do mkdir-p: > 180 | const creationResult = await solidLogicAlice.fetch(`${resourceUrl}.dummy`, { | ^ 181 | method: 'PUT', 182 | body: '<#hello> <#linked> <#world> .', 183 | headers: { at test/surface/read-public.test.ts:180:51 at step (test/surface/read-public.test.ts:33:23) at Object.next (test/surface/read-public.test.ts:14:53) at test/surface/read-public.test.ts:8:71 at Object..__awaiter (test/surface/read-public.test.ts:4:12) at Object. (test/surface/read-public.test.ts:177:91) ● Read-Public › Is disallowed with accessTo Append+Write+Control access on non-container resource TypeError: Cannot read property 'recursiveDelete' of undefined 52 | 53 | afterEach(() => { > 54 | return solidLogicAlice.recursiveDelete(testFolderUrl); | ^ 55 | }); 56 | it('Is allowed with accessTo Read access on non-container resource', async () => { 57 | const resourceUrl = `${testFolderUrl}1/test.txt`; at Object. (test/surface/read-public.test.ts:54:28) ● Read-Public › Is allowed with default Read access on parent of container Please make sure the cookie is valid, and add "https://tester" as a trusted app! at Object.getAuthFetcher (node_modules/solid-auth-fetcher/src/obtainAuthHeaders.ts:51:13) ● Read-Public › Is allowed with default Read access on parent of container TypeError: Cannot read property 'fetch' of undefined 203 | const resourceUrl = `${containerUrl}test/`; 204 | // This will do mkdir-p: > 205 | const creationResult = await solidLogicAlice.fetch(`${resourceUrl}.dummy`, { | ^ 206 | method: 'PUT', 207 | body: '<#hello> <#linked> <#world> .', 208 | headers: { at test/surface/read-public.test.ts:205:51 at step (test/surface/read-public.test.ts:33:23) at Object.next (test/surface/read-public.test.ts:14:53) at test/surface/read-public.test.ts:8:71 at Object..__awaiter (test/surface/read-public.test.ts:4:12) at Object. (test/surface/read-public.test.ts:201:68) ● Read-Public › Is allowed with default Read access on parent of container TypeError: Cannot read property 'recursiveDelete' of undefined 52 | 53 | afterEach(() => { > 54 | return solidLogicAlice.recursiveDelete(testFolderUrl); | ^ 55 | }); 56 | it('Is allowed with accessTo Read access on non-container resource', async () => { 57 | const resourceUrl = `${testFolderUrl}1/test.txt`; at Object. (test/surface/read-public.test.ts:54:28) ● Read-Public › Is disallowed with default Append+Write+Control access on parent of non-container Please make sure the cookie is valid, and add "https://tester" as a trusted app! at Object.getAuthFetcher (node_modules/solid-auth-fetcher/src/obtainAuthHeaders.ts:51:13) ● Read-Public › Is disallowed with default Append+Write+Control access on parent of non-container TypeError: Cannot read property 'fetch' of undefined 228 | const resourceUrl = `${containerUrl}test/`; 229 | // This will do mkdir-p: > 230 | const creationResult = await solidLogicAlice.fetch(`${resourceUrl}.dummy`, { | ^ 231 | method: 'PUT', 232 | body: '<#hello> <#linked> <#world> .', 233 | headers: { at test/surface/read-public.test.ts:230:51 at step (test/surface/read-public.test.ts:33:23) at Object.next (test/surface/read-public.test.ts:14:53) at test/surface/read-public.test.ts:8:71 at Object..__awaiter (test/surface/read-public.test.ts:4:12) at Object. (test/surface/read-public.test.ts:226:91) ● Read-Public › Is disallowed with default Append+Write+Control access on parent of non-container TypeError: Cannot read property 'recursiveDelete' of undefined 52 | 53 | afterEach(() => { > 54 | return solidLogicAlice.recursiveDelete(testFolderUrl); | ^ 55 | }); 56 | it('Is allowed with accessTo Read access on non-container resource', async () => { 57 | const resourceUrl = `${testFolderUrl}1/test.txt`; at Object. (test/surface/read-public.test.ts:54:28) ```
- `test/surface/read.test.ts`
``` ● Console console.warn Adding slash to the end of ALICE's storage root ->"https://server/storage"+"/" 25 | let storageRoot = getEnvVars(who).storageRoot; 26 | if (storageRoot.substr(-1) !== '/') { > 27 | console.warn(`Adding slash to the end of ${who}'s storage root ->"${storageRoot}"+"/"`); | ^ 28 | storageRoot += '/'; 29 | } 30 | const testFolder = `web-access-control-tests-${new Date().getTime()}`; at Object.generateTestFolder (test/helpers/env.ts:27:13) at Suite. (test/surface/read.test.ts:46:29) at Object. (test/surface/read.test.ts:38:1) ● Read › Is allowed with accessTo Read access on non-container resource Please make sure the cookie is valid, and add "https://tester" as a trusted app! at Object.getAuthFetcher (node_modules/solid-auth-fetcher/src/obtainAuthHeaders.ts:51:13) ● Read › Is allowed with accessTo Read access on non-container resource TypeError: Cannot read property 'fetch' of undefined 57 | const resourceUrl = `${testFolderUrl}1/test.txt`; 58 | // This will do mkdir-p: > 59 | const creationResult = await solidLogicAlice.fetch(resourceUrl, { | ^ 60 | method: 'PUT', 61 | body: '<#hello> <#linked> <#world> .', 62 | headers: { at test/surface/read.test.ts:59:51 at step (test/surface/read.test.ts:33:23) at Object.next (test/surface/read.test.ts:14:53) at test/surface/read.test.ts:8:71 at Object..__awaiter (test/surface/read.test.ts:4:12) at Object. (test/surface/read.test.ts:56:72) ● Read › Is allowed with accessTo Read access on non-container resource TypeError: Cannot read property 'recursiveDelete' of undefined 52 | 53 | afterEach(() => { > 54 | return solidLogicAlice.recursiveDelete(testFolderUrl); | ^ 55 | }); 56 | it('Is allowed with accessTo Read access on non-container resource', async () => { 57 | const resourceUrl = `${testFolderUrl}1/test.txt`; at Object. (test/surface/read.test.ts:54:28) ● Read › Is disallowed with accessTo Append+Write+Control access on non-container resource Please make sure the cookie is valid, and add "https://tester" as a trusted app! at Object.getAuthFetcher (node_modules/solid-auth-fetcher/src/obtainAuthHeaders.ts:51:13) ● Read › Is disallowed with accessTo Append+Write+Control access on non-container resource TypeError: Cannot read property 'fetch' of undefined 80 | const resourceUrl = `${testFolderUrl}2/test.txt`; 81 | // This will do mkdir-p: > 82 | const creationResult = await solidLogicAlice.fetch(resourceUrl, { | ^ 83 | method: 'PUT', 84 | body: '<#hello> <#linked> <#world> .', 85 | headers: { at test/surface/read.test.ts:82:51 at step (test/surface/read.test.ts:33:23) at Object.next (test/surface/read.test.ts:14:53) at test/surface/read.test.ts:8:71 at Object..__awaiter (test/surface/read.test.ts:4:12) at Object. (test/surface/read.test.ts:79:91) ● Read › Is disallowed with accessTo Append+Write+Control access on non-container resource TypeError: Cannot read property 'recursiveDelete' of undefined 52 | 53 | afterEach(() => { > 54 | return solidLogicAlice.recursiveDelete(testFolderUrl); | ^ 55 | }); 56 | it('Is allowed with accessTo Read access on non-container resource', async () => { 57 | const resourceUrl = `${testFolderUrl}1/test.txt`; at Object. (test/surface/read.test.ts:54:28) ● Read › Is allowed with default Read access on parent of non-container Please make sure the cookie is valid, and add "https://tester" as a trusted app! at Object.getAuthFetcher (node_modules/solid-auth-fetcher/src/obtainAuthHeaders.ts:51:13) ● Read › Is allowed with default Read access on parent of non-container TypeError: Cannot read property 'fetch' of undefined 106 | const resourceUrl = `${containerUrl}test.txt`; 107 | // This will do mkdir-p: > 108 | const creationResult = await solidLogicAlice.fetch(resourceUrl, { | ^ 109 | method: 'PUT', 110 | body: '<#hello> <#linked> <#world> .', 111 | headers: { at test/surface/read.test.ts:108:51 at step (test/surface/read.test.ts:33:23) at Object.next (test/surface/read.test.ts:14:53) at test/surface/read.test.ts:8:71 at Object..__awaiter (test/surface/read.test.ts:4:12) at Object. (test/surface/read.test.ts:104:72) ● Read › Is allowed with default Read access on parent of non-container TypeError: Cannot read property 'recursiveDelete' of undefined 52 | 53 | afterEach(() => { > 54 | return solidLogicAlice.recursiveDelete(testFolderUrl); | ^ 55 | }); 56 | it('Is allowed with accessTo Read access on non-container resource', async () => { 57 | const resourceUrl = `${testFolderUrl}1/test.txt`; at Object. (test/surface/read.test.ts:54:28) ● Read › Is disallowed with default Append+Write+Control access on parent of non-container Please make sure the cookie is valid, and add "https://tester" as a trusted app! at Object.getAuthFetcher (node_modules/solid-auth-fetcher/src/obtainAuthHeaders.ts:51:13) ● Read › Is disallowed with default Append+Write+Control access on parent of non-container TypeError: Cannot read property 'fetch' of undefined 130 | const resourceUrl = `${containerUrl}test.txt`; 131 | // This will do mkdir-p: > 132 | const creationResult = await solidLogicAlice.fetch(resourceUrl, { | ^ 133 | method: 'PUT', 134 | body: '<#hello> <#linked> <#world> .', 135 | headers: { at test/surface/read.test.ts:132:51 at step (test/surface/read.test.ts:33:23) at Object.next (test/surface/read.test.ts:14:53) at test/surface/read.test.ts:8:71 at Object..__awaiter (test/surface/read.test.ts:4:12) at Object. (test/surface/read.test.ts:128:91) ● Read › Is disallowed with default Append+Write+Control access on parent of non-container TypeError: Cannot read property 'recursiveDelete' of undefined 52 | 53 | afterEach(() => { > 54 | return solidLogicAlice.recursiveDelete(testFolderUrl); | ^ 55 | }); 56 | it('Is allowed with accessTo Read access on non-container resource', async () => { 57 | const resourceUrl = `${testFolderUrl}1/test.txt`; at Object. (test/surface/read.test.ts:54:28) ● Read › Is allowed with accessTo Read access on container resource Please make sure the cookie is valid, and add "https://tester" as a trusted app! at Object.getAuthFetcher (node_modules/solid-auth-fetcher/src/obtainAuthHeaders.ts:51:13) ● Read › Is allowed with accessTo Read access on container resource TypeError: Cannot read property 'fetch' of undefined 154 | const resourceUrl = `${testFolderUrl}5/test/`; 155 | // This will do mkdir-p: > 156 | const creationResult = await solidLogicAlice.fetch(`${resourceUrl}.dummy`, { | ^ 157 | method: 'PUT', 158 | body: '<#hello> <#linked> <#world> .', 159 | headers: { at test/surface/read.test.ts:156:51 at step (test/surface/read.test.ts:33:23) at Object.next (test/surface/read.test.ts:14:53) at test/surface/read.test.ts:8:71 at Object..__awaiter (test/surface/read.test.ts:4:12) at Object. (test/surface/read.test.ts:153:68) ● Read › Is allowed with accessTo Read access on container resource TypeError: Cannot read property 'recursiveDelete' of undefined 52 | 53 | afterEach(() => { > 54 | return solidLogicAlice.recursiveDelete(testFolderUrl); | ^ 55 | }); 56 | it('Is allowed with accessTo Read access on non-container resource', async () => { 57 | const resourceUrl = `${testFolderUrl}1/test.txt`; at Object. (test/surface/read.test.ts:54:28) ● Read › Is disallowed with accessTo Append+Write+Control access on non-container resource Please make sure the cookie is valid, and add "https://tester" as a trusted app! at Object.getAuthFetcher (node_modules/solid-auth-fetcher/src/obtainAuthHeaders.ts:51:13) ● Read › Is disallowed with accessTo Append+Write+Control access on non-container resource TypeError: Cannot read property 'fetch' of undefined 178 | const resourceUrl = `${testFolderUrl}6/test/`; 179 | // This will do mkdir-p: > 180 | const creationResult = await solidLogicAlice.fetch(`${resourceUrl}.dummy`, { | ^ 181 | method: 'PUT', 182 | body: '<#hello> <#linked> <#world> .', 183 | headers: { at test/surface/read.test.ts:180:51 at step (test/surface/read.test.ts:33:23) at Object.next (test/surface/read.test.ts:14:53) at test/surface/read.test.ts:8:71 at Object..__awaiter (test/surface/read.test.ts:4:12) at Object. (test/surface/read.test.ts:177:91) ● Read › Is disallowed with accessTo Append+Write+Control access on non-container resource TypeError: Cannot read property 'recursiveDelete' of undefined 52 | 53 | afterEach(() => { > 54 | return solidLogicAlice.recursiveDelete(testFolderUrl); | ^ 55 | }); 56 | it('Is allowed with accessTo Read access on non-container resource', async () => { 57 | const resourceUrl = `${testFolderUrl}1/test.txt`; at Object. (test/surface/read.test.ts:54:28) ● Read › Is allowed with default Read access on parent of container Please make sure the cookie is valid, and add "https://tester" as a trusted app! at Object.getAuthFetcher (node_modules/solid-auth-fetcher/src/obtainAuthHeaders.ts:51:13) ● Read › Is allowed with default Read access on parent of container TypeError: Cannot read property 'fetch' of undefined 203 | const resourceUrl = `${containerUrl}test/`; 204 | // This will do mkdir-p: > 205 | const creationResult = await solidLogicAlice.fetch(`${resourceUrl}.dummy`, { | ^ 206 | method: 'PUT', 207 | body: '<#hello> <#linked> <#world> .', 208 | headers: { at test/surface/read.test.ts:205:51 at step (test/surface/read.test.ts:33:23) at Object.next (test/surface/read.test.ts:14:53) at test/surface/read.test.ts:8:71 at Object..__awaiter (test/surface/read.test.ts:4:12) at Object. (test/surface/read.test.ts:201:68) ● Read › Is allowed with default Read access on parent of container TypeError: Cannot read property 'recursiveDelete' of undefined 52 | 53 | afterEach(() => { > 54 | return solidLogicAlice.recursiveDelete(testFolderUrl); | ^ 55 | }); 56 | it('Is allowed with accessTo Read access on non-container resource', async () => { 57 | const resourceUrl = `${testFolderUrl}1/test.txt`; at Object. (test/surface/read.test.ts:54:28) ● Read › Is disallowed with default Append+Write+Control access on parent of non-container Please make sure the cookie is valid, and add "https://tester" as a trusted app! at Object.getAuthFetcher (node_modules/solid-auth-fetcher/src/obtainAuthHeaders.ts:51:13) ● Read › Is disallowed with default Append+Write+Control access on parent of non-container TypeError: Cannot read property 'fetch' of undefined 228 | const resourceUrl = `${containerUrl}test/`; 229 | // This will do mkdir-p: > 230 | const creationResult = await solidLogicAlice.fetch(`${resourceUrl}.dummy`, { | ^ 231 | method: 'PUT', 232 | body: '<#hello> <#linked> <#world> .', 233 | headers: { at test/surface/read.test.ts:230:51 at step (test/surface/read.test.ts:33:23) at Object.next (test/surface/read.test.ts:14:53) at test/surface/read.test.ts:8:71 at Object..__awaiter (test/surface/read.test.ts:4:12) at Object. (test/surface/read.test.ts:226:91) ● Read › Is disallowed with default Append+Write+Control access on parent of non-container TypeError: Cannot read property 'recursiveDelete' of undefined 52 | 53 | afterEach(() => { > 54 | return solidLogicAlice.recursiveDelete(testFolderUrl); | ^ 55 | }); 56 | it('Is allowed with accessTo Read access on non-container resource', async () => { 57 | const resourceUrl = `${testFolderUrl}1/test.txt`; at Object. (test/surface/read.test.ts:54:28) ```
- `test/surface/read-logged_in.test.ts`
``` ● Console console.warn Adding slash to the end of ALICE's storage root ->"https://server/storage"+"/" 25 | let storageRoot = getEnvVars(who).storageRoot; 26 | if (storageRoot.substr(-1) !== '/') { > 27 | console.warn(`Adding slash to the end of ${who}'s storage root ->"${storageRoot}"+"/"`); | ^ 28 | storageRoot += '/'; 29 | } 30 | const testFolder = `web-access-control-tests-${new Date().getTime()}`; at Object.generateTestFolder (test/helpers/env.ts:27:13) at Suite. (test/surface/read-logged_in.test.ts:44:29) at Object. (test/surface/read-logged_in.test.ts:36:1) ● Read-LoggedIn › Is allowed with accessTo Read access on non-container resource Please make sure the cookie is valid, and add "https://tester" as a trusted app! at Object.getAuthFetcher (node_modules/solid-auth-fetcher/src/obtainAuthHeaders.ts:51:13) ● Read-LoggedIn › Is allowed with accessTo Read access on non-container resource TypeError: Cannot read property 'fetch' of undefined 55 | const resourceUrl = `${testFolderUrl}1/test.txt`; 56 | // This will do mkdir-p: > 57 | const creationResult = await solidLogicAlice.fetch(resourceUrl, { | ^ 58 | method: 'PUT', 59 | body: '<#hello> <#linked> <#world> .', 60 | headers: { at test/surface/read-logged_in.test.ts:57:51 at step (test/surface/read-logged_in.test.ts:33:23) at Object.next (test/surface/read-logged_in.test.ts:14:53) at test/surface/read-logged_in.test.ts:8:71 at Object..__awaiter (test/surface/read-logged_in.test.ts:4:12) at Object. (test/surface/read-logged_in.test.ts:54:72) ● Read-LoggedIn › Is allowed with accessTo Read access on non-container resource TypeError: Cannot read property 'recursiveDelete' of undefined 50 | 51 | afterEach(() => { > 52 | return solidLogicAlice.recursiveDelete(testFolderUrl); | ^ 53 | }); 54 | it('Is allowed with accessTo Read access on non-container resource', async () => { 55 | const resourceUrl = `${testFolderUrl}1/test.txt`; at Object. (test/surface/read-logged_in.test.ts:52:28) ● Read-LoggedIn › Is disallowed with accessTo Append+Write+Control access on non-container resource Please make sure the cookie is valid, and add "https://tester" as a trusted app! at Object.getAuthFetcher (node_modules/solid-auth-fetcher/src/obtainAuthHeaders.ts:51:13) ● Read-LoggedIn › Is disallowed with accessTo Append+Write+Control access on non-container resource TypeError: Cannot read property 'fetch' of undefined 78 | const resourceUrl = `${testFolderUrl}2/test.txt`; 79 | // This will do mkdir-p: > 80 | const creationResult = await solidLogicAlice.fetch(resourceUrl, { | ^ 81 | method: 'PUT', 82 | body: '<#hello> <#linked> <#world> .', 83 | headers: { at test/surface/read-logged_in.test.ts:80:51 at step (test/surface/read-logged_in.test.ts:33:23) at Object.next (test/surface/read-logged_in.test.ts:14:53) at test/surface/read-logged_in.test.ts:8:71 at Object..__awaiter (test/surface/read-logged_in.test.ts:4:12) at Object. (test/surface/read-logged_in.test.ts:77:91) ● Read-LoggedIn › Is disallowed with accessTo Append+Write+Control access on non-container resource TypeError: Cannot read property 'recursiveDelete' of undefined 50 | 51 | afterEach(() => { > 52 | return solidLogicAlice.recursiveDelete(testFolderUrl); | ^ 53 | }); 54 | it('Is allowed with accessTo Read access on non-container resource', async () => { 55 | const resourceUrl = `${testFolderUrl}1/test.txt`; at Object. (test/surface/read-logged_in.test.ts:52:28) ● Read-LoggedIn › Is allowed with default Read access on parent of non-container Please make sure the cookie is valid, and add "https://tester" as a trusted app! at Object.getAuthFetcher (node_modules/solid-auth-fetcher/src/obtainAuthHeaders.ts:51:13) ● Read-LoggedIn › Is allowed with default Read access on parent of non-container TypeError: Cannot read property 'fetch' of undefined 104 | const resourceUrl = `${containerUrl}test.txt`; 105 | // This will do mkdir-p: > 106 | const creationResult = await solidLogicAlice.fetch(resourceUrl, { | ^ 107 | method: 'PUT', 108 | body: '<#hello> <#linked> <#world> .', 109 | headers: { at test/surface/read-logged_in.test.ts:106:51 at step (test/surface/read-logged_in.test.ts:33:23) at Object.next (test/surface/read-logged_in.test.ts:14:53) at test/surface/read-logged_in.test.ts:8:71 at Object..__awaiter (test/surface/read-logged_in.test.ts:4:12) at Object. (test/surface/read-logged_in.test.ts:102:72) ● Read-LoggedIn › Is allowed with default Read access on parent of non-container TypeError: Cannot read property 'recursiveDelete' of undefined 50 | 51 | afterEach(() => { > 52 | return solidLogicAlice.recursiveDelete(testFolderUrl); | ^ 53 | }); 54 | it('Is allowed with accessTo Read access on non-container resource', async () => { 55 | const resourceUrl = `${testFolderUrl}1/test.txt`; at Object. (test/surface/read-logged_in.test.ts:52:28) ● Read-LoggedIn › Is disallowed with default Append+Write+Control access on parent of non-container Please make sure the cookie is valid, and add "https://tester" as a trusted app! at Object.getAuthFetcher (node_modules/solid-auth-fetcher/src/obtainAuthHeaders.ts:51:13) ● Read-LoggedIn › Is disallowed with default Append+Write+Control access on parent of non-container TypeError: Cannot read property 'fetch' of undefined 128 | const resourceUrl = `${containerUrl}test.txt`; 129 | // This will do mkdir-p: > 130 | const creationResult = await solidLogicAlice.fetch(resourceUrl, { | ^ 131 | method: 'PUT', 132 | body: '<#hello> <#linked> <#world> .', 133 | headers: { at test/surface/read-logged_in.test.ts:130:51 at step (test/surface/read-logged_in.test.ts:33:23) at Object.next (test/surface/read-logged_in.test.ts:14:53) at test/surface/read-logged_in.test.ts:8:71 at Object..__awaiter (test/surface/read-logged_in.test.ts:4:12) at Object. (test/surface/read-logged_in.test.ts:126:91) ● Read-LoggedIn › Is disallowed with default Append+Write+Control access on parent of non-container TypeError: Cannot read property 'recursiveDelete' of undefined 50 | 51 | afterEach(() => { > 52 | return solidLogicAlice.recursiveDelete(testFolderUrl); | ^ 53 | }); 54 | it('Is allowed with accessTo Read access on non-container resource', async () => { 55 | const resourceUrl = `${testFolderUrl}1/test.txt`; at Object. (test/surface/read-logged_in.test.ts:52:28) ● Read-LoggedIn › Is allowed with accessTo Read access on container resource Please make sure the cookie is valid, and add "https://tester" as a trusted app! at Object.getAuthFetcher (node_modules/solid-auth-fetcher/src/obtainAuthHeaders.ts:51:13) ● Read-LoggedIn › Is allowed with accessTo Read access on container resource TypeError: Cannot read property 'fetch' of undefined 152 | const resourceUrl = `${testFolderUrl}5/test/`; 153 | // This will do mkdir-p: > 154 | const creationResult = await solidLogicAlice.fetch(`${resourceUrl}.dummy`, { | ^ 155 | method: 'PUT', 156 | body: '<#hello> <#linked> <#world> .', 157 | headers: { at test/surface/read-logged_in.test.ts:154:51 at step (test/surface/read-logged_in.test.ts:33:23) at Object.next (test/surface/read-logged_in.test.ts:14:53) at test/surface/read-logged_in.test.ts:8:71 at Object..__awaiter (test/surface/read-logged_in.test.ts:4:12) at Object. (test/surface/read-logged_in.test.ts:151:68) ● Read-LoggedIn › Is allowed with accessTo Read access on container resource TypeError: Cannot read property 'recursiveDelete' of undefined 50 | 51 | afterEach(() => { > 52 | return solidLogicAlice.recursiveDelete(testFolderUrl); | ^ 53 | }); 54 | it('Is allowed with accessTo Read access on non-container resource', async () => { 55 | const resourceUrl = `${testFolderUrl}1/test.txt`; at Object. (test/surface/read-logged_in.test.ts:52:28) ● Read-LoggedIn › Is disallowed with accessTo Append+Write+Control access on non-container resource Please make sure the cookie is valid, and add "https://tester" as a trusted app! at Object.getAuthFetcher (node_modules/solid-auth-fetcher/src/obtainAuthHeaders.ts:51:13) ● Read-LoggedIn › Is disallowed with accessTo Append+Write+Control access on non-container resource TypeError: Cannot read property 'fetch' of undefined 176 | const resourceUrl = `${testFolderUrl}6/test/`; 177 | // This will do mkdir-p: > 178 | const creationResult = await solidLogicAlice.fetch(`${resourceUrl}.dummy`, { | ^ 179 | method: 'PUT', 180 | body: '<#hello> <#linked> <#world> .', 181 | headers: { at test/surface/read-logged_in.test.ts:178:51 at step (test/surface/read-logged_in.test.ts:33:23) at Object.next (test/surface/read-logged_in.test.ts:14:53) at test/surface/read-logged_in.test.ts:8:71 at Object..__awaiter (test/surface/read-logged_in.test.ts:4:12) at Object. (test/surface/read-logged_in.test.ts:175:91) ● Read-LoggedIn › Is disallowed with accessTo Append+Write+Control access on non-container resource TypeError: Cannot read property 'recursiveDelete' of undefined 50 | 51 | afterEach(() => { > 52 | return solidLogicAlice.recursiveDelete(testFolderUrl); | ^ 53 | }); 54 | it('Is allowed with accessTo Read access on non-container resource', async () => { 55 | const resourceUrl = `${testFolderUrl}1/test.txt`; at Object. (test/surface/read-logged_in.test.ts:52:28) ● Read-LoggedIn › Is allowed with default Read access on parent of container Please make sure the cookie is valid, and add "https://tester" as a trusted app! at Object.getAuthFetcher (node_modules/solid-auth-fetcher/src/obtainAuthHeaders.ts:51:13) ● Read-LoggedIn › Is allowed with default Read access on parent of container TypeError: Cannot read property 'fetch' of undefined 201 | const resourceUrl = `${containerUrl}test/`; 202 | // This will do mkdir-p: > 203 | const creationResult = await solidLogicAlice.fetch(`${resourceUrl}.dummy`, { | ^ 204 | method: 'PUT', 205 | body: '<#hello> <#linked> <#world> .', 206 | headers: { at test/surface/read-logged_in.test.ts:203:51 at step (test/surface/read-logged_in.test.ts:33:23) at Object.next (test/surface/read-logged_in.test.ts:14:53) at test/surface/read-logged_in.test.ts:8:71 at Object..__awaiter (test/surface/read-logged_in.test.ts:4:12) at Object. (test/surface/read-logged_in.test.ts:199:68) ● Read-LoggedIn › Is allowed with default Read access on parent of container TypeError: Cannot read property 'recursiveDelete' of undefined 50 | 51 | afterEach(() => { > 52 | return solidLogicAlice.recursiveDelete(testFolderUrl); | ^ 53 | }); 54 | it('Is allowed with accessTo Read access on non-container resource', async () => { 55 | const resourceUrl = `${testFolderUrl}1/test.txt`; at Object. (test/surface/read-logged_in.test.ts:52:28) ● Read-LoggedIn › Is disallowed with default Append+Write+Control access on parent of non-container Please make sure the cookie is valid, and add "https://tester" as a trusted app! at Object.getAuthFetcher (node_modules/solid-auth-fetcher/src/obtainAuthHeaders.ts:51:13) ● Read-LoggedIn › Is disallowed with default Append+Write+Control access on parent of non-container TypeError: Cannot read property 'fetch' of undefined 226 | const resourceUrl = `${containerUrl}test/`; 227 | // This will do mkdir-p: > 228 | const creationResult = await solidLogicAlice.fetch(`${resourceUrl}.dummy`, { | ^ 229 | method: 'PUT', 230 | body: '<#hello> <#linked> <#world> .', 231 | headers: { at test/surface/read-logged_in.test.ts:228:51 at step (test/surface/read-logged_in.test.ts:33:23) at Object.next (test/surface/read-logged_in.test.ts:14:53) at test/surface/read-logged_in.test.ts:8:71 at Object..__awaiter (test/surface/read-logged_in.test.ts:4:12) at Object. (test/surface/read-logged_in.test.ts:224:91) ● Read-LoggedIn › Is disallowed with default Append+Write+Control access on parent of non-container TypeError: Cannot read property 'recursiveDelete' of undefined 50 | 51 | afterEach(() => { > 52 | return solidLogicAlice.recursiveDelete(testFolderUrl); | ^ 53 | }); 54 | it('Is allowed with accessTo Read access on non-container resource', async () => { 55 | const resourceUrl = `${testFolderUrl}1/test.txt`; at Object. (test/surface/read-logged_in.test.ts:52:28) ```
- `test/surface/wac-allow.test.ts`
``` ● Console console.warn Adding slash to the end of ALICE's storage root ->"https://server/storage"+"/" 25 | let storageRoot = getEnvVars(who).storageRoot; 26 | if (storageRoot.substr(-1) !== '/') { > 27 | console.warn(`Adding slash to the end of ${who}'s storage root ->"${storageRoot}"+"/"`); | ^ 28 | storageRoot += '/'; 29 | } 30 | const testFolder = `web-access-control-tests-${new Date().getTime()}`; at Object.generateTestFolder (test/helpers/env.ts:27:13) at Suite. (test/surface/wac-allow.test.ts:80:29) at Object. (test/surface/wac-allow.test.ts:72:1) console.warn Adding slash to the end of ALICE's storage root ->"https://server/storage"+"/" 25 | let storageRoot = getEnvVars(who).storageRoot; 26 | if (storageRoot.substr(-1) !== '/') { > 27 | console.warn(`Adding slash to the end of ${who}'s storage root ->"${storageRoot}"+"/"`); | ^ 28 | storageRoot += '/'; 29 | } 30 | const testFolder = `web-access-control-tests-${new Date().getTime()}`; at Object.generateTestFolder (test/helpers/env.ts:27:13) at Suite. (test/surface/wac-allow.test.ts:159:29) at Object. (test/surface/wac-allow.test.ts:151:1) ● From accessTo › Public accessTo Read › Shows the correct WAC-Allow header to Bob Please make sure the cookie is valid, and add "https://tester" as a trusted app! at Object.getAuthFetcher (node_modules/solid-auth-fetcher/src/obtainAuthHeaders.ts:51:13) ● From accessTo › Public accessTo Read › Shows the correct WAC-Allow header to Bob TypeError: Cannot read property 'fetch' of undefined 88 | const containerUrl = `${testFolderUrl}1/publicRead/`; 89 | // This will do mkdir-p: > 90 | await solidLogicAlice.fetch(`${containerUrl}test.txt`, { | ^ 91 | method: 'PUT', 92 | body: 'hello', 93 | headers: { at test/surface/wac-allow.test.ts:90:29 at step (test/surface/wac-allow.test.ts:33:23) at Object.next (test/surface/wac-allow.test.ts:14:53) at test/surface/wac-allow.test.ts:8:71 at Object..__awaiter (test/surface/wac-allow.test.ts:4:12) at Object. (test/surface/wac-allow.test.ts:87:15) ● From accessTo › Public accessTo Read › Shows the correct WAC-Allow header to Bob TypeError: Cannot read property 'fetch' of undefined 107 | }); 108 | it(`Shows the correct WAC-Allow header to Bob`, async () => { > 109 | const result = await solidLogicBob.fetch(`${testFolderUrl}1/publicRead/`); | ^ 110 | expect(sortWac(result.headers.get('WAC-Allow'))).toEqual(sortWac('user="read",public="read"')); 111 | }); 112 | it(`Shows the correct WAC-Allow header to the public`, async () => { at test/surface/wac-allow.test.ts:109:42 at step (test/surface/wac-allow.test.ts:33:23) at Object.next (test/surface/wac-allow.test.ts:14:53) at test/surface/wac-allow.test.ts:8:71 at Object..__awaiter (test/surface/wac-allow.test.ts:4:12) at Object. (test/surface/wac-allow.test.ts:108:53) ● From accessTo › Public accessTo Read › Shows the correct WAC-Allow header to the public Please make sure the cookie is valid, and add "https://tester" as a trusted app! at Object.getAuthFetcher (node_modules/solid-auth-fetcher/src/obtainAuthHeaders.ts:51:13) ● From accessTo › Public accessTo Read › Shows the correct WAC-Allow header to the public TypeError: Cannot read property 'fetch' of undefined 88 | const containerUrl = `${testFolderUrl}1/publicRead/`; 89 | // This will do mkdir-p: > 90 | await solidLogicAlice.fetch(`${containerUrl}test.txt`, { | ^ 91 | method: 'PUT', 92 | body: 'hello', 93 | headers: { at test/surface/wac-allow.test.ts:90:29 at step (test/surface/wac-allow.test.ts:33:23) at Object.next (test/surface/wac-allow.test.ts:14:53) at test/surface/wac-allow.test.ts:8:71 at Object..__awaiter (test/surface/wac-allow.test.ts:4:12) at Object. (test/surface/wac-allow.test.ts:87:15) ● From accessTo › Public accessTo Read+Append, Bob accessTo Write › Shows the correct WAC-Allow header to Bob Please make sure the cookie is valid, and add "https://tester" as a trusted app! at Object.getAuthFetcher (node_modules/solid-auth-fetcher/src/obtainAuthHeaders.ts:51:13) ● From accessTo › Public accessTo Read+Append, Bob accessTo Write › Shows the correct WAC-Allow header to Bob TypeError: Cannot read property 'fetch' of undefined 120 | const containerUrl = `${testFolderUrl}2/publicReadBobWrite/`; 121 | // This will do mkdir-p: > 122 | await solidLogicAlice.fetch(`${containerUrl}test.txt`, { | ^ 123 | method: 'PUT', 124 | body: 'hello', 125 | headers: { at test/surface/wac-allow.test.ts:122:29 at step (test/surface/wac-allow.test.ts:33:23) at Object.next (test/surface/wac-allow.test.ts:14:53) at test/surface/wac-allow.test.ts:8:71 at Object..__awaiter (test/surface/wac-allow.test.ts:4:12) at Object. (test/surface/wac-allow.test.ts:119:15) ● From accessTo › Public accessTo Read+Append, Bob accessTo Write › Shows the correct WAC-Allow header to Bob TypeError: Cannot read property 'fetch' of undefined 139 | }); 140 | it(`Shows the correct WAC-Allow header to Bob`, async () => { > 141 | const result = await solidLogicBob.fetch(`${testFolderUrl}2/publicReadBobWrite/`); | ^ 142 | expect(sortWac(result.headers.get('WAC-Allow'))).toEqual(sortWac('user="read write append",public="read append"')); 143 | }); 144 | it(`Shows the correct WAC-Allow header to the public`, async () => { at test/surface/wac-allow.test.ts:141:42 at step (test/surface/wac-allow.test.ts:33:23) at Object.next (test/surface/wac-allow.test.ts:14:53) at test/surface/wac-allow.test.ts:8:71 at Object..__awaiter (test/surface/wac-allow.test.ts:4:12) at Object. (test/surface/wac-allow.test.ts:140:53) ● From accessTo › Public accessTo Read+Append, Bob accessTo Write › Shows the correct WAC-Allow header to the public Please make sure the cookie is valid, and add "https://tester" as a trusted app! at Object.getAuthFetcher (node_modules/solid-auth-fetcher/src/obtainAuthHeaders.ts:51:13) ● From accessTo › Public accessTo Read+Append, Bob accessTo Write › Shows the correct WAC-Allow header to the public TypeError: Cannot read property 'fetch' of undefined 120 | const containerUrl = `${testFolderUrl}2/publicReadBobWrite/`; 121 | // This will do mkdir-p: > 122 | await solidLogicAlice.fetch(`${containerUrl}test.txt`, { | ^ 123 | method: 'PUT', 124 | body: 'hello', 125 | headers: { at test/surface/wac-allow.test.ts:122:29 at step (test/surface/wac-allow.test.ts:33:23) at Object.next (test/surface/wac-allow.test.ts:14:53) at test/surface/wac-allow.test.ts:8:71 at Object..__awaiter (test/surface/wac-allow.test.ts:4:12) at Object. (test/surface/wac-allow.test.ts:119:15) ● From accessTo › Public accessTo Read+Append, Bob accessTo Write › Shows the correct WAC-Allow header to the public expect(received).toEqual(expected) // deep equality - Expected - 2 + Received + 0 Object { "public": Array [ - "append", "read", ], "user": Array [ - "append", "read", ], } 144 | it(`Shows the correct WAC-Allow header to the public`, async () => { 145 | const result = await fetch(`${testFolderUrl}2/publicReadBobWrite/`); > 146 | expect(sortWac(result.headers.get('WAC-Allow'))).toEqual(sortWac('user="read append",public="read append"')); | ^ 147 | }); 148 | }); 149 | }); at test/surface/wac-allow.test.ts:146:56 at step (test/surface/wac-allow.test.ts:33:23) at Object.next (test/surface/wac-allow.test.ts:14:53) at fulfilled (test/surface/wac-allow.test.ts:5:58) ● From default › Public default Read+Append, Bob default Write › Shows the correct WAC-Allow header to Bob Please make sure the cookie is valid, and add "https://tester" as a trusted app! at Object.getAuthFetcher (node_modules/solid-auth-fetcher/src/obtainAuthHeaders.ts:51:13) ● From default › Public default Read+Append, Bob default Write › Shows the correct WAC-Allow header to Bob TypeError: Cannot read property 'fetch' of undefined 167 | const containerUrl = `${testFolderUrl}3/publicReadBobWrite/`; 168 | // This will do mkdir-p: > 169 | await solidLogicAlice.fetch(`${containerUrl}test.txt`, { | ^ 170 | method: 'PUT', 171 | body: 'hello', 172 | headers: { at test/surface/wac-allow.test.ts:169:29 at step (test/surface/wac-allow.test.ts:33:23) at Object.next (test/surface/wac-allow.test.ts:14:53) at test/surface/wac-allow.test.ts:8:71 at Object..__awaiter (test/surface/wac-allow.test.ts:4:12) at Object. (test/surface/wac-allow.test.ts:166:15) ● From default › Public default Read+Append, Bob default Write › Shows the correct WAC-Allow header to Bob TypeError: Cannot read property 'fetch' of undefined 186 | }); 187 | it(`Shows the correct WAC-Allow header to Bob`, async () => { > 188 | const result = await solidLogicBob.fetch(`${testFolderUrl}3/publicReadBobWrite/test.txt`); | ^ 189 | expect(sortWac(result.headers.get('WAC-Allow'))).toEqual(sortWac('user="read write append",public="read append"')); 190 | }); 191 | it(`Shows the correct WAC-Allow header to the public`, async () => { at test/surface/wac-allow.test.ts:188:42 at step (test/surface/wac-allow.test.ts:33:23) at Object.next (test/surface/wac-allow.test.ts:14:53) at test/surface/wac-allow.test.ts:8:71 at Object..__awaiter (test/surface/wac-allow.test.ts:4:12) at Object. (test/surface/wac-allow.test.ts:187:53) ● From default › Public default Read+Append, Bob default Write › Shows the correct WAC-Allow header to the public Please make sure the cookie is valid, and add "https://tester" as a trusted app! at Object.getAuthFetcher (node_modules/solid-auth-fetcher/src/obtainAuthHeaders.ts:51:13) ● From default › Public default Read+Append, Bob default Write › Shows the correct WAC-Allow header to the public TypeError: Cannot read property 'fetch' of undefined 167 | const containerUrl = `${testFolderUrl}3/publicReadBobWrite/`; 168 | // This will do mkdir-p: > 169 | await solidLogicAlice.fetch(`${containerUrl}test.txt`, { | ^ 170 | method: 'PUT', 171 | body: 'hello', 172 | headers: { at test/surface/wac-allow.test.ts:169:29 at step (test/surface/wac-allow.test.ts:33:23) at Object.next (test/surface/wac-allow.test.ts:14:53) at test/surface/wac-allow.test.ts:8:71 at Object..__awaiter (test/surface/wac-allow.test.ts:4:12) at Object. (test/surface/wac-allow.test.ts:166:15) ● From default › Public default Read+Append, Bob default Write › Shows the correct WAC-Allow header to the public expect(received).toEqual(expected) // deep equality - Expected - 2 + Received + 0 Object { "public": Array [ - "append", "read", ], "user": Array [ - "append", "read", ], } 191 | it(`Shows the correct WAC-Allow header to the public`, async () => { 192 | const result = await fetch(`${testFolderUrl}3/publicReadBobWrite/test.txt`); > 193 | expect(sortWac(result.headers.get('WAC-Allow'))).toEqual(sortWac('user="read append",public="read append"')); | ^ 194 | }); 195 | }); 196 | }); at test/surface/wac-allow.test.ts:193:56 at step (test/surface/wac-allow.test.ts:33:23) at Object.next (test/surface/wac-allow.test.ts:14:53) at fulfilled (test/surface/wac-allow.test.ts:5:58) ```
- `test/surface/acl-doc-application.test.ts`
``` ● Console console.warn Adding slash to the end of ALICE's storage root ->"https://server/storage"+"/" 25 | let storageRoot = getEnvVars(who).storageRoot; 26 | if (storageRoot.substr(-1) !== '/') { > 27 | console.warn(`Adding slash to the end of ${who}'s storage root ->"${storageRoot}"+"/"`); | ^ 28 | storageRoot += '/'; 29 | } 30 | const testFolder = `web-access-control-tests-${new Date().getTime()}`; at Object.generateTestFolder (test/helpers/env.ts:27:13) at Suite. (test/surface/acl-doc-application.test.ts:42:31) at Suite. (test/surface/acl-doc-application.test.ts:41:3) console.warn Adding slash to the end of ALICE's storage root ->"https://server/storage"+"/" 25 | let storageRoot = getEnvVars(who).storageRoot; 26 | if (storageRoot.substr(-1) !== '/') { > 27 | console.warn(`Adding slash to the end of ${who}'s storage root ->"${storageRoot}"+"/"`); | ^ 28 | storageRoot += '/'; 29 | } 30 | const testFolder = `web-access-control-tests-${new Date().getTime()}`; at Object.generateTestFolder (test/helpers/env.ts:27:13) at Suite. (test/surface/acl-doc-application.test.ts:85:31) at Suite. (test/surface/acl-doc-application.test.ts:84:3) console.warn Adding slash to the end of ALICE's storage root ->"https://server/storage"+"/" 25 | let storageRoot = getEnvVars(who).storageRoot; 26 | if (storageRoot.substr(-1) !== '/') { > 27 | console.warn(`Adding slash to the end of ${who}'s storage root ->"${storageRoot}"+"/"`); | ^ 28 | storageRoot += '/'; 29 | } 30 | const testFolder = `web-access-control-tests-${new Date().getTime()}`; at Object.generateTestFolder (test/helpers/env.ts:27:13) at Suite. (test/surface/acl-doc-application.test.ts:128:31) at Suite. (test/surface/acl-doc-application.test.ts:127:3) ● ACL doc application › No access on container › does not allow GET denied/ Please make sure the cookie is valid, and add "https://tester" as a trusted app! at Object.getAuthFetcher (node_modules/solid-auth-fetcher/src/obtainAuthHeaders.ts:51:13) ● ACL doc application › No access on container › does not allow GET denied/ TypeError: Cannot read property 'fetch' of undefined 45 | beforeAll(async () => { 46 | // This will do mkdir-p: > 47 | await solidLogicAlice.fetch(`${testFolderUrl}denied/noAclDoc/noAclDoc.txt`, { | ^ 48 | method: 'PUT', 49 | body: 'hello' 50 | }); at test/surface/acl-doc-application.test.ts:47:29 at step (test/surface/acl-doc-application.test.ts:33:23) at Object.next (test/surface/acl-doc-application.test.ts:14:53) at test/surface/acl-doc-application.test.ts:8:71 at Object..__awaiter (test/surface/acl-doc-application.test.ts:4:12) at Object. (test/surface/acl-doc-application.test.ts:45:15) ● ACL doc application › No access on container › does not allow GET denied/ TypeError: Cannot read property 'fetch' of undefined 67 | 68 | it('does not allow GET denied/', async () => { > 69 | const result = await solidLogicBob.fetch(`${testFolderUrl}denied/`); | ^ 70 | expect(result.status).toEqual(403); 71 | }); 72 | at test/surface/acl-doc-application.test.ts:69:42 at step (test/surface/acl-doc-application.test.ts:33:23) at Object.next (test/surface/acl-doc-application.test.ts:14:53) at test/surface/acl-doc-application.test.ts:8:71 at Object..__awaiter (test/surface/acl-doc-application.test.ts:4:12) at Object. (test/surface/acl-doc-application.test.ts:68:38) ● ACL doc application › No access on container › does not allow GET denied/noAclDoc/ Please make sure the cookie is valid, and add "https://tester" as a trusted app! at Object.getAuthFetcher (node_modules/solid-auth-fetcher/src/obtainAuthHeaders.ts:51:13) ● ACL doc application › No access on container › does not allow GET denied/noAclDoc/ TypeError: Cannot read property 'fetch' of undefined 45 | beforeAll(async () => { 46 | // This will do mkdir-p: > 47 | await solidLogicAlice.fetch(`${testFolderUrl}denied/noAclDoc/noAclDoc.txt`, { | ^ 48 | method: 'PUT', 49 | body: 'hello' 50 | }); at test/surface/acl-doc-application.test.ts:47:29 at step (test/surface/acl-doc-application.test.ts:33:23) at Object.next (test/surface/acl-doc-application.test.ts:14:53) at test/surface/acl-doc-application.test.ts:8:71 at Object..__awaiter (test/surface/acl-doc-application.test.ts:4:12) at Object. (test/surface/acl-doc-application.test.ts:45:15) ● ACL doc application › No access on container › does not allow GET denied/noAclDoc/ TypeError: Cannot read property 'fetch' of undefined 72 | 73 | it('does not allow GET denied/noAclDoc/', async () => { > 74 | const result = await solidLogicBob.fetch(`${testFolderUrl}denied/noAclDoc/`); | ^ 75 | expect(result.status).toEqual(403); 76 | }); 77 | at test/surface/acl-doc-application.test.ts:74:42 at step (test/surface/acl-doc-application.test.ts:33:23) at Object.next (test/surface/acl-doc-application.test.ts:14:53) at test/surface/acl-doc-application.test.ts:8:71 at Object..__awaiter (test/surface/acl-doc-application.test.ts:4:12) at Object. (test/surface/acl-doc-application.test.ts:73:47) ● ACL doc application › No access on container › does not allow GET denied/noAclDoc/noAclDoc.txt Please make sure the cookie is valid, and add "https://tester" as a trusted app! at Object.getAuthFetcher (node_modules/solid-auth-fetcher/src/obtainAuthHeaders.ts:51:13) ● ACL doc application › No access on container › does not allow GET denied/noAclDoc/noAclDoc.txt TypeError: Cannot read property 'fetch' of undefined 45 | beforeAll(async () => { 46 | // This will do mkdir-p: > 47 | await solidLogicAlice.fetch(`${testFolderUrl}denied/noAclDoc/noAclDoc.txt`, { | ^ 48 | method: 'PUT', 49 | body: 'hello' 50 | }); at test/surface/acl-doc-application.test.ts:47:29 at step (test/surface/acl-doc-application.test.ts:33:23) at Object.next (test/surface/acl-doc-application.test.ts:14:53) at test/surface/acl-doc-application.test.ts:8:71 at Object..__awaiter (test/surface/acl-doc-application.test.ts:4:12) at Object. (test/surface/acl-doc-application.test.ts:45:15) ● ACL doc application › No access on container › does not allow GET denied/noAclDoc/noAclDoc.txt TypeError: Cannot read property 'fetch' of undefined 77 | 78 | it('does not allow GET denied/noAclDoc/noAclDoc.txt', async () => { > 79 | const result = await solidLogicBob.fetch(`${testFolderUrl}denied/noAclDoc/noAclDoc.txt`); | ^ 80 | expect(result.status).toEqual(403); 81 | }); 82 | }); at test/surface/acl-doc-application.test.ts:79:42 at step (test/surface/acl-doc-application.test.ts:33:23) at Object.next (test/surface/acl-doc-application.test.ts:14:53) at test/surface/acl-doc-application.test.ts:8:71 at Object..__awaiter (test/surface/acl-doc-application.test.ts:4:12) at Object. (test/surface/acl-doc-application.test.ts:78:59) ● ACL doc application › ACL doc with acl:accessTo on container › allows GET accessTo/ Please make sure the cookie is valid, and add "https://tester" as a trusted app! at Object.getAuthFetcher (node_modules/solid-auth-fetcher/src/obtainAuthHeaders.ts:51:13) ● ACL doc application › ACL doc with acl:accessTo on container › allows GET accessTo/ TypeError: Cannot read property 'fetch' of undefined 88 | beforeAll(async () => { 89 | // This will do mkdir-p: > 90 | await solidLogicAlice.fetch(`${containerUrl}noAclDoc/noAclDoc.txt`, { | ^ 91 | method: 'PUT', 92 | body: 'hello' 93 | }); at test/surface/acl-doc-application.test.ts:90:29 at step (test/surface/acl-doc-application.test.ts:33:23) at Object.next (test/surface/acl-doc-application.test.ts:14:53) at test/surface/acl-doc-application.test.ts:8:71 at Object..__awaiter (test/surface/acl-doc-application.test.ts:4:12) at Object. (test/surface/acl-doc-application.test.ts:88:15) ● ACL doc application › ACL doc with acl:accessTo on container › allows GET accessTo/ TypeError: Cannot read property 'fetch' of undefined 110 | 111 | it('allows GET accessTo/', async () => { > 112 | const result = await solidLogicBob.fetch(containerUrl); | ^ 113 | expect(responseCodeGroup(result.status)).toEqual("2xx"); 114 | }); 115 | at test/surface/acl-doc-application.test.ts:112:42 at step (test/surface/acl-doc-application.test.ts:33:23) at Object.next (test/surface/acl-doc-application.test.ts:14:53) at test/surface/acl-doc-application.test.ts:8:71 at Object..__awaiter (test/surface/acl-doc-application.test.ts:4:12) at Object. (test/surface/acl-doc-application.test.ts:111:32) ● ACL doc application › ACL doc with acl:accessTo on container › does not allow GET accessTo/noAclDoc/ Please make sure the cookie is valid, and add "https://tester" as a trusted app! at Object.getAuthFetcher (node_modules/solid-auth-fetcher/src/obtainAuthHeaders.ts:51:13) ● ACL doc application › ACL doc with acl:accessTo on container › does not allow GET accessTo/noAclDoc/ TypeError: Cannot read property 'fetch' of undefined 88 | beforeAll(async () => { 89 | // This will do mkdir-p: > 90 | await solidLogicAlice.fetch(`${containerUrl}noAclDoc/noAclDoc.txt`, { | ^ 91 | method: 'PUT', 92 | body: 'hello' 93 | }); at test/surface/acl-doc-application.test.ts:90:29 at step (test/surface/acl-doc-application.test.ts:33:23) at Object.next (test/surface/acl-doc-application.test.ts:14:53) at test/surface/acl-doc-application.test.ts:8:71 at Object..__awaiter (test/surface/acl-doc-application.test.ts:4:12) at Object. (test/surface/acl-doc-application.test.ts:88:15) ● ACL doc application › ACL doc with acl:accessTo on container › does not allow GET accessTo/noAclDoc/ TypeError: Cannot read property 'fetch' of undefined 115 | 116 | it('does not allow GET accessTo/noAclDoc/', async () => { > 117 | const result = await solidLogicBob.fetch(`${containerUrl}noAclDoc/`); | ^ 118 | expect(result.status).toEqual(403); 119 | }); 120 | at test/surface/acl-doc-application.test.ts:117:42 at step (test/surface/acl-doc-application.test.ts:33:23) at Object.next (test/surface/acl-doc-application.test.ts:14:53) at test/surface/acl-doc-application.test.ts:8:71 at Object..__awaiter (test/surface/acl-doc-application.test.ts:4:12) at Object. (test/surface/acl-doc-application.test.ts:116:49) ● ACL doc application › ACL doc with acl:accessTo on container › does not allow GET accessTo/noAclDoc/noAclDoc.txt Please make sure the cookie is valid, and add "https://tester" as a trusted app! at Object.getAuthFetcher (node_modules/solid-auth-fetcher/src/obtainAuthHeaders.ts:51:13) ● ACL doc application › ACL doc with acl:accessTo on container › does not allow GET accessTo/noAclDoc/noAclDoc.txt TypeError: Cannot read property 'fetch' of undefined 88 | beforeAll(async () => { 89 | // This will do mkdir-p: > 90 | await solidLogicAlice.fetch(`${containerUrl}noAclDoc/noAclDoc.txt`, { | ^ 91 | method: 'PUT', 92 | body: 'hello' 93 | }); at test/surface/acl-doc-application.test.ts:90:29 at step (test/surface/acl-doc-application.test.ts:33:23) at Object.next (test/surface/acl-doc-application.test.ts:14:53) at test/surface/acl-doc-application.test.ts:8:71 at Object..__awaiter (test/surface/acl-doc-application.test.ts:4:12) at Object. (test/surface/acl-doc-application.test.ts:88:15) ● ACL doc application › ACL doc with acl:accessTo on container › does not allow GET accessTo/noAclDoc/noAclDoc.txt TypeError: Cannot read property 'fetch' of undefined 120 | 121 | it('does not allow GET accessTo/noAclDoc/noAclDoc.txt', async () => { > 122 | const result = await solidLogicBob.fetch(`${containerUrl}noAclDoc/noAclDoc.txt`); | ^ 123 | expect(result.status).toEqual(403); 124 | }); 125 | }); at test/surface/acl-doc-application.test.ts:122:42 at step (test/surface/acl-doc-application.test.ts:33:23) at Object.next (test/surface/acl-doc-application.test.ts:14:53) at test/surface/acl-doc-application.test.ts:8:71 at Object..__awaiter (test/surface/acl-doc-application.test.ts:4:12) at Object. (test/surface/acl-doc-application.test.ts:121:61) ● ACL doc application › ACL doc with acl:default on container › does not allow GET accessTo/ Please make sure the cookie is valid, and add "https://tester" as a trusted app! at Object.getAuthFetcher (node_modules/solid-auth-fetcher/src/obtainAuthHeaders.ts:51:13) ● ACL doc application › ACL doc with acl:default on container › does not allow GET accessTo/ TypeError: Cannot read property 'fetch' of undefined 131 | beforeAll(async () => { 132 | // This will do mkdir-p: > 133 | await solidLogicAlice.fetch(`${containerUrl}noAclDoc/noAclDoc.txt`, { | ^ 134 | method: 'PUT', 135 | body: 'hello' 136 | }); at test/surface/acl-doc-application.test.ts:133:29 at step (test/surface/acl-doc-application.test.ts:33:23) at Object.next (test/surface/acl-doc-application.test.ts:14:53) at test/surface/acl-doc-application.test.ts:8:71 at Object..__awaiter (test/surface/acl-doc-application.test.ts:4:12) at Object. (test/surface/acl-doc-application.test.ts:131:15) ● ACL doc application › ACL doc with acl:default on container › does not allow GET accessTo/ TypeError: Cannot read property 'fetch' of undefined 152 | }); 153 | it('does not allow GET accessTo/', async () => { > 154 | const result = await solidLogicBob.fetch(containerUrl); | ^ 155 | expect(result.status).toEqual(403); 156 | }); 157 | at test/surface/acl-doc-application.test.ts:154:42 at step (test/surface/acl-doc-application.test.ts:33:23) at Object.next (test/surface/acl-doc-application.test.ts:14:53) at test/surface/acl-doc-application.test.ts:8:71 at Object..__awaiter (test/surface/acl-doc-application.test.ts:4:12) at Object. (test/surface/acl-doc-application.test.ts:153:40) ● ACL doc application › ACL doc with acl:default on container › allows GET accessTo/noAclDoc/ Please make sure the cookie is valid, and add "https://tester" as a trusted app! at Object.getAuthFetcher (node_modules/solid-auth-fetcher/src/obtainAuthHeaders.ts:51:13) ● ACL doc application › ACL doc with acl:default on container › allows GET accessTo/noAclDoc/ TypeError: Cannot read property 'fetch' of undefined 131 | beforeAll(async () => { 132 | // This will do mkdir-p: > 133 | await solidLogicAlice.fetch(`${containerUrl}noAclDoc/noAclDoc.txt`, { | ^ 134 | method: 'PUT', 135 | body: 'hello' 136 | }); at test/surface/acl-doc-application.test.ts:133:29 at step (test/surface/acl-doc-application.test.ts:33:23) at Object.next (test/surface/acl-doc-application.test.ts:14:53) at test/surface/acl-doc-application.test.ts:8:71 at Object..__awaiter (test/surface/acl-doc-application.test.ts:4:12) at Object. (test/surface/acl-doc-application.test.ts:131:15) ● ACL doc application › ACL doc with acl:default on container › allows GET accessTo/noAclDoc/ TypeError: Cannot read property 'fetch' of undefined 157 | 158 | it('allows GET accessTo/noAclDoc/', async () => { > 159 | const result = await solidLogicBob.fetch(`${containerUrl}noAclDoc/`); | ^ 160 | expect(responseCodeGroup(result.status)).toEqual("2xx"); 161 | }); 162 | at test/surface/acl-doc-application.test.ts:159:42 at step (test/surface/acl-doc-application.test.ts:33:23) at Object.next (test/surface/acl-doc-application.test.ts:14:53) at test/surface/acl-doc-application.test.ts:8:71 at Object..__awaiter (test/surface/acl-doc-application.test.ts:4:12) at Object. (test/surface/acl-doc-application.test.ts:158:41) ● ACL doc application › ACL doc with acl:default on container › allows GET accessTo/noAclDoc/noAclDoc.txt Please make sure the cookie is valid, and add "https://tester" as a trusted app! at Object.getAuthFetcher (node_modules/solid-auth-fetcher/src/obtainAuthHeaders.ts:51:13) ● ACL doc application › ACL doc with acl:default on container › allows GET accessTo/noAclDoc/noAclDoc.txt TypeError: Cannot read property 'fetch' of undefined 131 | beforeAll(async () => { 132 | // This will do mkdir-p: > 133 | await solidLogicAlice.fetch(`${containerUrl}noAclDoc/noAclDoc.txt`, { | ^ 134 | method: 'PUT', 135 | body: 'hello' 136 | }); at test/surface/acl-doc-application.test.ts:133:29 at step (test/surface/acl-doc-application.test.ts:33:23) at Object.next (test/surface/acl-doc-application.test.ts:14:53) at test/surface/acl-doc-application.test.ts:8:71 at Object..__awaiter (test/surface/acl-doc-application.test.ts:4:12) at Object. (test/surface/acl-doc-application.test.ts:131:15) ● ACL doc application › ACL doc with acl:default on container › allows GET accessTo/noAclDoc/noAclDoc.txt TypeError: Cannot read property 'fetch' of undefined 162 | 163 | it('allows GET accessTo/noAclDoc/noAclDoc.txt', async () => { > 164 | const result = await solidLogicBob.fetch(`${containerUrl}noAclDoc/noAclDoc.txt`); | ^ 165 | expect(responseCodeGroup(result.status)).toEqual("2xx"); 166 | }); 167 | }); at test/surface/acl-doc-application.test.ts:164:42 at step (test/surface/acl-doc-application.test.ts:33:23) at Object.next (test/surface/acl-doc-application.test.ts:14:53) at test/surface/acl-doc-application.test.ts:8:71 at Object..__awaiter (test/surface/acl-doc-application.test.ts:4:12) at Object. (test/surface/acl-doc-application.test.ts:163:53) ```
- `test/surface/delete.test.ts`
``` ● Console console.warn Adding slash to the end of ALICE's storage root ->"https://server/storage"+"/" 25 | let storageRoot = getEnvVars(who).storageRoot; 26 | if (storageRoot.substr(-1) !== '/') { > 27 | console.warn(`Adding slash to the end of ${who}'s storage root ->"${storageRoot}"+"/"`); | ^ 28 | storageRoot += '/'; 29 | } 30 | const testFolder = `web-access-control-tests-${new Date().getTime()}`; at Object.generateTestFolder (test/helpers/env.ts:27:13) at Suite. (test/surface/delete.test.ts:46:29) at Object. (test/surface/delete.test.ts:38:1) ● Delete › Is allowed with accessTo Write access on resource Please make sure the cookie is valid, and add "https://tester" as a trusted app! at Object.getAuthFetcher (node_modules/solid-auth-fetcher/src/obtainAuthHeaders.ts:51:13) ● Delete › Is allowed with accessTo Write access on resource TypeError: Cannot read property 'fetch' of undefined 58 | const resourceUrl = `${testFolderUrl}1/accessToAppend/test.txt`; 59 | // This will do mkdir-p: > 60 | const creationResult = await solidLogicAlice.fetch(resourceUrl, { | ^ 61 | method: 'PUT', 62 | body: '<#hello> <#linked> <#world> .', 63 | headers: { at test/surface/delete.test.ts:60:51 at step (test/surface/delete.test.ts:33:23) at Object.next (test/surface/delete.test.ts:14:53) at test/surface/delete.test.ts:8:71 at Object..__awaiter (test/surface/delete.test.ts:4:12) at Object. (test/surface/delete.test.ts:57:59) ● Delete › Is allowed with accessTo Write access on resource TypeError: Cannot read property 'recursiveDelete' of undefined 52 | 53 | afterEach(() => { > 54 | return solidLogicAlice.recursiveDelete(testFolderUrl); | ^ 55 | }); 56 | 57 | it('Is allowed with accessTo Write access on resource', async () => { at Object. (test/surface/delete.test.ts:54:28) ● Delete › Is disallowed with accessTo Read+Append+Control access on resource Please make sure the cookie is valid, and add "https://tester" as a trusted app! at Object.getAuthFetcher (node_modules/solid-auth-fetcher/src/obtainAuthHeaders.ts:51:13) ● Delete › Is disallowed with accessTo Read+Append+Control access on resource TypeError: Cannot read property 'fetch' of undefined 84 | const resourceUrl = `${testFolderUrl}2/accessToAppend/test.txt`; 85 | // This will do mkdir-p: > 86 | const creationResult = await solidLogicAlice.fetch(resourceUrl, { | ^ 87 | method: 'PUT', 88 | body: '<#hello> <#linked> <#world> .', 89 | headers: { at test/surface/delete.test.ts:86:51 at step (test/surface/delete.test.ts:33:23) at Object.next (test/surface/delete.test.ts:14:53) at test/surface/delete.test.ts:8:71 at Object..__awaiter (test/surface/delete.test.ts:4:12) at Object. (test/surface/delete.test.ts:83:76) ● Delete › Is disallowed with accessTo Read+Append+Control access on resource TypeError: Cannot read property 'recursiveDelete' of undefined 52 | 53 | afterEach(() => { > 54 | return solidLogicAlice.recursiveDelete(testFolderUrl); | ^ 55 | }); 56 | 57 | it('Is allowed with accessTo Write access on resource', async () => { at Object. (test/surface/delete.test.ts:54:28) ● Delete › Is allowed with default Write access on parent Please make sure the cookie is valid, and add "https://tester" as a trusted app! at Object.getAuthFetcher (node_modules/solid-auth-fetcher/src/obtainAuthHeaders.ts:51:13) ● Delete › Is allowed with default Write access on parent TypeError: Cannot read property 'fetch' of undefined 111 | const resourceUrl = `${containerUrl}test.txt`; 112 | // This will do mkdir-p: > 113 | const creationResult = await solidLogicAlice.fetch(resourceUrl, { | ^ 114 | method: 'PUT', 115 | body: '<#hello> <#linked> <#world> .', 116 | headers: { at test/surface/delete.test.ts:113:51 at step (test/surface/delete.test.ts:33:23) at Object.next (test/surface/delete.test.ts:14:53) at test/surface/delete.test.ts:8:71 at Object..__awaiter (test/surface/delete.test.ts:4:12) at Object. (test/surface/delete.test.ts:109:56) ● Delete › Is allowed with default Write access on parent TypeError: Cannot read property 'recursiveDelete' of undefined 52 | 53 | afterEach(() => { > 54 | return solidLogicAlice.recursiveDelete(testFolderUrl); | ^ 55 | }); 56 | 57 | it('Is allowed with accessTo Write access on resource', async () => { at Object. (test/surface/delete.test.ts:54:28) ● Delete › Is disallowed with default Read+Append+Control access on parent Please make sure the cookie is valid, and add "https://tester" as a trusted app! at Object.getAuthFetcher (node_modules/solid-auth-fetcher/src/obtainAuthHeaders.ts:51:13) ● Delete › Is disallowed with default Read+Append+Control access on parent TypeError: Cannot read property 'fetch' of undefined 138 | const resourceUrl = `${containerUrl}test.txt`; 139 | // This will do mkdir-p: > 140 | const creationResult = await solidLogicAlice.fetch(resourceUrl, { | ^ 141 | method: 'PUT', 142 | body: '<#hello> <#linked> <#world> .', 143 | headers: { at test/surface/delete.test.ts:140:51 at step (test/surface/delete.test.ts:33:23) at Object.next (test/surface/delete.test.ts:14:53) at test/surface/delete.test.ts:8:71 at Object..__awaiter (test/surface/delete.test.ts:4:12) at Object. (test/surface/delete.test.ts:136:73) ● Delete › Is disallowed with default Read+Append+Control access on parent TypeError: Cannot read property 'recursiveDelete' of undefined 52 | 53 | afterEach(() => { > 54 | return solidLogicAlice.recursiveDelete(testFolderUrl); | ^ 55 | }); 56 | 57 | it('Is allowed with accessTo Write access on resource', async () => { at Object. (test/surface/delete.test.ts:54:28) ```
- `test/surface/fetch-pod-root-acl.test.ts`
``` ● Alice's storage root › has an ACL Please make sure the cookie is valid, and add "https://tester" as a trusted app! at Object.getAuthFetcher (node_modules/solid-auth-fetcher/src/obtainAuthHeaders.ts:51:13) ● Alice's storage root › has an ACL TypeError: Cannot read property 'length' of undefined 15 | 16 | test("has an ACL", async () => { > 17 | expect(podRoots.length).toEqual(1); | ^ 18 | const aclDocUrl = await solidLogicAlice.findAclDocUrl(podRoots[0]); 19 | await solidLogicAlice.load(aclDocUrl); 20 | expect(solidLogicAlice.store.statementsMatching(undefined, undefined, undefined, sym(aclDocUrl)).length).toBeGreaterThan(0); at test/surface/fetch-pod-root-acl.test.ts:17:21 at step (test/surface/fetch-pod-root-acl.test.ts:33:23) at Object.next (test/surface/fetch-pod-root-acl.test.ts:14:53) at test/surface/fetch-pod-root-acl.test.ts:8:71 at Object..__awaiter (test/surface/fetch-pod-root-acl.test.ts:4:12) at Object. (test/surface/fetch-pod-root-acl.test.ts:16:22) ```

The webid-provider and solid-crud tests seem stable:

> webid-provider-tests@2.0.3 jest

Test Suites: 5 passed, 5 total
Tests:       36 passed, 36 total
Snapshots:   0 total
Time:        11.176 s
Ran all test suites.
> solid-crud-tests@5.1.0 jest

Test Suites: 1 skipped, 6 passed, 6 of 7 total
Tests:       11 skipped, 58 passed, 69 total
Snapshots:   0 total
Time:        50.789 s
Ran all test suites.
michielbdejong commented 2 years ago

For webid-provider-tests:v2.0.3 I see 36/36 passed.

For solid-crud-tests:v5.1.0 I see: Tests: 4 failed, 2 skipped, 63 passed, 69 total The 4 failed tests are related to concurrency.

For web-access-control-tests:v6.0.0 I see: Tests: 1 failed, 2 skipped, 88 passed, 91 total And that is the one that was changed in WAC tests v6.0;0

I'll create a PR to fix the last few failing tests!

michielbdejong commented 2 years ago

Let's see which tests pass in https://github.com/pdsinterop/php-solid-server/pull/53 What you described with Please make sure the cookie is valid being printed 83 times should be at least improved with that PR as well; if it was unable to get the cookie then it will detect that and exit early. In that case (here triggered artificially by stopping the server), this will be the output:

[...]
Status: Image is up to date for solidtestsuite/solid-crud-tests:v5.1.0
docker.io/solidtestsuite/solid-crud-tests:v5.1.0
v6.0.0: Pulling from solidtestsuite/web-access-control-tests
Digest: sha256:787d0bb4eee51e9e986a8d4c6c64f0b304cab071429d0f762928f428ba12e7b2
Status: Image is up to date for solidtestsuite/web-access-control-tests:v6.0.0
docker.io/solidtestsuite/web-access-control-tests:v6.0.0
Getting cookie for Alice...
(node:8) Warning: Setting the NODE_TLS_REJECT_UNAUTHORIZED environment variable to '0' makes TLS connections and HTTPS requests insecure by disabling certificate verification.
(Use `node --trace-warnings ...` to show where the warning was created)

/app/node_modules/node-fetch/lib/index.js:1461
            reject(new FetchError(`request to ${request.url} failed, reason: ${err.message}`, 'system', err));
                   ^
FetchError: request to https://server/login/ failed, reason: getaddrinfo EAI_AGAIN server
    at ClientRequest.<anonymous> (/app/node_modules/node-fetch/lib/index.js:1461:11)
    at ClientRequest.emit (node:events:390:28)
    at TLSSocket.socketErrorListener (node:_http_client:447:9)
    at TLSSocket.emit (node:events:390:28)
    at emitErrorNT (node:internal/streams/destroy:157:8)
    at emitErrorCloseNT (node:internal/streams/destroy:122:3)
    at processTicksAndRejections (node:internal/process/task_queues:83:21) {
  type: 'system',
  errno: 'EAI_AGAIN',
  code: 'EAI_AGAIN'
}
Error obtaining cookie for Alice, stopping.
michielbdejong commented 2 years ago

Hm, there's definitely something odd going on in the github actions - the solid crud tests pass when I run them locally with Docker, but not when they are run on GitHub Actions. Different Docker version maybe?

Potherca commented 2 years ago

The GitHub Action runs on ubuntu-latest which is 20.04. According to the environments docs the current versions are:

Docker Compose v1 1.29.2
Docker Compose v2 2.1.1+azure-1
Docker-Buildx 0.7.0
michielbdejong commented 1 year ago

@mrvahedi68 and I are running solid-crud-tests@5.3.0 now

michielbdejong commented 1 year ago

Result:

Test Suites: 2 failed, 5 passed, 7 total
Tests:       15 failed, 4 skipped, 42 passed, 61 total
michielbdejong commented 1 year ago
 docker run --rm --network=testnet --env COOKIE="$COOKIE" --env-file ./env-vars-for-test-image.list -it solid-crud-tests  bash
root@f49e78e84faa:/app# ./node_modules/.bin/jest test/surface/conneg.test.ts 
(node:117) Warning: Setting the NODE_TLS_REJECT_UNAUTHORIZED environment variable to '0' makes TLS connections and HTTPS requests insecure by disabling certificate verification.
(Use `node --trace-warnings ...` to show where the warning was created)
 PASS  test/surface/conneg.test.ts

Test Suites: 1 passed, 1 total
Tests:       2 skipped, 4 passed, 6 total
Snapshots:   0 total
Time:        6.969 s
Ran all test suites matching /test\/surface\/conneg.test.ts/i.
michielbdejong commented 1 year ago