mirror of
https://github.com/anyproto/any-sync.git
synced 2025-06-07 21:47:02 +09:00
53 lines
No EOL
1.6 KiB
Go
53 lines
No EOL
1.6 KiB
Go
package commonspace
|
|
|
|
import (
|
|
"context"
|
|
"path/filepath"
|
|
"testing"
|
|
|
|
anystore "github.com/anyproto/any-store"
|
|
"github.com/stretchr/testify/require"
|
|
|
|
"github.com/anyproto/any-sync/commonspace/object/accountdata"
|
|
"github.com/anyproto/any-sync/commonspace/spacepayloads"
|
|
"github.com/anyproto/any-sync/commonspace/spacestorage"
|
|
"github.com/anyproto/any-sync/util/crypto"
|
|
)
|
|
|
|
func newStorageCreatePayload(t *testing.T) spacestorage.SpaceStorageCreatePayload {
|
|
keys, err := accountdata.NewRandom()
|
|
require.NoError(t, err)
|
|
masterKey, _, err := crypto.GenerateRandomEd25519KeyPair()
|
|
require.NoError(t, err)
|
|
metaKey, _, err := crypto.GenerateRandomEd25519KeyPair()
|
|
require.NoError(t, err)
|
|
readKey := crypto.NewAES()
|
|
meta := []byte("account")
|
|
payload := spacepayloads.SpaceCreatePayload{
|
|
SigningKey: keys.SignKey,
|
|
SpaceType: "space",
|
|
ReplicationKey: 10,
|
|
SpacePayload: nil,
|
|
MasterKey: masterKey,
|
|
ReadKey: readKey,
|
|
MetadataKey: metaKey,
|
|
Metadata: meta,
|
|
}
|
|
createSpace, err := spacepayloads.StoragePayloadForSpaceCreate(payload)
|
|
require.NoError(t, err)
|
|
return createSpace
|
|
}
|
|
|
|
var ctx = context.Background()
|
|
|
|
func TestCreateSpaceStorageFailed_EmptyStorage(t *testing.T) {
|
|
payload := newStorageCreatePayload(t)
|
|
store, err := anystore.Open(ctx, filepath.Join(t.TempDir(), "store.db"), nil)
|
|
require.NoError(t, err)
|
|
payload.SpaceSettingsWithId.RawChange = nil
|
|
_, err = spacestorage.Create(ctx, store, payload)
|
|
require.Error(t, err)
|
|
collNames, err := store.GetCollectionNames(ctx)
|
|
require.NoError(t, err)
|
|
require.Empty(t, collNames)
|
|
} |