github.com/openfga/openfga@v1.5.4-rc1/pkg/server/test/read_assertions.go (about) 1 package test 2 3 import ( 4 "context" 5 "testing" 6 7 openfgav1 "github.com/openfga/api/proto/openfga/v1" 8 "github.com/stretchr/testify/require" 9 10 "github.com/openfga/openfga/pkg/server/commands" 11 "github.com/openfga/openfga/pkg/storage" 12 "github.com/openfga/openfga/pkg/testutils" 13 ) 14 15 func TestReadAssertionQuery(t *testing.T, datastore storage.OpenFGADatastore) { 16 type readAssertionsQueryTest struct { 17 _name string 18 request *openfgav1.ReadAssertionsRequest 19 expectedResponse *openfgav1.ReadAssertionsResponse 20 expectedError error 21 } 22 23 var tests = []readAssertionsQueryTest{ 24 { 25 _name: "ReturnsAssertionModelNotFound", 26 request: &openfgav1.ReadAssertionsRequest{StoreId: "store", AuthorizationModelId: "test"}, 27 expectedResponse: &openfgav1.ReadAssertionsResponse{ 28 AuthorizationModelId: "test", 29 Assertions: []*openfgav1.Assertion{}, 30 }, 31 }, 32 } 33 34 ctx := context.Background() 35 36 for _, test := range tests { 37 t.Run(test._name, func(t *testing.T) { 38 store := testutils.CreateRandomString(10) 39 40 query := commands.NewReadAssertionsQuery(datastore) 41 test.request.StoreId = store 42 actualResponse, actualError := query.Execute(ctx, test.request.GetStoreId(), test.request.GetAuthorizationModelId()) 43 44 if test.expectedError != nil { 45 require.ErrorIs(t, actualError, test.expectedError) 46 } else { 47 require.NoError(t, actualError) 48 require.Equal(t, test.expectedResponse, actualResponse) 49 } 50 }) 51 } 52 }