155 lines
3.6 KiB
Go
155 lines
3.6 KiB
Go
package psutil
|
|
|
|
import (
|
|
"os"
|
|
|
|
"github.com/shirou/gopsutil/v4/cpu"
|
|
"github.com/shirou/gopsutil/v4/disk"
|
|
"github.com/shirou/gopsutil/v4/mem"
|
|
"github.com/shirou/gopsutil/v4/net"
|
|
"github.com/stretchr/testify/mock"
|
|
)
|
|
|
|
// MockPS is a mock implementation of the PS interface for testing purposes.
|
|
type MockPS struct {
|
|
mock.Mock
|
|
PSDiskDeps
|
|
}
|
|
|
|
// MockPSDisk is a mock implementation of the PSDiskDeps interface for testing purposes.
|
|
type MockPSDisk struct {
|
|
*SystemPS
|
|
*mock.Mock
|
|
}
|
|
|
|
// MockDiskUsage is a mock implementation for disk usage operations.
|
|
type MockDiskUsage struct {
|
|
*mock.Mock
|
|
}
|
|
|
|
// CPUTimes returns the CPU times statistics.
|
|
func (m *MockPS) CPUTimes(_, _ bool) ([]cpu.TimesStat, error) {
|
|
ret := m.Called()
|
|
|
|
r0 := ret.Get(0).([]cpu.TimesStat)
|
|
r1 := ret.Error(1)
|
|
|
|
return r0, r1
|
|
}
|
|
|
|
// DiskUsage returns the disk usage statistics.
|
|
func (m *MockPS) DiskUsage(mountPointFilter, mountOptsExclude, fstypeExclude []string) ([]*disk.UsageStat, []*disk.PartitionStat, error) {
|
|
ret := m.Called(mountPointFilter, mountOptsExclude, fstypeExclude)
|
|
|
|
r0 := ret.Get(0).([]*disk.UsageStat)
|
|
r1 := ret.Get(1).([]*disk.PartitionStat)
|
|
r2 := ret.Error(2)
|
|
|
|
return r0, r1, r2
|
|
}
|
|
|
|
// NetIO returns network I/O statistics for every network interface installed on the system.
|
|
func (m *MockPS) NetIO() ([]net.IOCountersStat, error) {
|
|
ret := m.Called()
|
|
|
|
r0 := ret.Get(0).([]net.IOCountersStat)
|
|
r1 := ret.Error(1)
|
|
|
|
return r0, r1
|
|
}
|
|
|
|
// NetProto returns network statistics for the entire system.
|
|
func (m *MockPS) NetProto() ([]net.ProtoCountersStat, error) {
|
|
ret := m.Called()
|
|
|
|
r0 := ret.Get(0).([]net.ProtoCountersStat)
|
|
r1 := ret.Error(1)
|
|
|
|
return r0, r1
|
|
}
|
|
|
|
// DiskIO returns the disk I/O statistics.
|
|
func (m *MockPS) DiskIO(_ []string) (map[string]disk.IOCountersStat, error) {
|
|
ret := m.Called()
|
|
|
|
r0 := ret.Get(0).(map[string]disk.IOCountersStat)
|
|
r1 := ret.Error(1)
|
|
|
|
return r0, r1
|
|
}
|
|
|
|
// VMStat returns the virtual memory statistics.
|
|
func (m *MockPS) VMStat() (*mem.VirtualMemoryStat, error) {
|
|
ret := m.Called()
|
|
|
|
r0 := ret.Get(0).(*mem.VirtualMemoryStat)
|
|
r1 := ret.Error(1)
|
|
|
|
return r0, r1
|
|
}
|
|
|
|
// SwapStat returns the swap memory statistics.
|
|
func (m *MockPS) SwapStat() (*mem.SwapMemoryStat, error) {
|
|
ret := m.Called()
|
|
|
|
r0 := ret.Get(0).(*mem.SwapMemoryStat)
|
|
r1 := ret.Error(1)
|
|
|
|
return r0, r1
|
|
}
|
|
|
|
// NetConnections returns a list of network connections opened.
|
|
func (m *MockPS) NetConnections() ([]net.ConnectionStat, error) {
|
|
ret := m.Called()
|
|
|
|
r0 := ret.Get(0).([]net.ConnectionStat)
|
|
r1 := ret.Error(1)
|
|
|
|
return r0, r1
|
|
}
|
|
|
|
// NetConntrack returns more detailed info about the conntrack table.
|
|
func (m *MockPS) NetConntrack(perCPU bool) ([]net.ConntrackStat, error) {
|
|
ret := m.Called(perCPU)
|
|
|
|
r0 := ret.Get(0).([]net.ConntrackStat)
|
|
r1 := ret.Error(1)
|
|
|
|
return r0, r1
|
|
}
|
|
|
|
// Partitions returns the disk partition statistics.
|
|
func (m *MockDiskUsage) Partitions(all bool) ([]disk.PartitionStat, error) {
|
|
ret := m.Called(all)
|
|
|
|
r0 := ret.Get(0).([]disk.PartitionStat)
|
|
r1 := ret.Error(1)
|
|
|
|
return r0, r1
|
|
}
|
|
|
|
// OSGetenv returns the value of the environment variable named by the key.
|
|
func (m *MockDiskUsage) OSGetenv(key string) string {
|
|
ret := m.Called(key)
|
|
return ret.Get(0).(string)
|
|
}
|
|
|
|
// OSStat returns the FileInfo structure describing the named file.
|
|
func (m *MockDiskUsage) OSStat(name string) (os.FileInfo, error) {
|
|
ret := m.Called(name)
|
|
|
|
r0 := ret.Get(0).(os.FileInfo)
|
|
r1 := ret.Error(1)
|
|
|
|
return r0, r1
|
|
}
|
|
|
|
// PSDiskUsage returns a file system usage for the specified path.
|
|
func (m *MockDiskUsage) PSDiskUsage(path string) (*disk.UsageStat, error) {
|
|
ret := m.Called(path)
|
|
|
|
r0 := ret.Get(0).(*disk.UsageStat)
|
|
r1 := ret.Error(1)
|
|
|
|
return r0, r1
|
|
}
|