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  }