81 lines
1.7 KiB
Go
81 lines
1.7 KiB
Go
package dinet
|
|
|
|
import (
|
|
"errors"
|
|
"testing"
|
|
|
|
"github.com/stretchr/testify/require"
|
|
"src.dualinventive.com/go/lib/dilog"
|
|
)
|
|
|
|
// ParentDeviceMock implements ParentDevice which is useful for unit testing
|
|
type ParentDeviceMock struct {
|
|
logger dilog.Logger
|
|
conn Conn
|
|
router *Router
|
|
}
|
|
|
|
// NewParentDeviceMock creates a new ParentDeviceMock using a test transport
|
|
func NewParentDeviceMock(t *testing.T) (*ParentDeviceMock, *TestTransport) {
|
|
logger := dilog.NewTestLogger(t)
|
|
|
|
conn, err := NewDeviceConn(TransportTest)
|
|
require.Nil(t, err)
|
|
err = conn.Connect("")
|
|
require.Nil(t, err)
|
|
|
|
rtr, err := NewRouter(logger, conn)
|
|
require.Nil(t, err)
|
|
|
|
return &ParentDeviceMock{
|
|
logger: logger,
|
|
conn: conn,
|
|
router: rtr,
|
|
}, conn.(*TestTransport)
|
|
}
|
|
|
|
// Close doesn't do anything
|
|
func (t *ParentDeviceMock) Close() error {
|
|
return nil
|
|
}
|
|
|
|
// UID returns a static test device UID
|
|
func (t *ParentDeviceMock) UID() string {
|
|
return "fe020000000000000000f403433e1a52"
|
|
}
|
|
|
|
// RegisterUID doesn't do anything
|
|
func (t *ParentDeviceMock) RegisterUID(uid string) error {
|
|
return nil
|
|
}
|
|
|
|
// UnregisterUID doesn't do anything
|
|
func (t *ParentDeviceMock) UnregisterUID(uid string) error {
|
|
return nil
|
|
}
|
|
|
|
// RegisterDevice doesn't do anything
|
|
func (t *ParentDeviceMock) RegisterDevice(device Device) error {
|
|
return nil
|
|
}
|
|
|
|
// UnregisterDevice doesn't do anything
|
|
func (t *ParentDeviceMock) UnregisterDevice(uid string) error {
|
|
return nil
|
|
}
|
|
|
|
// Router returns a router
|
|
func (t *ParentDeviceMock) Router() *Router {
|
|
return t.router
|
|
}
|
|
|
|
// Search doesn't do anything
|
|
func (t *ParentDeviceMock) Search(uid string) (Device, error) {
|
|
return nil, errors.New("not found")
|
|
}
|
|
|
|
// Logger returns a test logger
|
|
func (t *ParentDeviceMock) Logger() dilog.Logger {
|
|
return t.logger
|
|
}
|