trpc.group/trpc-go/trpc-go@v1.0.3/plugin/plugin_test.go (about) 1 // 2 // 3 // Tencent is pleased to support the open source community by making tRPC available. 4 // 5 // Copyright (C) 2023 THL A29 Limited, a Tencent company. 6 // All rights reserved. 7 // 8 // If you have downloaded a copy of the tRPC source code from Tencent, 9 // please note that tRPC source code is licensed under the Apache 2.0 License, 10 // A copy of the Apache 2.0 License is included in this file. 11 // 12 // 13 14 package plugin_test 15 16 import ( 17 "testing" 18 19 "github.com/stretchr/testify/assert" 20 21 "trpc.group/trpc-go/trpc-go/plugin" 22 ) 23 24 type mockPlugin struct{} 25 26 func (p *mockPlugin) Type() string { 27 return pluginType 28 } 29 30 func (p *mockPlugin) Setup(name string, decoder plugin.Decoder) error { 31 return nil 32 } 33 34 func TestGet(t *testing.T) { 35 plugin.Register(pluginName, &mockPlugin{}) 36 // test duplicate registration 37 plugin.Register(pluginName, &mockPlugin{}) 38 p := plugin.Get(pluginType, pluginName) 39 assert.NotNil(t, p) 40 41 pNo := plugin.Get("notexist", pluginName) 42 assert.Nil(t, pNo) 43 }