php-solid-server icon indicating copy to clipboard operation
php-solid-server copied to clipboard

Fix broken surface tests

Open Potherca opened this issue 3 years ago • 8 comments

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:

> [email protected] jest

Test Suites: 5 passed, 5 total
Tests:       36 passed, 36 total
Snapshots:   0 total
Time:        11.176 s
Ran all test suites.
> [email protected] 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 avatar Nov 12 '21 15:11 Potherca

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 avatar Nov 23 '21 20:11 michielbdejong

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

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

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

michielbdejong avatar Nov 24 '21 13:11 michielbdejong

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?

michielbdejong avatar Nov 24 '21 14:11 michielbdejong

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 avatar Nov 25 '21 15:11 Potherca

@mrvahedi68 and I are running [email protected] now

michielbdejong avatar Aug 25 '23 07:08 michielbdejong

Result:

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

michielbdejong avatar Aug 25 '23 07:08 michielbdejong

 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 avatar Sep 01 '23 07:09 michielbdejong

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

michielbdejong avatar Sep 01 '23 07:09 michielbdejong