44 lines
999 B
Go
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")
|
|
})
|
|
}
|