testutils

package
v1.12.0-rc0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 4, 2022 License: Apache-2.0 Imports: 26 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var NoopDNSGetter = FakeFQDNCache{
	OnGetNamesOf: func(sourceEpID uint32, ip net.IP) (fqdns []string) {
		return nil
	},
}

NoopDNSGetter always returns an empty response.

View Source
var NoopEndpointGetter = FakeEndpointGetter{
	OnGetEndpointInfo: func(ip net.IP) (endpoint v1.EndpointInfo, ok bool) {
		return nil, false
	},
	OnGetEndpointInfoByID: func(id uint16) (endpoint v1.EndpointInfo, ok bool) {
		return nil, false
	},
}

NoopEndpointGetter always returns an empty response.

View Source
var NoopIPGetter = FakeIPGetter{
	OnGetK8sMetadata: func(ip net.IP) *ipcache.K8sMetadata {
		return nil
	},
	OnLookupSecIDByIP: func(ip net.IP) (ipcache.Identity, bool) {
		return ipcache.Identity{}, false
	},
}

NoopIPGetter always returns an empty response.

View Source
var NoopIdentityGetter = FakeIdentityGetter{
	OnGetIdentity: func(securityIdentity uint32) (*models.Identity, error) {
		return &models.Identity{}, nil
	},
}

NoopIdentityGetter always returns an empty response.

View Source
var NoopLinkGetter = FakeLinkGetter{}
View Source
var NoopServiceGetter = FakeServiceGetter{
	OnGetServiceByAddr: func(ip net.IP, port uint16) *flowpb.Service {
		return nil
	},
}

NoopServiceGetter always returns an empty response.

Functions

func CreateL3L4Payload

func CreateL3L4Payload(message interface{}, layers ...gopacket.SerializableLayer) ([]byte, error)

CreateL3L4Payload assembles a L3/L4 payload for testing purposes

func MustCreateL3L4Payload

func MustCreateL3L4Payload(message interface{}, layers ...gopacket.SerializableLayer) []byte

MustCreateL3L4Payload wraps CreateL3L4Payload, but panics on error

Types

type FakeClientConn

type FakeClientConn struct {
	OnGetState  func() connectivity.State
	OnClose     func() error
	OnInvoke    func(ctx context.Context, method string, args interface{}, reply interface{}, opts ...grpc.CallOption) error
	OnNewStream func(ctx context.Context, desc *grpc.StreamDesc, method string, opts ...grpc.CallOption) (grpc.ClientStream, error)
}

FakeClientConn is used for unit tests and implements the poolTypes.ClientConn interface.

func (FakeClientConn) Close

func (c FakeClientConn) Close() error

Close implements poolTypes.ClientConn.Close.

func (FakeClientConn) GetState

func (c FakeClientConn) GetState() connectivity.State

GetState implements poolTypes.ClientConn.GetState.

func (FakeClientConn) Invoke

func (c FakeClientConn) Invoke(ctx context.Context, method string, args interface{}, reply interface{}, opts ...grpc.CallOption) error

Invoke implements poolTypes.ClientConn.Invoke.

func (FakeClientConn) NewStream

func (c FakeClientConn) NewStream(ctx context.Context, desc *grpc.StreamDesc, method string, opts ...grpc.CallOption) (grpc.ClientStream, error)

NewStream implements poolTypes.ClientConn.NewStream.

type FakeEndpointGetter

type FakeEndpointGetter struct {
	OnGetEndpointInfo     func(ip net.IP) (endpoint v1.EndpointInfo, ok bool)
	OnGetEndpointInfoByID func(id uint16) (endpoint v1.EndpointInfo, ok bool)
}

FakeEndpointGetter is used for unit tests that needs EndpointGetter.

func (*FakeEndpointGetter) GetEndpointInfo

func (f *FakeEndpointGetter) GetEndpointInfo(ip net.IP) (endpoint v1.EndpointInfo, ok bool)

GetEndpointInfo implements EndpointGetter.GetEndpointInfo.

func (*FakeEndpointGetter) GetEndpointInfoByID

func (f *FakeEndpointGetter) GetEndpointInfoByID(id uint16) (endpoint v1.EndpointInfo, ok bool)

