12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- package qlight
- import (
- "testing"
- "github.com/ethereum/go-ethereum/plugin"
- "github.com/ethereum/go-ethereum/plugin/qlight"
- "github.com/golang/mock/gomock"
- "github.com/stretchr/testify/assert"
- "github.com/stretchr/testify/require"
- )
- func TestTokenHolder(t *testing.T) {
- th := NewTokenHolderWithPlugin("test", 0, nil, nil)
- require.NotNil(t, th)
- // API mode
- expected := "token"
- th.SetCurrentToken(expected)
- value := th.CurrentToken()
- assert.Equal(t, expected, value)
- expected = "token2"
- th.SetCurrentToken(expected)
- value = th.CurrentToken()
- assert.Equal(t, expected, value)
- // Plugin Token Refresher Mode
- ctrl := gomock.NewController(t)
- defer ctrl.Finish()
- pluginManager := plugin.NewMockPluginManagerInterface(ctrl)
- pluginManager.
- EXPECT().
- IsEnabled(gomock.Eq(plugin.QLightTokenManagerPluginInterfaceName)).
- Return(true)
- var err error
- pluginManager.
- EXPECT().
- GetPluginTemplate(gomock.Eq(plugin.QLightTokenManagerPluginInterfaceName), gomock.Any()).
- Return(err)
- mockPlugin := qlight.NewMockPluginTokenManager(ctrl)
- mockPlugin.EXPECT().PluginTokenManager(gomock.Any()).Return(int32(1), nil)
- template := plugin.NewMockQLightTokenManagerPluginTemplateInterface(ctrl)
- template.EXPECT().Start().Return(err)
- template.EXPECT().Get().Return(mockPlugin, nil)
- template.EXPECT().ManagedPlugin().Return(nil)
- err = th.refreshPlugin(pluginManager, template)
- require.NoError(t, err)
- }
|