github.com/openfga/openfga@v1.5.4-rc1/pkg/server/test/delete_store.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 ) 13 14 func TestDeleteStore(t *testing.T, datastore storage.OpenFGADatastore) { 15 ctx := context.Background() 16 17 createStoreCmd := commands.NewCreateStoreCommand(datastore) 18 createStoreResponse, err := createStoreCmd.Execute(ctx, &openfgav1.CreateStoreRequest{ 19 Name: "acme", 20 }) 21 require.NoError(t, err) 22 23 type deleteStoreTest struct { 24 _name string 25 request *openfgav1.DeleteStoreRequest 26 err error 27 } 28 var tests = []deleteStoreTest{ 29 { 30 _name: "Execute_Delete_Store_With_Non_Existent_Store_Succeeds", 31 request: &openfgav1.DeleteStoreRequest{ 32 StoreId: "unknownstore", 33 }, 34 }, 35 { 36 _name: "Execute_Succeeds", 37 request: &openfgav1.DeleteStoreRequest{ 38 StoreId: createStoreResponse.GetId(), 39 }, 40 }, 41 } 42 43 deleteCmd := commands.NewDeleteStoreCommand(datastore) 44 45 for _, test := range tests { 46 t.Run(test._name, func(t *testing.T) { 47 _, err := deleteCmd.Execute(ctx, test.request) 48 49 if test.err != nil { 50 require.ErrorIs(t, err, test.err) 51 } else { 52 require.NoError(t, err) 53 } 54 }) 55 } 56 }