GetEndpointInfoByID implements EndpointGetter.GetEndpointInfoByID.

type FakeEndpointInfo

type FakeEndpointInfo struct {
	ContainerIDs []string
	ID           uint64
	Identity     identity.NumericIdentity
	IPv4         net.IP
	IPv6         net.IP
	PodName      string
	PodNamespace string
	Labels       []string
	Pod          *slim_corev1.Pod

	PolicyMap      map[policy.Key]labels.LabelArrayList
	PolicyRevision uint64
}

FakeEndpointInfo implements v1.EndpointInfo for unit tests. All interface methods return values exposed in the fields.

func (*FakeEndpointInfo) GetID

func (e *FakeEndpointInfo) GetID() uint64

GetID returns the ID of the endpoint.

func (*FakeEndpointInfo) GetIdentity

func (e *FakeEndpointInfo) GetIdentity() identity.NumericIdentity

GetIdentity returns the numerical security identity of the endpoint.

func (*FakeEndpointInfo) GetK8sNamespace

func (e *FakeEndpointInfo) GetK8sNamespace() string

GetK8sNamespace returns the pod namespace of the endpoint.

func (*FakeEndpointInfo) GetK8sPodName

func (e *FakeEndpointInfo) GetK8sPodName() string

GetK8sPodName returns the pod name of the endpoint.

func (*FakeEndpointInfo) GetLabels

func (e *FakeEndpointInfo) GetLabels() []string

GetLabels returns the labels of the endpoint.

func (*FakeEndpointInfo) GetPod

func (e *FakeEndpointInfo) GetPod() *slim_corev1.Pod

GetPod return the pod object of the endpoint.

func (*FakeEndpointInfo) GetRealizedPolicyRuleLabelsForKey

func (e *FakeEndpointInfo) GetRealizedPolicyRuleLabelsForKey(key policy.Key) (
	derivedFrom labels.LabelArrayList,
	revision uint64,
	ok bool,
)

type FakeFQDNCache

type FakeFQDNCache struct {
	OnInitializeFrom func(entries []*models.DNSLookup)
	OnAddDNSLookup   func(epID uint32, lookupTime time.Time, domainName string, ips []net.IP, ttl uint32)
	OnGetNamesOf     func(epID uint32, ip net.IP) []string
}

FakeFQDNCache is used for unit tests that needs FQDNCache and/or DNSGetter.

func (*FakeFQDNCache) AddDNSLookup

func (f *FakeFQDNCache) AddDNSLookup(epID uint32, lookupTime time.Time, domainName string, ips []net.IP, ttl uint32)

AddDNSLookup implements FQDNCache.AddDNSLookup.

func (*FakeFQDNCache) GetNamesOf

func (f *FakeFQDNCache) GetNamesOf(epID uint32, ip net.IP) []string

GetNamesOf implements FQDNCache.GetNameOf.

func (*FakeFQDNCache) InitializeFrom

func (f *FakeFQDNCache) InitializeFrom(entries []*models.DNSLookup)

InitializeFrom implements FQDNCache.InitializeFrom.

type FakeGRPCClientStream

type FakeGRPCClientStream struct {
	OnHeader    func() (metadata.MD, error)
	OnTrailer   func() metadata.MD
	OnCloseSend func() error
	OnContext   func() context.Context
	OnSendMsg   func(m interface{}) error
	OnRecvMsg   func(m interface{}) error
}

FakeGRPCClientStream implements google.golang.org/grpc.ClientStream interface for unit tests.

func (*FakeGRPCClientStream) CloseSend

func (c *FakeGRPCClientStream) CloseSend() error

CloseSend implements grpc.ClientStream.CloseSend.

func (*FakeGRPCClientStream) Context

func (c *FakeGRPCClientStream) Context() context.Context

Context implements grpc.ClientStream.Context.

func (*FakeGRPCClientStream) Header

func (c *FakeGRPCClientStream) Header() (metadata.MD, error)

Header implements grpc.ClientStream.Header.

func (*FakeGRPCClientStream) RecvMsg

func (c *FakeGRPCClientStream) RecvMsg(m interface{}) error

