mirror of
https://gitee.com/milvus-io/milvus.git
synced 2024-12-04 21:09:06 +08:00
0ea08b008a
issue: #32679 Signed-off-by: SimFG <bang.fu@zilliz.com>
82 lines
2.1 KiB
Go
82 lines
2.1 KiB
Go
/*
|
|
* Licensed to the LF AI & Data foundation under one
|
|
* or more contributor license agreements. See the NOTICE file
|
|
* distributed with this work for additional information
|
|
* regarding copyright ownership. The ASF licenses this file
|
|
* to you under the Apache License, Version 2.0 (the
|
|
* "License"); you may not use this file except in compliance
|
|
* with the License. You may obtain a copy of the License at
|
|
*
|
|
* http://www.apache.org/licenses/LICENSE-2.0
|
|
*
|
|
* Unless required by applicable law or agreed to in writing, software
|
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
* See the License for the specific language governing permissions and
|
|
* limitations under the License.
|
|
*/
|
|
|
|
package hookutil
|
|
|
|
import (
|
|
"sync"
|
|
"testing"
|
|
|
|
"github.com/stretchr/testify/assert"
|
|
|
|
"github.com/milvus-io/milvus/pkg/util/paramtable"
|
|
)
|
|
|
|
func TestInitHook(t *testing.T) {
|
|
paramtable.Init()
|
|
Params := paramtable.Get()
|
|
paramtable.Get().Save(Params.ProxyCfg.SoPath.Key, "")
|
|
initHook()
|
|
assert.IsType(t, DefaultHook{}, Hoo)
|
|
|
|
paramtable.Get().Save(Params.ProxyCfg.SoPath.Key, "/a/b/hook.so")
|
|
err := initHook()
|
|
assert.Error(t, err)
|
|
paramtable.Get().Save(Params.ProxyCfg.SoPath.Key, "")
|
|
}
|
|
|
|
func TestHookInitPanicError(t *testing.T) {
|
|
paramtable.Init()
|
|
p := paramtable.Get()
|
|
p.Save(p.ProxyCfg.SoPath.Key, "/a/b/hook.so")
|
|
defer p.Reset(p.ProxyCfg.SoPath.Key)
|
|
err := initHook()
|
|
assert.Error(t, err)
|
|
assert.Panics(t, func() {
|
|
initOnce = sync.Once{}
|
|
InitOnceHook()
|
|
})
|
|
}
|
|
|
|
func TestHookInitLogError(t *testing.T) {
|
|
paramtable.Init()
|
|
p := paramtable.Get()
|
|
p.Save(p.ProxyCfg.SoPath.Key, "/a/b/hook.so")
|
|
defer p.Reset(p.ProxyCfg.SoPath.Key)
|
|
p.Save(p.CommonCfg.PanicWhenPluginFail.Key, "false")
|
|
defer p.Reset(p.CommonCfg.PanicWhenPluginFail.Key)
|
|
err := initHook()
|
|
assert.Error(t, err)
|
|
assert.NotPanics(t, func() {
|
|
initOnce = sync.Once{}
|
|
InitOnceHook()
|
|
})
|
|
}
|
|
|
|
func TestDefaultHook(t *testing.T) {
|
|
d := &DefaultHook{}
|
|
assert.NoError(t, d.Init(nil))
|
|
{
|
|
_, err := d.VerifyAPIKey("key")
|
|
assert.Error(t, err)
|
|
}
|
|
assert.NotPanics(t, func() {
|
|
d.Release()
|
|
})
|
|
}
|