mirror of
https://github.com/sonr-io/sonr.git
synced 2026-08-02 17:31:39 +00:00
78 lines
2.0 KiB
Go
78 lines
2.0 KiB
Go
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)
|
|
}
|