kittenipc/lib/golang/common_test.go
2026-03-28 14:33:46 +03:00

44 lines
999 B
Go

package golang
import (
"testing"
"github.com/stretchr/testify/assert"
)
type testEndpoint struct{}
func (e *testEndpoint) Hello(name string) (string, error) {
return "hello " + name, nil
}
func TestFindMethod(t *testing.T) {
ipc := &ipcCommon{
localApis: mapTypeNames([]any{&testEndpoint{}}),
}
t.Run("valid method", func(t *testing.T) {
method, err := ipc.findMethod("testEndpoint.Hello")
assert.NoError(t, err)
assert.True(t, method.IsValid())
})
t.Run("invalid format - no dot", func(t *testing.T) {
_, err := ipc.findMethod("Hello")
assert.Error(t, err)
assert.Contains(t, err.Error(), "invalid method")
})
t.Run("unknown endpoint", func(t *testing.T) {
_, err := ipc.findMethod("Unknown.Hello")
assert.Error(t, err)
assert.Contains(t, err.Error(), "endpoint not found")
})
t.Run("unknown method", func(t *testing.T) {
_, err := ipc.findMethod("testEndpoint.Unknown")
assert.Error(t, err)
assert.Contains(t, err.Error(), "method not found")
})
}