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
77
plugins/inputs/intel_baseband/sock_connector_test.go
Normal file
77
plugins/inputs/intel_baseband/sock_connector_test.go
Normal file
|
@ -0,0 +1,77 @@
|
|||
//go:build linux && amd64
|
||||
|
||||
package intel_baseband
|
||||
|
||||
import (
|
||||
"errors"
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
"github.com/stretchr/testify/mock"
|
||||
"github.com/stretchr/testify/require"
|
||||
|
||||
"github.com/influxdata/telegraf/plugins/inputs/intel_baseband/mocks"
|
||||
)
|
||||
|
||||
func TestWriteCommandToSocket(t *testing.T) {
|
||||
t.Run("correct execution of the function", func(t *testing.T) {
|
||||
conn := &mocks.Conn{}
|
||||
conn.On("Write", mock.Anything).Return(2, nil)
|
||||
conn.On("SetWriteDeadline", mock.Anything).Return(nil)
|
||||
connector := socketConnector{connection: conn}
|
||||
|
||||
err := connector.writeCommandToSocket(0x00)
|
||||
require.NoError(t, err)
|
||||
|
||||
defer conn.AssertExpectations(t)
|
||||
})
|
||||
|
||||
t.Run("without setting up a connection it should return an error", func(t *testing.T) {
|
||||
connector := socketConnector{}
|
||||
|
||||
err := connector.writeCommandToSocket(0x00)
|
||||
require.Error(t, err)
|
||||
require.ErrorContains(t, err, "connection had not been established before")
|
||||
})
|
||||
|
||||
t.Run("handling timeout setting error", func(t *testing.T) {
|
||||
conn := &mocks.Conn{}
|
||||
conn.On("SetWriteDeadline", mock.Anything).Return(errors.New("deadline set error"))
|
||||
connector := socketConnector{connection: conn}
|
||||
|
||||
err := connector.writeCommandToSocket(0x00)
|
||||
|
||||
require.Error(t, err)
|
||||
require.ErrorContains(t, err, "failed to set timeout for request")
|
||||
require.ErrorContains(t, err, "deadline set error")
|
||||
defer conn.AssertExpectations(t)
|
||||
})
|
||||
|
||||
t.Run("handling net.Write error", func(t *testing.T) {
|
||||
var unsupportedCommand byte = 0x99
|
||||
conn := &mocks.Conn{}
|
||||
conn.On("Write", []byte{unsupportedCommand, 0x00}).Return(0, errors.New("unsupported command"))
|
||||
conn.On("SetWriteDeadline", mock.Anything).Return(nil)
|
||||
connector := socketConnector{connection: conn}
|
||||
|
||||
err := connector.writeCommandToSocket(unsupportedCommand)
|
||||
|
||||
require.Error(t, err)
|
||||
require.ErrorContains(t, err, "failed to send request to socket")
|
||||
require.ErrorContains(t, err, "unsupported command")
|
||||
defer conn.AssertExpectations(t)
|
||||
})
|
||||
}
|
||||
|
||||
func TestDumpTelemetryToLog(t *testing.T) {
|
||||
t.Run("with correct temporary socket should return only an error related to the inability to refresh telemetry", func(t *testing.T) {
|
||||
tempSocket := newTempSocket(t)
|
||||
defer tempSocket.Close()
|
||||
tempLogFile := newTempLogFile(t)
|
||||
defer tempLogFile.close()
|
||||
connector := newSocketConnector(tempSocket.pathToSocket, 5*time.Second)
|
||||
|
||||
err := connector.dumpTelemetryToLog()
|
||||
require.NoError(t, err)
|
||||
})
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue