Skip to content

Commit

Permalink
feat: integrate with token pagination
Browse files Browse the repository at this point in the history
  • Loading branch information
hperl committed Aug 1, 2022
1 parent 45a52f4 commit a8c7f32
Show file tree
Hide file tree
Showing 3 changed files with 9 additions and 18 deletions.
6 changes: 5 additions & 1 deletion internal/check/engine.go
Original file line number Diff line number Diff line change
Expand Up @@ -150,7 +150,11 @@ func (e *Engine) checkDirect(ctx context.Context, r *RelationTuple, restDepth in
e.d.Logger().
WithField("request", r.String()).
Trace("check direct")
if rels, _, err := e.d.RelationTupleManager().GetRelationTuples(ctx, r.ToQuery()); err == nil && len(rels) > 0 {
if rels, _, err := e.d.RelationTupleManager().GetRelationTuples(
ctx,
r.ToQuery(),
x.WithSize(1),
); err == nil && len(rels) > 0 {
resultCh <- checkgroup.Result{
Membership: checkgroup.IsMember,
Tree: &ketoapi.Tree[*relationtuple.RelationTuple]{
Expand Down
19 changes: 4 additions & 15 deletions internal/check/engine_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -449,9 +449,8 @@ func TestEngine(t *testing.T) {

e := check.NewEngine(reg)

for i, user := range users {
for _, user := range users {
t.Run("user="+user.String(), func(t *testing.T) {
t.Skip() // TODO pagination
allowed, err := e.CheckIsMember(ctx, &relationtuple.RelationTuple{
Namespace: namesp,
Object: obj,
Expand All @@ -463,19 +462,9 @@ func TestEngine(t *testing.T) {
})
}

require.Len(t, reg.RequestedPages, 6)
var firstPage int
otherPages := make([]string, 0, 2)
for _, page := range reg.RequestedPages {
if page == "" {
firstPage++
} else {
otherPages = append(otherPages, page)
}
}
assert.Equal(t, 4, firstPage)
require.Len(t, otherPages, 2)
assert.Equal(t, otherPages[0], otherPages[1])
require.Len(t, reg.RequestedPages, 2*len(users),
"expected two db lookups per CheckIsMember() (direct and subject set expand)")
assert.Equal(t, []string{"", "", "", "", "", "", "", ""}, reg.RequestedPages)
})

t.Run("case=wide tuple graph", func(t *testing.T) {
Expand Down
2 changes: 0 additions & 2 deletions ketoapi/public_api_definitions.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,6 @@ import (

"github.com/ory/herodot"
"github.com/sirupsen/logrus"

rts "github.com/ory/keto/proto/ory/keto/relation_tuples/v1alpha2"
)

var (
Expand Down

0 comments on commit a8c7f32

Please sign in to comment.