inrupt / inrupt/solid-client-js

getResourcePolicyAll and getPolicyAll functions from acp_ess_2 module don't work

Open
#1,641 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug
Dominant language
TypeScript
Stars
245
Forks
42
Avg merge
12h 49m
Merged PRs (30d)
22

Description

Bug description

when using getResourcePolicyAll function on a resource that has policies, an empty array is returned.
Same goes for getPolicyAll

To Reproduce
  1. create a new container
  2. define some policies on it
  3. call getResourcePolicyAll function on it
  4. check the return of the function
    (same for getPolicyAll)

Minimal reproduction
https://codesandbox.io/s/peaceful-wilson-7fxwfi?file=/src/index.ts

Expected result

Expected result in both cases is the array with defined policies on the resource.

expected result

Actual result

empty arrays

Environment

System:
OS: macOS 10.15.7
CPU: (4) x64 Intel(R) Core(TM) i5-3427U CPU @ 1.80GHz
Memory: 409.36 MB / 4.00 GB
Shell: 5.7.1 - /bin/zsh
Binaries:
Node: 16.14.0 - ~/.nvm/versions/node/v16.14.0/bin/node
npm: 8.3.1 - ~/.nvm/versions/node/v16.14.0/bin/npm
Browsers:
Chrome: 102.0.5005.61
Safari: 15.5
npmPackages:
@babel/core: ^7.17.9 => 7.17.9
@babel/preset-env: ^7.16.11 => 7.16.11
@babel/preset-react: ^7.16.7 => 7.16.7
@babel/preset-typescript: ^7.16.7 => 7.16.7
@inrupt/lit-generated-vocab-common: ^0.3.11 => 0.3.11
@inrupt/solid-client: ^1.23.1 => 1.23.1
@inrupt/solid-client-access-grants: ^1.0.1 => 1.0.1
@inrupt/solid-client-authn-browser: ^1.11.7 => 1.11.7
@inrupt/solid-ui-react: ^2.7.0 => 2.7.0
@inrupt/vocab-common-rdf: ^1.0.3 => 1.0.3
@types/jest: ^27.4.1 => 27.4.1
@types/node: ^17.0.23 => 17.0.23
@types/react: ^18.0.2 => 18.0.2
@types/react-dom: ^18.0.0 => 18.0.0
assert: ^2.0.0 => 2.0.0
babel-loader: ^8.2.4 => 8.2.4
bootstrap: ^5.1.3 => 5.1.3
buffer: ^6.0.3 => 6.0.3
css-loader: ^6.7.1 => 6.7.1
gh-pages: ^3.2.3 => 3.2.3
html-webpack-plugin: ^5.5.0 => 5.5.0
rdf-namespaces: ^1.9.2 => 1.9.2
react: ^18.0.0 => 18.0.0
react-bootstrap: ^2.2.3 => 2.2.3
react-dom: ^18.0.0 => 18.0.0
react-icons: ^4.3.1 => 4.3.1
solid-file-client: ^2.1.3 => 2.1.3
style-loader: ^3.3.1 => 3.3.1
ts-loader: ^9.2.8 => 9.2.8
typescript: ^4.6.3 => 4.6.3
webpack: ^5.72.0 => 5.72.0
webpack-cli: ^4.9.2 => 4.9.2
webpack-dev-server: ^4.8.1 => 4.8.1
npmGlobalPackages:
corepack: 0.10.0
create-react-app: 5.0.0
java: 0.12.2
jest: 27.5.1
npm: 8.3.1
typescript: 4.6.2

Additional information

  1. The pod on the these functions were tested is hosted on: https://pod.inrupt.com/

  2. The way policies were defined is pretty much a copy and paste of this section (Create Policy to Match Agents and Clients):
    https://docs.inrupt.com/developer-tools/javascript/client-libraries/tutorial/manage-acp/#create-policy-to-match-agents-and-clients
    with slight adjustment, Client Application Matcher definition was omitted.
    and another policy defined was pretty much a copy and paste of this scetion (Make a Resource Public: Create Public Policy for a Resource):
    https://docs.inrupt.com/developer-tools/javascript/client-libraries/tutorial/manage-acp/#make-a-resource-public-create-public-policy-for-a-resource

  3. A notable thing is that function getResourceMatcherAll from the same module (acp_ess_2), actually returns both matchers that were defined.

console log :
Screen Shot 2022-06-12 at 10 21 39 PM

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the acp_ess_2 module and reproduce the behavior using the linked CodeSandbox, focusing on getResourcePolicyAll and getPolicyAll. Compare their results with getResourceMatcherAll and verify the functions return the policies defined on the resource rather than empty arrays.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
authorization
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.