RecvMsg implements grpc.ClientStream.RecvMsg.

func (*FakeGRPCClientStream) SendMsg

func (c *FakeGRPCClientStream) SendMsg(m interface{}) error

SendMsg implements grpc.ClientStream.SendMsg.

func (*FakeGRPCClientStream) Trailer

func (c *FakeGRPCClientStream) Trailer() metadata.MD

Trailer implements grpc.ClientStream.Trailer.

type FakeGRPCServerStream

type FakeGRPCServerStream struct {
	OnSetHeader  func(metadata.MD) error
	OnSendHeader func(metadata.MD) error
	OnSetTrailer func(m metadata.MD)
	OnContext    func() context.Context
	OnSendMsg    func(m interface{}) error
	OnRecvMsg    func(m interface{}) error
}

FakeGRPCServerStream implements google.golang.org/grpc.ServerStream interface for unit tests.

func (*FakeGRPCServerStream) Context

func (s *FakeGRPCServerStream) Context() context.Context

Context implements grpc.ServerStream.Context.

func (*FakeGRPCServerStream) RecvMsg

func (s *FakeGRPCServerStream) RecvMsg(m interface{}) error

RecvMsg implements grpc.ServerStream.RecvMsg.

func (*FakeGRPCServerStream) SendHeader

func (s *FakeGRPCServerStream) SendHeader(m metadata.MD) error

SendHeader implements grpc.ServerStream.SendHeader.

func (*FakeGRPCServerStream) SendMsg

func (s *FakeGRPCServerStream) SendMsg(m interface{}) error

SendMsg implements grpc.ServerStream.SendMsg.

func (*FakeGRPCServerStream) SetHeader

func (s *FakeGRPCServerStream) SetHeader(m metadata.MD) error

SetHeader implements grpc.ServerStream.SetHeader.

func (*FakeGRPCServerStream) SetTrailer

func (s *FakeGRPCServerStream) SetTrailer(m metadata.MD)

SetTrailer implements grpc.ServerStream.SetTrailer.

type FakeGetAgentEventsServer

type FakeGetAgentEventsServer struct {
	OnSend func(response *observerpb.GetAgentEventsResponse) error
	*FakeGRPCServerStream
}

FakeGetAgentEventsServer is used for unit tests and implements the observerpb.Observer_GetAgentEventsServer interface.

func (*FakeGetAgentEventsServer) Send

Send implements observerpb.Observer_GetAgentEventsServer.Send.

type FakeGetFlowsClient

type FakeGetFlowsClient struct {
	OnRecv func() (*observerpb.GetFlowsResponse, error)
	*FakeGRPCClientStream
}

FakeGetFlowsClient is used for unit tests and implements the observerpb.Observer_GetFlowsClient interface.

func (*FakeGetFlowsClient) Recv

Recv implements observerpb.Observer_GetFlowsClient.Recv.

type FakeGetFlowsServer

type FakeGetFlowsServer struct {
	OnSend func(response *observerpb.GetFlowsResponse) error
	*FakeGRPCServerStream
}

FakeGetFlowsServer is used for unit tests and implements the observerpb.Observer_GetFlowsServer interface.

func (*FakeGetFlowsServer) Send

Send implements observerpb.Observer_GetFlowsServer.Send.

type FakeIPGetter

type FakeIPGetter struct {
	OnGetK8sMetadata  func(ip net.IP) *ipcache.K8sMetadata
	OnLookupSecIDByIP func(ip net.IP) (ipcache.Identity, bool)
}

FakeIPGetter is used for unit tests that needs IPGetter.

func (*FakeIPGetter) GetK8sMetadata

func (f *FakeIPGetter) GetK8sMetadata(ip net.IP) *ipcache.K8sMetadata

GetK8sMetadata implements FakeIPGetter.GetK8sMetadata.

func (*FakeIPGetter) LookupSecIDByIP

func (f *FakeIPGetter) LookupSecIDByIP(ip net.IP) (ipcache.Identity, bool)

LookupSecIDByIP implements FakeIPGetter.LookupSecIDByIP.

type FakeIdentityGetter

type FakeIdentityGetter struct {
	OnGetIdentity func(securityIdentity uint32) (*models.Identity, error)
}

