Skip to content

Commit

Permalink
Test ReverseQueryRelationships
Browse files Browse the repository at this point in the history
Signed-off-by: sashayakovtseva <[email protected]>
  • Loading branch information
sashayakovtseva committed Feb 14, 2024
1 parent 8c5c7d8 commit 4b613a8
Showing 1 changed file with 30 additions and 0 deletions.
30 changes: 30 additions & 0 deletions internal/datastore/ydb/reader_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -600,13 +600,36 @@ func TestYDBReaderRelationships(t *testing.T) {
}
}

testReverseQueryRelationships := func(
t *testing.T,
r datastore.Reader,
f datastore.SubjectsFilter,
expect ...testRelationship,
) {
it, err := r.ReverseQueryRelationships(context.Background(), f)
require.NoError(t, err)
t.Cleanup(it.Close)

var actual []*core.RelationTuple
for v := it.Next(); v != nil; v = it.Next() {
actual = append(actual, v)
}
require.Len(t, actual, len(expect))
for i := range expect {
matchRelationship(t, expect[i], actual[i])
}
}

t.Run("removed relationships not garbage collected", func(t *testing.T) {
testRevision := revisions.NewForTimestamp(6)
r := ds.SnapshotReader(testRevision)
testQueryRelationships(t, r, datastore.RelationshipsFilter{
ResourceType: "document",
OptionalResourceRelation: "writer",
}, testRelationships[2])
testReverseQueryRelationships(t, r, datastore.SubjectsFilter{
SubjectType: "user",
}, testRelationships[2])
})

t.Run("latest relationships", func(t *testing.T) {
Expand All @@ -616,5 +639,12 @@ func TestYDBReaderRelationships(t *testing.T) {
ResourceType: "document",
OptionalResourceRelation: "reader",
}, testRelationships[0])
testReverseQueryRelationships(t, r, datastore.SubjectsFilter{
SubjectType: "user",
OptionalSubjectIds: []string{"bob"},
RelationFilter: datastore.SubjectRelationFilter{
IncludeEllipsisRelation: true,
},
}, testRelationships[0])
})
}

0 comments on commit 4b613a8

Please sign in to comment.