mirror of
https://github.com/sonr-io/sonr.git
synced 2026-08-04 18:31:41 +00:00
@@ -0,0 +1,77 @@
|
||||
package keeper_test
|
||||
|
||||
import (
|
||||
"testing"
|
||||
|
||||
"github.com/stretchr/testify/require"
|
||||
|
||||
"github.com/sonr-io/sonr/x/dwn/types"
|
||||
)
|
||||
|
||||
func TestQueryParams(t *testing.T) {
|
||||
f := SetupTest(t)
|
||||
|
||||
resp, err := f.queryServer.Params(f.ctx, &types.QueryParamsRequest{})
|
||||
require.NoError(t, err)
|
||||
require.NotNil(t, resp)
|
||||
require.NotNil(t, resp.Params)
|
||||
require.True(t, resp.Params.VaultCreationEnabled)
|
||||
}
|
||||
|
||||
func TestQueryVaultNotFound(t *testing.T) {
|
||||
f := SetupTest(t)
|
||||
|
||||
// Try to query non-existent vault
|
||||
_, err := f.queryServer.Vault(f.ctx, &types.QueryVaultRequest{
|
||||
VaultId: "non-existent-vault",
|
||||
})
|
||||
require.Error(t, err)
|
||||
require.Contains(t, err.Error(), "not found")
|
||||
}
|
||||
|
||||
func TestQueryVaultsEmpty(t *testing.T) {
|
||||
f := SetupTest(t)
|
||||
|
||||
// Query vaults for non-existent owner
|
||||
resp, err := f.queryServer.Vaults(f.ctx, &types.QueryVaultsRequest{
|
||||
Owner: "nonexistent-owner",
|
||||
})
|
||||
require.NoError(t, err)
|
||||
require.Empty(t, resp.Vaults)
|
||||
}
|
||||
|
||||
func TestQueryCIDValidation(t *testing.T) {
|
||||
f := SetupTest(t)
|
||||
|
||||
// Test empty CID
|
||||
resp, err := f.queryServer.CID(f.ctx, &types.QueryCIDRequest{
|
||||
Cid: "",
|
||||
})
|
||||
require.NoError(t, err)
|
||||
require.NotNil(t, resp)
|
||||
require.Equal(t, int32(400), resp.StatusCode) // Bad Request
|
||||
require.Nil(t, resp.Data)
|
||||
|
||||
// Test invalid CID format
|
||||
resp, err = f.queryServer.CID(f.ctx, &types.QueryCIDRequest{
|
||||
Cid: "invalid-cid",
|
||||
})
|
||||
require.NoError(t, err)
|
||||
require.NotNil(t, resp)
|
||||
require.Equal(t, int32(400), resp.StatusCode) // Bad Request
|
||||
require.Nil(t, resp.Data)
|
||||
|
||||
// Test valid CID format but non-existent content
|
||||
// This is a valid CIDv1 with SHA256 hash but content won't exist
|
||||
validCID := "bafybeigdyrzt5sfp7udm7hu76uh7y26nf3efuylqabf3oclgtqy55fbzdi"
|
||||
resp, err = f.queryServer.CID(f.ctx, &types.QueryCIDRequest{
|
||||
Cid: validCID,
|
||||
})
|
||||
|
||||
// Response should either be 500 (IPFS client unavailable) or 404 (not found)
|
||||
// depending on whether IPFS is running in the test environment
|
||||
require.NoError(t, err)
|
||||
require.NotNil(t, resp)
|
||||
require.Contains(t, []int32{404, 500}, resp.StatusCode)
|
||||
require.Nil(t, resp.Data)
|
||||
}
|
||||
Reference in New Issue
Block a user