FakeIdentityGetter is used for unit tests that need IdentityGetter.

func (*FakeIdentityGetter) GetIdentity

func (f *FakeIdentityGetter) GetIdentity(securityIdentity uint32) (*models.Identity, error)

GetIdentity implements IdentityGetter.GetIPIdentity.

type FakeLinkGetter

type FakeLinkGetter struct{}

func (*FakeLinkGetter) GetIfNameCached

func (e *FakeLinkGetter) GetIfNameCached(ifindex int) (string, bool)

func (*FakeLinkGetter) Name

func (e *FakeLinkGetter) Name(ifindex uint32) string

type FakeObserverClient

FakeObserverClient is used for unit tests and implements the observerpb.ObserverClient interface.

func (*FakeObserverClient) GetAgentEvents

GetAgentEvents implements observerpb.ObserverClient.GetAgentEvents.

func (*FakeObserverClient) GetDebugEvents

GetDebugEvents implements observerpb.ObserverClient.GetDebugEvents.

func (*FakeObserverClient) GetFlows

GetFlows implements observerpb.ObserverClient.GetFlows.

func (*FakeObserverClient) GetNodes

GetNodes implements observerpb.ObserverClient.GetNodes.

func (*FakeObserverClient) ServerStatus

ServerStatus implements observerpb.ObserverClient.ServerStatus.

type FakePeerClient

type FakePeerClient struct {
	OnNotify func(ctx context.Context, in *peerpb.NotifyRequest, opts ...grpc.CallOption) (peerpb.Peer_NotifyClient, error)
	OnClose  func() error
}

FakePeerClient is used for unit tests and implements the peerTypes.Client interface.

func (*FakePeerClient) Close

func (c *FakePeerClient) Close() error

Close implements peerTypes.Client.Close.

func (*FakePeerClient) Notify

Notify implements peerTypes.Client.Notify.

type FakePeerClientBuilder

type FakePeerClientBuilder struct {
	OnClient func(target string) (peerTypes.Client, error)
}

FakePeerClientBuilder is used for unit tests and implements the peerTypes.ClientBuilder interface.

func (FakePeerClientBuilder) Client

func (b FakePeerClientBuilder) Client(target string) (peerTypes.Client, error)

Client implements peerTypes.ClientBuilder.Client.

type FakePeerListReporter

type FakePeerListReporter struct {
	OnList          func() []poolTypes.Peer
	OnReportOffline func(name string)
}

FakePeerListReporter is used for unit tests and implements the relay/observer.PeerListReporter interface.

func (*FakePeerListReporter) List

func (r *FakePeerListReporter) List() []poolTypes.Peer

List implements relay/observer.PeerListReporter.List.

func (*FakePeerListReporter) ReportOffline

func (r *FakePeerListReporter) ReportOffline(name string)

ReportOffline implements relay/observer.PeerListReporter.ReportOffline.

type FakePeerNotifyClient

type FakePeerNotifyClient struct {
	OnRecv func() (*peerpb.ChangeNotification, error)
	*FakeGRPCClientStream
}

FakePeerNotifyClient is used for unit tests and implements the peerpb.Peer_NotifyClient interface.

func (*FakePeerNotifyClient) Recv

Recv implements peerpb.Peer_NotifyClient.Recv.

type FakePeerNotifyServer

type FakePeerNotifyServer struct {
	OnSend func(response *peerpb.ChangeNotification) error
	*FakeGRPCServerStream
}

FakePeerNotifyServer is used for unit tests and implements the peerpb.Peer_NotifyServer interface.

func (*FakePeerNotifyServer) Send

Send implements peerpb.Peer_NotifyServer.Send.

type FakeServiceGetter

type FakeServiceGetter struct {
	OnGetServiceByAddr func(ip net.IP, port uint16) *flowpb.Service
}

FakeServiceGetter is used for unit tests that need ServiceGetter.

func (*FakeServiceGetter) GetServiceByAddr

func (f *FakeServiceGetter) GetServiceByAddr(ip net.IP, port uint16) *flowpb.Service

GetServiceByAddr implements FakeServiceGetter.GetServiceByAddr.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL