Adding upstream version 1.34.4.
Signed-off-by: Daniel Baumann <daniel@debian.org>
This commit is contained in:
parent
e393c3af3f
commit
4978089aab
4963 changed files with 677545 additions and 0 deletions
89
plugins/secretstores/os/os_test.go
Normal file
89
plugins/secretstores/os/os_test.go
Normal file
|
@ -0,0 +1,89 @@
|
|||
//go:build darwin || linux || windows
|
||||
|
||||
package os
|
||||
|
||||
import (
|
||||
"testing"
|
||||
|
||||
"github.com/stretchr/testify/require"
|
||||
|
||||
"github.com/influxdata/telegraf/internal/choice"
|
||||
)
|
||||
|
||||
// In docker, access to the keyring is disabled by default see
|
||||
// https://docs.docker.com/engine/security/seccomp/.
|
||||
// You will see the following error then.
|
||||
const dockerErr = "opening keyring failed: Specified keyring backend not available"
|
||||
|
||||
func TestSampleConfig(t *testing.T) {
|
||||
plugin := &OS{}
|
||||
require.NotEmpty(t, plugin.SampleConfig())
|
||||
}
|
||||
|
||||
func TestInitFail(t *testing.T) {
|
||||
tests := []struct {
|
||||
name string
|
||||
plugin *OS
|
||||
expected string
|
||||
}{
|
||||
{
|
||||
name: "invalid id",
|
||||
plugin: &OS{},
|
||||
expected: "id missing",
|
||||
},
|
||||
}
|
||||
for _, tt := range tests {
|
||||
t.Run(tt.name, func(t *testing.T) {
|
||||
err := tt.plugin.Init()
|
||||
require.ErrorContains(t, err, tt.expected)
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
func TestResolverInvalid(t *testing.T) {
|
||||
plugin := &OS{ID: "test"}
|
||||
|
||||
// In docker, access to the keyring is disabled by default
|
||||
// see https://docs.docker.com/engine/security/seccomp/.
|
||||
err := plugin.Init()
|
||||
if err != nil && err.Error() == dockerErr {
|
||||
t.Skip("Kernel keyring not available!")
|
||||
}
|
||||
require.NoError(t, err)
|
||||
|
||||
// Make sure the key does not exist and try to read that key
|
||||
testKey := "foobar secret key"
|
||||
keys, err := plugin.List()
|
||||
require.NoError(t, err)
|
||||
for choice.Contains(testKey, keys) {
|
||||
testKey += "x"
|
||||
}
|
||||
// Get the resolver
|
||||
resolver, err := plugin.GetResolver(testKey)
|
||||
require.NoError(t, err)
|
||||
require.NotNil(t, resolver)
|
||||
_, _, err = resolver()
|
||||
require.Error(t, err)
|
||||
}
|
||||
|
||||
func TestGetNonExisting(t *testing.T) {
|
||||
plugin := &OS{ID: "test"}
|
||||
|
||||
// In docker, access to the keyring is disabled by default
|
||||
// see https://docs.docker.com/engine/security/seccomp/.
|
||||
err := plugin.Init()
|
||||
if err != nil && err.Error() == dockerErr {
|
||||
t.Skip("Kernel keyring not available!")
|
||||
}
|
||||
require.NoError(t, err)
|
||||
|
||||
// Make sure the key does not exist and try to read that key
|
||||
testKey := "foobar secret key"
|
||||
keys, err := plugin.List()
|
||||
require.NoError(t, err)
|
||||
for choice.Contains(testKey, keys) {
|
||||
testKey += "x"
|
||||
}
|
||||
_, err = plugin.Get(testKey)
|
||||
require.EqualError(t, err, "The specified item could not be found in the keyring")
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue