Files
sonr/x/dwn/keeper/query_server_test.go
Prad NukalaandGitHub 13e6c3e84d Master (#1262)
* clear

* feat: Add everything

* fix: Commenht
2025-10-03 14:45:52 -04:00

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)
}