Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix broken surface tests #52

Open
Tracked by #51
Potherca opened this issue Nov 12, 2021 · 8 comments · May be fixed by #67
Open
Tracked by #51

Fix broken surface tests #52

Potherca opened this issue Nov 12, 2021 · 8 comments · May be fixed by #67
Assignees

Comments

@Potherca
Copy link
Member

Potherca commented Nov 12, 2021

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.<anonymous> (test/surface/update.test.ts:46:29)
           at Object.<anonymous> (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.<anonymous>.__awaiter (test/surface/update.test.ts:4:12)
           at Object.<anonymous> (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.<anonymous> (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.<anonymous>.__awaiter (test/surface/update.test.ts:4:12)
           at Object.<anonymous> (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.<anonymous> (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.<anonymous>.__awaiter (test/surface/update.test.ts:4:12)
           at Object.<anonymous> (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.<anonymous> (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.<anonymous>.__awaiter (test/surface/update.test.ts:4:12)
           at Object.<anonymous> (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.<anonymous> (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.<anonymous>.__awaiter (test/surface/update.test.ts:4:12)
           at Object.<anonymous> (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.<anonymous> (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.<anonymous>.__awaiter (test/surface/update.test.ts:4:12)
           at Object.<anonymous> (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.<anonymous> (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.<anonymous>.__awaiter (test/surface/update.test.ts:4:12)
           at Object.<anonymous> (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.<anonymous> (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.<anonymous>.__awaiter (test/surface/update.test.ts:4:12)
           at Object.<anonymous> (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.<anonymous> (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.<anonymous>.__awaiter (test/surface/update.test.ts:4:12)
           at Object.<anonymous> (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.<anonymous> (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.<anonymous>.__awaiter (test/surface/update.test.ts:4:12)
           at Object.<anonymous> (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.<anonymous> (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.<anonymous>.__awaiter (test/surface/update.test.ts:4:12)
           at Object.<anonymous> (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.<anonymous> (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.<anonymous>.__awaiter (test/surface/update.test.ts:4:12)
           at Object.<anonymous> (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.<anonymous> (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.<anonymous>.__awaiter (test/surface/update.test.ts:4:12)
           at Object.<anonymous> (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.<anonymous> (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.<anonymous>.__awaiter (test/surface/update.test.ts:4:12)
           at Object.<anonymous> (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.<anonymous> (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.<anonymous>.__awaiter (test/surface/update.test.ts:4:12)
           at Object.<anonymous> (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.<anonymous> (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.<anonymous>.__awaiter (test/surface/update.test.ts:4:12)
           at Object.<anonymous> (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.<anonymous> (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.<anonymous>.__awaiter (test/surface/update.test.ts:4:12)
           at Object.<anonymous> (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.<anonymous> (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.<anonymous>.__awaiter (test/surface/update.test.ts:4:12)
           at Object.<anonymous> (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.<anonymous> (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.<anonymous>.__awaiter (test/surface/update.test.ts:4:12)
           at Object.<anonymous> (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.<anonymous> (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.<anonymous>.__awaiter (test/surface/update.test.ts:4:12)
           at Object.<anonymous> (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.<anonymous> (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.<anonymous> (test/surface/create.test.ts:46:29)
          at Object.<anonymous> (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.<anonymous>.__awaiter (test/surface/create.test.ts:4:12)
          at Object.<anonymous> (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.<anonymous> (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.<anonymous>.__awaiter (test/surface/create.test.ts:4:12)
          at Object.<anonymous> (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.<anonymous> (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.<anonymous>.__awaiter (test/surface/create.test.ts:4:12)
          at Object.<anonymous> (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.<anonymous> (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.<anonymous>.__awaiter (test/surface/create.test.ts:4:12)
          at Object.<anonymous> (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.<anonymous> (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.<anonymous>.__awaiter (test/surface/create.test.ts:4:12)
          at Object.<anonymous> (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.<anonymous> (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.<anonymous>.__awaiter (test/surface/create.test.ts:4:12)
          at Object.<anonymous> (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.<anonymous> (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.<anonymous>.__awaiter (test/surface/create.test.ts:4:12)
          at Object.<anonymous> (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.<anonymous> (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.<anonymous>.__awaiter (test/surface/create.test.ts:4:12)
          at Object.<anonymous> (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.<anonymous> (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.<anonymous>.__awaiter (test/surface/create.test.ts:4:12)
          at Object.<anonymous> (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.<anonymous> (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.<anonymous>.__awaiter (test/surface/create.test.ts:4:12)
          at Object.<anonymous> (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.<anonymous> (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.<anonymous>.__awaiter (test/surface/create.test.ts:4:12)
          at Object.<anonymous> (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.<anonymous> (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.<anonymous>.__awaiter (test/surface/create.test.ts:4:12)
          at Object.<anonymous> (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.<anonymous> (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.<anonymous>.__awaiter (test/surface/create.test.ts:4:12)
          at Object.<anonymous> (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.<anonymous> (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.<anonymous>.__awaiter (test/surface/create.test.ts:4:12)
          at Object.<anonymous> (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.<anonymous> (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.<anonymous>.__awaiter (test/surface/create.test.ts:4:12)
          at Object.<anonymous> (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.<anonymous> (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.<anonymous>.__awaiter (test/surface/create.test.ts:4:12)
          at Object.<anonymous> (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.<anonymous> (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.<anonymous>.__awaiter (test/surface/create.test.ts:4:12)
          at Object.<anonymous> (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.<anonymous> (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.<anonymous>.__awaiter (test/surface/create.test.ts:4:12)
          at Object.<anonymous> (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.<anonymous> (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.<anonymous>.__awaiter (test/surface/create.test.ts:4:12)
          at Object.<anonymous> (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.<anonymous> (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.<anonymous> (test/surface/read-public.test.ts:46:29)
          at Object.<anonymous> (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.<anonymous>.__awaiter (test/surface/read-public.test.ts:4:12)
          at Object.<anonymous> (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.<anonymous> (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.<anonymous>.__awaiter (test/surface/read-public.test.ts:4:12)
          at Object.<anonymous> (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.<anonymous> (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.<anonymous>.__awaiter (test/surface/read-public.test.ts:4:12)
          at Object.<anonymous> (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.<anonymous> (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.<anonymous>.__awaiter (test/surface/read-public.test.ts:4:12)
          at Object.<anonymous> (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.<anonymous> (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.<anonymous>.__awaiter (test/surface/read-public.test.ts:4:12)
          at Object.<anonymous> (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.<anonymous> (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.<anonymous>.__awaiter (test/surface/read-public.test.ts:4:12)
          at Object.<anonymous> (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.<anonymous> (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.<anonymous>.__awaiter (test/surface/read-public.test.ts:4:12)
          at Object.<anonymous> (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.<anonymous> (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.<anonymous>.__awaiter (test/surface/read-public.test.ts:4:12)
          at Object.<anonymous> (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.<anonymous> (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.<anonymous> (test/surface/read.test.ts:46:29)
          at Object.<anonymous> (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.<anonymous>.__awaiter (test/surface/read.test.ts:4:12)
          at Object.<anonymous> (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.<anonymous> (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.<anonymous>.__awaiter (test/surface/read.test.ts:4:12)
          at Object.<anonymous> (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.<anonymous> (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.<anonymous>.__awaiter (test/surface/read.test.ts:4:12)
          at Object.<anonymous> (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.<anonymous> (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.<anonymous>.__awaiter (test/surface/read.test.ts:4:12)
          at Object.<anonymous> (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.<anonymous> (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.<anonymous>.__awaiter (test/surface/read.test.ts:4:12)
          at Object.<anonymous> (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.<anonymous> (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.<anonymous>.__awaiter (test/surface/read.test.ts:4:12)
          at Object.<anonymous> (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.<anonymous> (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.<anonymous>.__awaiter (test/surface/read.test.ts:4:12)
          at Object.<anonymous> (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.<anonymous> (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.<anonymous>.__awaiter (test/surface/read.test.ts:4:12)
          at Object.<anonymous> (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.<anonymous> (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.<anonymous> (test/surface/read-logged_in.test.ts:44:29)
          at Object.<anonymous> (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.<anonymous>.__awaiter (test/surface/read-logged_in.test.ts:4:12)
          at Object.<anonymous> (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.<anonymous> (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.<anonymous>.__awaiter (test/surface/read-logged_in.test.ts:4:12)
          at Object.<anonymous> (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.<anonymous> (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.<anonymous>.__awaiter (test/surface/read-logged_in.test.ts:4:12)
          at Object.<anonymous> (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.<anonymous> (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.<anonymous>.__awaiter (test/surface/read-logged_in.test.ts:4:12)
          at Object.<anonymous> (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.<anonymous> (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.<anonymous>.__awaiter (test/surface/read-logged_in.test.ts:4:12)
          at Object.<anonymous> (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.<anonymous> (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.<anonymous>.__awaiter (test/surface/read-logged_in.test.ts:4:12)
          at Object.<anonymous> (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.<anonymous> (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.<anonymous>.__awaiter (test/surface/read-logged_in.test.ts:4:12)
          at Object.<anonymous> (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.<anonymous> (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.<anonymous>.__awaiter (test/surface/read-logged_in.test.ts:4:12)
          at Object.<anonymous> (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.<anonymous> (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.<anonymous> (test/surface/wac-allow.test.ts:80:29)
          at Object.<anonymous> (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.<anonymous> (test/surface/wac-allow.test.ts:159:29)
          at Object.<anonymous> (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.<anonymous>.__awaiter (test/surface/wac-allow.test.ts:4:12)
          at Object.<anonymous> (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.<anonymous>.__awaiter (test/surface/wac-allow.test.ts:4:12)
          at Object.<anonymous> (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.<anonymous>.__awaiter (test/surface/wac-allow.test.ts:4:12)
          at Object.<anonymous> (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.<anonymous>.__awaiter (test/surface/wac-allow.test.ts:4:12)
          at Object.<anonymous> (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.<anonymous>.__awaiter (test/surface/wac-allow.test.ts:4:12)
          at Object.<anonymous> (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.<anonymous>.__awaiter (test/surface/wac-allow.test.ts:4:12)
          at Object.<anonymous> (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.<anonymous>.__awaiter (test/surface/wac-allow.test.ts:4:12)
          at Object.<anonymous> (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.<anonymous>.__awaiter (test/surface/wac-allow.test.ts:4:12)
          at Object.<anonymous> (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.<anonymous>.__awaiter (test/surface/wac-allow.test.ts:4:12)
          at Object.<anonymous> (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.<anonymous> (test/surface/acl-doc-application.test.ts:42:31)
            at Suite.<anonymous> (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.<anonymous> (test/surface/acl-doc-application.test.ts:85:31)
            at Suite.<anonymous> (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.<anonymous> (test/surface/acl-doc-application.test.ts:128:31)
            at Suite.<anonymous> (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.<anonymous>.__awaiter (test/surface/acl-doc-application.test.ts:4:12)
            at Object.<anonymous> (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.<anonymous>.__awaiter (test/surface/acl-doc-application.test.ts:4:12)
            at Object.<anonymous> (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.<anonymous>.__awaiter (test/surface/acl-doc-application.test.ts:4:12)
            at Object.<anonymous> (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.<anonymous>.__awaiter (test/surface/acl-doc-application.test.ts:4:12)
            at Object.<anonymous> (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.<anonymous>.__awaiter (test/surface/acl-doc-application.test.ts:4:12)
            at Object.<anonymous> (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.<anonymous>.__awaiter (test/surface/acl-doc-application.test.ts:4:12)
            at Object.<anonymous> (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.<anonymous>.__awaiter (test/surface/acl-doc-application.test.ts:4:12)
            at Object.<anonymous> (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.<anonymous>.__awaiter (test/surface/acl-doc-application.test.ts:4:12)
            at Object.<anonymous> (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.<anonymous>.__awaiter (test/surface/acl-doc-application.test.ts:4:12)
            at Object.<anonymous> (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.<anonymous>.__awaiter (test/surface/acl-doc-application.test.ts:4:12)
            at Object.<anonymous> (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.<anonymous>.__awaiter (test/surface/acl-doc-application.test.ts:4:12)
            at Object.<anonymous> (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.<anonymous>.__awaiter (test/surface/acl-doc-application.test.ts:4:12)
            at Object.<anonymous> (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.<anonymous>.__awaiter (test/surface/acl-doc-application.test.ts:4:12)
            at Object.<anonymous> (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.<anonymous>.__awaiter (test/surface/acl-doc-application.test.ts:4:12)
            at Object.<anonymous> (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.<anonymous>.__awaiter (test/surface/acl-doc-application.test.ts:4:12)
            at Object.<anonymous> (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.<anonymous>.__awaiter (test/surface/acl-doc-application.test.ts:4:12)
            at Object.<anonymous> (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.<anonymous>.__awaiter (test/surface/acl-doc-application.test.ts:4:12)
            at Object.<anonymous> (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.<anonymous>.__awaiter (test/surface/acl-doc-application.test.ts:4:12)
            at Object.<anonymous> (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.<anonymous> (test/surface/delete.test.ts:46:29)
            at Object.<anonymous> (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.<anonymous>.__awaiter (test/surface/delete.test.ts:4:12)
            at Object.<anonymous> (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.<anonymous> (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.<anonymous>.__awaiter (test/surface/delete.test.ts:4:12)
            at Object.<anonymous> (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.<anonymous> (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.<anonymous>.__awaiter (test/surface/delete.test.ts:4:12)
            at Object.<anonymous> (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.<anonymous> (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.<anonymous>.__awaiter (test/surface/delete.test.ts:4:12)
            at Object.<anonymous> (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.<anonymous> (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.<anonymous>.__awaiter (test/surface/fetch-pod-root-acl.test.ts:4:12)
          at Object.<anonymous> (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.
@Potherca Potherca added this to the v0.6.0 milestone Nov 12, 2021
@Potherca Potherca mentioned this issue Nov 12, 2021
6 tasks
@michielbdejong
Copy link
Member

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
Copy link
Member

michielbdejong commented Nov 24, 2021

Let's see which tests pass in #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
Copy link
Member

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
Copy link
Member Author

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

@Potherca Potherca removed this from the v0.6.0 milestone Jan 12, 2022
@michielbdejong
Copy link
Member

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

@michielbdejong
Copy link
Member

Result:

Test Suites: 2 failed, 5 passed, 7 total
Tests:       15 failed, 4 skipped, 42 passed, 61 total

@michielbdejong
Copy link
Member

 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
Copy link
Member

  • concurrency: PASS
  • conneg: PASS
  • create-container: PASS
  • create-non-container: FAIL (4)
  • delete: PASS
  • fetch-pod-root: PASS
  • update: FAIL (6)

@michielbdejong michielbdejong linked a pull request Sep 1, 2023 that will close this issue
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: In Progress
Development

Successfully merging a pull request may close this issue.

2 participants