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'