github.com/openfga/openfga@v1.5.4-rc1/pkg/server/test/create_store.go (about) 1 package test 2 3 import ( 4 "context" 5 "testing" 6 7 "github.com/oklog/ulid/v2" 8 openfgav1 "github.com/openfga/api/proto/openfga/v1" 9 "github.com/stretchr/testify/require" 10 11 "github.com/openfga/openfga/pkg/server/commands" 12 "github.com/openfga/openfga/pkg/storage" 13 "github.com/openfga/openfga/pkg/testutils" 14 ) 15 16 func TestCreateStore(t *testing.T, datastore storage.OpenFGADatastore) { 17 type createStoreTestSettings struct { 18 name string 19 request *openfgav1.CreateStoreRequest 20 } 21 22 var tests = []createStoreTestSettings{ 23 { 24 name: "CreateStoreSucceeds", 25 request: &openfgav1.CreateStoreRequest{ 26 Name: testutils.CreateRandomString(10), 27 }, 28 }, 29 } 30 31 ctx := context.Background() 32 33 for _, test := range tests { 34 t.Run(test.name, func(t *testing.T) { 35 resp, err := commands.NewCreateStoreCommand(datastore).Execute(ctx, test.request) 36 require.NoError(t, err) 37 38 require.Equal(t, test.request.GetName(), resp.GetName()) 39 40 _, err = ulid.Parse(resp.GetId()) 41 require.NoError(t, err) 42 43 require.NotEmpty(t, resp.GetCreatedAt()) 44 require.NotEmpty(t, resp.GetUpdatedAt()) 45 require.Equal(t, resp.GetCreatedAt(), resp.GetUpdatedAt()) 46 }) 47 } 48 }