Documentation
¶
Overview ¶
Package mocks contains mocks for internal/model interfaces.
Index ¶
- type Addr
- type Conn
- func (c *Conn) Close() error
- func (c *Conn) LocalAddr() net.Addr
- func (c *Conn) Read(b []byte) (int, error)
- func (c *Conn) RemoteAddr() net.Addr
- func (c *Conn) SetDeadline(t time.Time) error
- func (c *Conn) SetReadDeadline(t time.Time) error
- func (c *Conn) SetWriteDeadline(t time.Time) error
- func (c *Conn) Write(b []byte) (int, error)
- type DNSDecoder
- type DNSEncoder
- type DNSQuery
- type DNSResponse
- func (r *DNSResponse) Bytes() []byte
- func (r *DNSResponse) DecodeCNAME() (string, error)
- func (r *DNSResponse) DecodeHTTPS() (*model.HTTPSSvc, error)
- func (r *DNSResponse) DecodeLookupHost() ([]string, error)
- func (r *DNSResponse) DecodeNS() ([]*net.NS, error)
- func (r *DNSResponse) Query() model.DNSQuery
- func (r *DNSResponse) Rcode() int
- type DNSTransport
- type Dialer
- type Experiment
- func (e *Experiment) GetSummaryKeys(m *model.Measurement) (any, error)
- func (e *Experiment) KibiBytesReceived() float64
- func (e *Experiment) KibiBytesSent() float64
- func (e *Experiment) MeasureAsync(ctx context.Context, input string) (<-chan *model.Measurement, error)
- func (e *Experiment) MeasureWithContext(ctx context.Context, input string) (measurement *model.Measurement, err error)
- func (e *Experiment) Name() string
- func (e *Experiment) OpenReportContext(ctx context.Context) error
- func (e *Experiment) ReportID() string
- func (e *Experiment) SaveMeasurement(measurement *model.Measurement, filePath string) error
- func (e *Experiment) SubmitAndUpdateMeasurementContext(ctx context.Context, measurement *model.Measurement) error
- type ExperimentBuilder
- func (eb *ExperimentBuilder) InputPolicy() model.InputPolicy
- func (eb *ExperimentBuilder) Interruptible() bool
- func (eb *ExperimentBuilder) NewExperiment() model.Experiment
- func (eb *ExperimentBuilder) Options() (map[string]model.ExperimentOptionInfo, error)
- func (eb *ExperimentBuilder) SetCallbacks(callbacks model.ExperimentCallbacks)
- func (eb *ExperimentBuilder) SetOptionAny(key string, value any) error
- func (eb *ExperimentBuilder) SetOptionsAny(options map[string]any) error
- type ExperimentInputLoader
- type ExperimentInputProcessor
- type HTTPClient
- type HTTPResponseWriter
- type HTTPTransport
- type KeyValueStore
- type Listener
- type Logger
- type QUICDialer
- type QUICEarlyConnection
- func (s *QUICEarlyConnection) AcceptStream(ctx context.Context) (quic.Stream, error)
- func (s *QUICEarlyConnection) AcceptUniStream(ctx context.Context) (quic.ReceiveStream, error)
- func (c *QUICEarlyConnection) CloseWithError(code quic.ApplicationErrorCode, reason string) error
- func (s *QUICEarlyConnection) ConnectionState() quic.ConnectionState
- func (s *QUICEarlyConnection) Context() context.Context
- func (s *QUICEarlyConnection) HandshakeComplete() context.Context
- func (c *QUICEarlyConnection) LocalAddr() net.Addr
- func (s *QUICEarlyConnection) NextConnection() quic.Connection
- func (s *QUICEarlyConnection) OpenStream() (quic.Stream, error)
- func (s *QUICEarlyConnection) OpenStreamSync(ctx context.Context) (quic.Stream, error)
- func (s *QUICEarlyConnection) OpenUniStream() (quic.SendStream, error)
- func (s *QUICEarlyConnection) OpenUniStreamSync(ctx context.Context) (quic.SendStream, error)
- func (s *QUICEarlyConnection) ReceiveMessage() ([]byte, error)
- func (c *QUICEarlyConnection) RemoteAddr() net.Addr
- func (s *QUICEarlyConnection) SendMessage(b []byte) error
- type QUICListener
- type Reader
- type Resolver
- func (r *Resolver) Address() string
- func (r *Resolver) CloseIdleConnections()
- func (r *Resolver) LookupHTTPS(ctx context.Context, domain string) (*model.HTTPSSvc, error)
- func (r *Resolver) LookupHost(ctx context.Context, domain string) ([]string, error)
- func (r *Resolver) LookupNS(ctx context.Context, domain string) ([]*net.NS, error)
- func (r *Resolver) Network() string
- type Saver
- type Session
- func (sess *Session) CheckIn(ctx context.Context, config *model.OOAPICheckInConfig) (*model.OOAPICheckInInfo, error)
- func (sess *Session) DefaultHTTPClient() model.HTTPClient
- func (sess *Session) FetchPsiphonConfig(ctx context.Context) ([]byte, error)
- func (sess *Session) FetchTorTargets(ctx context.Context, cc string) (map[string]model.OOAPITorTarget, error)
- func (sess *Session) FetchURLList(ctx context.Context, config model.OOAPIURLListConfig) ([]model.OOAPIURLInfo, error)
- func (sess *Session) GetTestHelpersByName(name string) ([]model.OOAPIService, bool)
- func (sess *Session) KeyValueStore() model.KeyValueStore
- func (sess *Session) Logger() model.Logger
- func (sess *Session) MaybeResolverIP() string
- func (sess *Session) NewExperimentBuilder(name string) (model.ExperimentBuilder, error)
- func (sess *Session) NewSubmitter(ctx context.Context) (model.Submitter, error)
- func (sess *Session) ProbeASNString() string
- func (sess *Session) ProbeCC() string
- func (sess *Session) ProbeIP() string
- func (sess *Session) ProbeNetworkName() string
- func (sess *Session) ProxyURL() *url.URL
- func (sess *Session) ResolverIP() string
- func (sess *Session) SoftwareName() string
- func (sess *Session) SoftwareVersion() string
- func (sess *Session) TempDir() string
- func (sess *Session) TorArgs() []string
- func (sess *Session) TorBinary() string
- func (sess *Session) TunnelDir() string
- func (sess *Session) UserAgent() string
- type Submitter
- type TLSConn
- type TLSDialer
- type TLSHandshaker
- type Trace
- func (t *Trace) MaybeWrapNetConn(conn net.Conn) net.Conn
- func (t *Trace) MaybeWrapUDPLikeConn(conn model.UDPLikeConn) model.UDPLikeConn
- func (t *Trace) OnConnectDone(started time.Time, network, domain, remoteAddr string, err error, ...)
- func (t *Trace) OnDNSRoundTripForLookupHost(started time.Time, reso model.Resolver, query model.DNSQuery, ...)
- func (t *Trace) OnDelayedDNSResponse(started time.Time, txp model.DNSTransport, query model.DNSQuery, ...) error
- func (t *Trace) OnQUICHandshakeDone(started time.Time, remoteAddr string, qconn quic.EarlyConnection, ...)
- func (t *Trace) OnQUICHandshakeStart(now time.Time, remoteAddr string, config *quic.Config)
- func (t *Trace) OnTLSHandshakeDone(started time.Time, remoteAddr string, config *tls.Config, ...)
- func (t *Trace) OnTLSHandshakeStart(now time.Time, remoteAddr string, config *tls.Config)
- func (t *Trace) TimeNow() time.Time
- type UDPLikeConn
- func (c *UDPLikeConn) Close() error
- func (c *UDPLikeConn) LocalAddr() net.Addr
- func (c *UDPLikeConn) ReadFrom(b []byte) (int, net.Addr, error)
- func (c *UDPLikeConn) RemoteAddr() net.Addr
- func (c *UDPLikeConn) SetDeadline(t time.Time) error
- func (c *UDPLikeConn) SetReadBuffer(n int) error
- func (c *UDPLikeConn) SetReadDeadline(t time.Time) error
- func (c *UDPLikeConn) SetWriteDeadline(t time.Time) error
- func (c *UDPLikeConn) SyscallConn() (syscall.RawConn, error)
- func (c *UDPLikeConn) WriteTo(p []byte, addr net.Addr) (int, error)
- type Writer
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Conn ¶
type Conn struct {
MockRead func(b []byte) (int, error)
MockWrite func(b []byte) (int, error)
MockClose func() error
MockLocalAddr func() net.Addr
MockRemoteAddr func() net.Addr
MockSetDeadline func(t time.Time) error
MockSetReadDeadline func(t time.Time) error
MockSetWriteDeadline func(t time.Time) error
}
Conn is a mockable net.Conn.
func (*Conn) SetDeadline ¶
SetDeadline calls MockSetDeadline.
func (*Conn) SetReadDeadline ¶
SetReadDeadline calls MockSetReadDeadline.
func (*Conn) SetWriteDeadline ¶
SetWriteDeadline calls MockSetWriteDeadline.
type DNSDecoder ¶
type DNSDecoder struct {
MockDecodeResponse func(data []byte, query model.DNSQuery) (model.DNSResponse, error)
}
DNSDecoder allows mocking model.DNSDecoder.
func (*DNSDecoder) DecodeResponse ¶ added in v3.16.0
func (e *DNSDecoder) DecodeResponse(data []byte, query model.DNSQuery) (model.DNSResponse, error)
type DNSEncoder ¶
type DNSEncoder struct {
MockEncode func(domain string, qtype uint16, padding bool) model.DNSQuery
}
DNSEncoder allows mocking model.DNSEncoder.
type DNSQuery ¶ added in v3.16.0
type DNSQuery struct {
MockDomain func() string
MockType func() uint16
MockBytes func() ([]byte, error)
MockID func() uint16
}
DNSQuery allocks mocking model.DNSQuery.
type DNSResponse ¶ added in v3.16.0
type DNSResponse struct {
MockQuery func() model.DNSQuery
MockBytes func() []byte
MockRcode func() int
MockDecodeHTTPS func() (*model.HTTPSSvc, error)
MockDecodeLookupHost func() ([]string, error)
MockDecodeNS func() ([]*net.NS, error)
MockDecodeCNAME func() (string, error)
}
DNSResponse allows mocking model.DNSResponse.
func (*DNSResponse) Bytes ¶ added in v3.16.0
func (r *DNSResponse) Bytes() []byte
func (*DNSResponse) DecodeCNAME ¶ added in v3.16.0
func (r *DNSResponse) DecodeCNAME() (string, error)
func (*DNSResponse) DecodeHTTPS ¶ added in v3.16.0
func (r *DNSResponse) DecodeHTTPS() (*model.HTTPSSvc, error)
func (*DNSResponse) DecodeLookupHost ¶ added in v3.16.0
func (r *DNSResponse) DecodeLookupHost() ([]string, error)
func (*DNSResponse) Query ¶ added in v3.16.0
func (r *DNSResponse) Query() model.DNSQuery
func (*DNSResponse) Rcode ¶ added in v3.16.0
func (r *DNSResponse) Rcode() int
type DNSTransport ¶
type DNSTransport struct {
MockRoundTrip func(ctx context.Context, query model.DNSQuery) (model.DNSResponse, error)
MockRequiresPadding func() bool
MockNetwork func() string
MockAddress func() string
MockCloseIdleConnections func()
}
DNSTransport allows mocking dnsx.DNSTransport.
func (*DNSTransport) CloseIdleConnections ¶
func (txp *DNSTransport) CloseIdleConnections()
CloseIdleConnections calls MockCloseIdleConnections.
func (*DNSTransport) RequiresPadding ¶
func (txp *DNSTransport) RequiresPadding() bool
RequiresPadding calls MockRequiresPadding.
func (*DNSTransport) RoundTrip ¶
func (txp *DNSTransport) RoundTrip(ctx context.Context, query model.DNSQuery) (model.DNSResponse, error)
RoundTrip calls MockRoundTrip.
type Dialer ¶
type Dialer struct {
MockDialContext func(ctx context.Context, network, address string) (net.Conn, error)
MockCloseIdleConnections func()
}
Dialer is a mockable Dialer.
func (*Dialer) CloseIdleConnections ¶
func (d *Dialer) CloseIdleConnections()
CloseIdleConnections calls MockCloseIdleConnections.
type Experiment ¶ added in v3.16.0
type Experiment struct {
MockKibiBytesReceived func() float64
MockKibiBytesSent func() float64
MockName func() string
MockGetSummaryKeys func(m *model.Measurement) (any, error)
MockReportID func() string
MockMeasureAsync func(ctx context.Context, input string) (<-chan *model.Measurement, error)
MockMeasureWithContext func(
ctx context.Context, input string) (measurement *model.Measurement, err error)
MockSaveMeasurement func(measurement *model.Measurement, filePath string) error
MockSubmitAndUpdateMeasurementContext func(
ctx context.Context, measurement *model.Measurement) error
MockOpenReportContext func(ctx context.Context) error
}
Experiment mocks model.Experiment
func (*Experiment) GetSummaryKeys ¶ added in v3.16.0
func (e *Experiment) GetSummaryKeys(m *model.Measurement) (any, error)
func (*Experiment) KibiBytesReceived ¶ added in v3.16.0
func (e *Experiment) KibiBytesReceived() float64
func (*Experiment) KibiBytesSent ¶ added in v3.16.0
func (e *Experiment) KibiBytesSent() float64
func (*Experiment) MeasureAsync ¶ added in v3.16.0
func (e *Experiment) MeasureAsync( ctx context.Context, input string) (<-chan *model.Measurement, error)
func (*Experiment) MeasureWithContext ¶ added in v3.16.0
func (e *Experiment) MeasureWithContext( ctx context.Context, input string) (measurement *model.Measurement, err error)
func (*Experiment) Name ¶ added in v3.16.0
func (e *Experiment) Name() string
func (*Experiment) OpenReportContext ¶ added in v3.16.0
func (e *Experiment) OpenReportContext(ctx context.Context) error
func (*Experiment) ReportID ¶ added in v3.16.0
func (e *Experiment) ReportID() string
func (*Experiment) SaveMeasurement ¶ added in v3.16.0
func (e *Experiment) SaveMeasurement(measurement *model.Measurement, filePath string) error
func (*Experiment) SubmitAndUpdateMeasurementContext ¶ added in v3.16.0
func (e *Experiment) SubmitAndUpdateMeasurementContext( ctx context.Context, measurement *model.Measurement) error
type ExperimentBuilder ¶ added in v3.16.0
type ExperimentBuilder struct {
MockInterruptible func() bool
MockInputPolicy func() model.InputPolicy
MockOptions func() (map[string]model.ExperimentOptionInfo, error)
MockSetOptionAny func(key string, value any) error
MockSetOptionsAny func(options map[string]any) error
MockSetCallbacks func(callbacks model.ExperimentCallbacks)
MockNewExperiment func() model.Experiment
}
ExperimentBuilder mocks model.ExperimentBuilder.
func (*ExperimentBuilder) InputPolicy ¶ added in v3.16.0
func (eb *ExperimentBuilder) InputPolicy() model.InputPolicy
func (*ExperimentBuilder) Interruptible ¶ added in v3.16.0
func (eb *ExperimentBuilder) Interruptible() bool
func (*ExperimentBuilder) NewExperiment ¶ added in v3.16.0
func (eb *ExperimentBuilder) NewExperiment() model.Experiment
func (*ExperimentBuilder) Options ¶ added in v3.16.0
func (eb *ExperimentBuilder) Options() (map[string]model.ExperimentOptionInfo, error)
func (*ExperimentBuilder) SetCallbacks ¶ added in v3.16.0
func (eb *ExperimentBuilder) SetCallbacks(callbacks model.ExperimentCallbacks)
func (*ExperimentBuilder) SetOptionAny ¶ added in v3.16.0
func (eb *ExperimentBuilder) SetOptionAny(key string, value any) error
func (*ExperimentBuilder) SetOptionsAny ¶ added in v3.16.0
func (eb *ExperimentBuilder) SetOptionsAny(options map[string]any) error
type ExperimentInputLoader ¶ added in v3.16.0
type ExperimentInputLoader struct {
MockLoad func(ctx context.Context) ([]model.OOAPIURLInfo, error)
}
ExperimentInputLoader mocks model.ExperimentInputLoader
func (*ExperimentInputLoader) Load ¶ added in v3.16.0
func (eil *ExperimentInputLoader) Load(ctx context.Context) ([]model.OOAPIURLInfo, error)
Load calls MockLoad
type ExperimentInputProcessor ¶ added in v3.16.0
ExperimentInputProcessor processes inputs running the given experiment.
type HTTPClient ¶
type HTTPClient struct {
MockDo func(req *http.Request) (*http.Response, error)
MockCloseIdleConnections func()
}
HTTPClient allows mocking an http.Client.
func (*HTTPClient) CloseIdleConnections ¶
func (txp *HTTPClient) CloseIdleConnections()
CloseIdleConnections calls MockCloseIdleConnections.
type HTTPResponseWriter ¶ added in v3.16.0
type HTTPResponseWriter struct {
MockHeader func() http.Header
MockWrite func(b []byte) (int, error)
MockWriteHeader func(statusCode int)
}
HTTPResponseWriter allows mocking http.ResponseWriter.
func (*HTTPResponseWriter) Header ¶ added in v3.16.0
func (w *HTTPResponseWriter) Header() http.Header
func (*HTTPResponseWriter) Write ¶ added in v3.16.0
func (w *HTTPResponseWriter) Write(b []byte) (int, error)
func (*HTTPResponseWriter) WriteHeader ¶ added in v3.16.0
func (w *HTTPResponseWriter) WriteHeader(statusCode int)
type HTTPTransport ¶
type HTTPTransport struct {
MockNetwork func() string
MockRoundTrip func(req *http.Request) (*http.Response, error)
MockCloseIdleConnections func()
}
HTTPTransport mocks netxlite.HTTPTransport.
func (*HTTPTransport) CloseIdleConnections ¶
func (txp *HTTPTransport) CloseIdleConnections()
CloseIdleConnections calls MockCloseIdleConnections.
func (*HTTPTransport) Network ¶
func (txp *HTTPTransport) Network() string
Network calls MockNetwork.
type KeyValueStore ¶ added in v3.16.0
type KeyValueStore struct {
MockGet func(key string) (value []byte, err error)
MockSet func(key string, value []byte) (err error)
}
KeyValueStore allows mocking model.KeyValueStore.
type Listener ¶
type Listener struct {
// Accept allows mocking Accept.
MockAccept func() (net.Conn, error)
// Close allows mocking Close.
MockClose func() error
// Addr allows mocking Addr.
MockAddr func() net.Addr
}
Listener allows mocking a net.Listener.
type Logger ¶
type Logger struct {
MockDebug func(message string)
MockDebugf func(format string, v ...interface{})
MockInfo func(message string)
MockInfof func(format string, v ...interface{})
MockWarn func(message string)
MockWarnf func(format string, v ...interface{})
}
Logger allows mocking a logger.
type QUICDialer ¶
type QUICDialer struct {
// MockDialContext allows mocking DialContext.
MockDialContext func(ctx context.Context, address string,
tlsConfig *tls.Config, quicConfig *quic.Config) (quic.EarlyConnection, error)
// MockCloseIdleConnections allows mocking CloseIdleConnections.
MockCloseIdleConnections func()
}
QUICDialer is a mockable netxlite.QUICDialer.
func (*QUICDialer) CloseIdleConnections ¶
func (qcd *QUICDialer) CloseIdleConnections()
CloseIdleConnections calls MockCloseIdleConnections.
func (*QUICDialer) DialContext ¶
func (qcd *QUICDialer) DialContext(ctx context.Context, address string, tlsConfig *tls.Config, quicConfig *quic.Config) (quic.EarlyConnection, error)
DialContext calls MockDialContext.
type QUICEarlyConnection ¶ added in v3.15.0
type QUICEarlyConnection struct {
MockAcceptStream func(context.Context) (quic.Stream, error)
MockAcceptUniStream func(context.Context) (quic.ReceiveStream, error)
MockOpenStream func() (quic.Stream, error)
MockOpenStreamSync func(ctx context.Context) (quic.Stream, error)
MockOpenUniStream func() (quic.SendStream, error)
MockOpenUniStreamSync func(ctx context.Context) (quic.SendStream, error)
MockLocalAddr func() net.Addr
MockRemoteAddr func() net.Addr
MockCloseWithError func(code quic.ApplicationErrorCode, reason string) error
MockContext func() context.Context
MockConnectionState func() quic.ConnectionState
MockHandshakeComplete func() context.Context
MockNextConnection func() quic.Connection
MockSendMessage func(b []byte) error
MockReceiveMessage func() ([]byte, error)
}
QUICEarlyConnection is a mockable quic.EarlyConnection.
func (*QUICEarlyConnection) AcceptStream ¶ added in v3.15.0
AcceptStream calls MockAcceptStream.
func (*QUICEarlyConnection) AcceptUniStream ¶ added in v3.15.0
func (s *QUICEarlyConnection) AcceptUniStream(ctx context.Context) (quic.ReceiveStream, error)
AcceptUniStream calls MockAcceptUniStream.
func (*QUICEarlyConnection) CloseWithError ¶ added in v3.15.0
func (c *QUICEarlyConnection) CloseWithError( code quic.ApplicationErrorCode, reason string) error
CloseWithError calls MockCloseWithError.
func (*QUICEarlyConnection) ConnectionState ¶ added in v3.15.0
func (s *QUICEarlyConnection) ConnectionState() quic.ConnectionState
ConnectionState calls MockConnectionState.
func (*QUICEarlyConnection) Context ¶ added in v3.15.0
func (s *QUICEarlyConnection) Context() context.Context
Context calls MockContext.
func (*QUICEarlyConnection) HandshakeComplete ¶ added in v3.15.0
func (s *QUICEarlyConnection) HandshakeComplete() context.Context
HandshakeComplete calls MockHandshakeComplete.
func (*QUICEarlyConnection) LocalAddr ¶ added in v3.15.0
func (c *QUICEarlyConnection) LocalAddr() net.Addr
LocalAddr class MockLocalAddr.
func (*QUICEarlyConnection) NextConnection ¶ added in v3.15.0
func (s *QUICEarlyConnection) NextConnection() quic.Connection
NextConnection calls MockNextConnection.
func (*QUICEarlyConnection) OpenStream ¶ added in v3.15.0
func (s *QUICEarlyConnection) OpenStream() (quic.Stream, error)
OpenStream calls MockOpenStream.
func (*QUICEarlyConnection) OpenStreamSync ¶ added in v3.15.0
OpenStreamSync calls MockOpenStreamSync.
func (*QUICEarlyConnection) OpenUniStream ¶ added in v3.15.0
func (s *QUICEarlyConnection) OpenUniStream() (quic.SendStream, error)
OpenUniStream calls MockOpenUniStream.
func (*QUICEarlyConnection) OpenUniStreamSync ¶ added in v3.15.0
func (s *QUICEarlyConnection) OpenUniStreamSync(ctx context.Context) (quic.SendStream, error)
OpenUniStreamSync calls MockOpenUniStreamSync.
func (*QUICEarlyConnection) ReceiveMessage ¶ added in v3.15.0
func (s *QUICEarlyConnection) ReceiveMessage() ([]byte, error)
ReceiveMessage calls MockReceiveMessage.
func (*QUICEarlyConnection) RemoteAddr ¶ added in v3.15.0
func (c *QUICEarlyConnection) RemoteAddr() net.Addr
RemoteAddr calls MockRemoteAddr.
func (*QUICEarlyConnection) SendMessage ¶ added in v3.15.0
func (s *QUICEarlyConnection) SendMessage(b []byte) error
SendMessage calls MockSendMessage.
type QUICListener ¶
type QUICListener struct {
MockListen func(addr *net.UDPAddr) (model.UDPLikeConn, error)
}
QUICListener is a mockable netxlite.QUICListener.
func (*QUICListener) Listen ¶
func (ql *QUICListener) Listen(addr *net.UDPAddr) (model.UDPLikeConn, error)
Listen calls MockListen.
type Resolver ¶
type Resolver struct {
MockLookupHost func(ctx context.Context, domain string) ([]string, error)
MockNetwork func() string
MockAddress func() string
MockCloseIdleConnections func()
MockLookupHTTPS func(ctx context.Context, domain string) (*model.HTTPSSvc, error)
MockLookupNS func(ctx context.Context, domain string) ([]*net.NS, error)
}
Resolver is a mockable Resolver.
func (*Resolver) CloseIdleConnections ¶
func (r *Resolver) CloseIdleConnections()
CloseIdleConnections calls MockCloseIdleConnections.
func (*Resolver) LookupHTTPS ¶
LookupHTTPS calls MockLookupHTTPS.
func (*Resolver) LookupHost ¶
LookupHost calls MockLookupHost.
type Saver ¶ added in v3.16.0
type Saver struct {
MockSaveMeasurement func(m *model.Measurement) error
}
Saver saves a measurement on some persistent storage.
func (*Saver) SaveMeasurement ¶ added in v3.16.0
func (s *Saver) SaveMeasurement(m *model.Measurement) error
type Session ¶ added in v3.16.0
type Session struct {
MockGetTestHelpersByName func(name string) ([]model.OOAPIService, bool)
MockDefaultHTTPClient func() model.HTTPClient
MockFetchPsiphonConfig func(ctx context.Context) ([]byte, error)
MockFetchTorTargets func(
ctx context.Context, cc string) (map[string]model.OOAPITorTarget, error)
MockFetchURLList func(
ctx context.Context, config model.OOAPIURLListConfig) ([]model.OOAPIURLInfo, error)
MockKeyValueStore func() model.KeyValueStore
MockLogger func() model.Logger
MockMaybeResolverIP func() string
MockProbeASNString func() string
MockProbeCC func() string
MockProbeIP func() string
MockProbeNetworkName func() string
MockProxyURL func() *url.URL
MockResolverIP func() string
MockSoftwareName func() string
MockSoftwareVersion func() string
MockTempDir func() string
MockTorArgs func() []string
MockTorBinary func() string
MockTunnelDir func() string
MockUserAgent func() string
MockNewExperimentBuilder func(name string) (model.ExperimentBuilder, error)
MockNewSubmitter func(ctx context.Context) (model.Submitter, error)
MockCheckIn func(ctx context.Context,
config *model.OOAPICheckInConfig) (*model.OOAPICheckInInfo, error)
}
Session allows to mock sessions.
func (*Session) CheckIn ¶ added in v3.16.0
func (sess *Session) CheckIn(ctx context.Context, config *model.OOAPICheckInConfig) (*model.OOAPICheckInInfo, error)
func (*Session) DefaultHTTPClient ¶ added in v3.16.0
func (sess *Session) DefaultHTTPClient() model.HTTPClient
func (*Session) FetchPsiphonConfig ¶ added in v3.16.0
func (*Session) FetchTorTargets ¶ added in v3.16.0
func (*Session) FetchURLList ¶ added in v3.16.0
func (sess *Session) FetchURLList( ctx context.Context, config model.OOAPIURLListConfig) ([]model.OOAPIURLInfo, error)
func (*Session) GetTestHelpersByName ¶ added in v3.16.0
func (sess *Session) GetTestHelpersByName(name string) ([]model.OOAPIService, bool)
func (*Session) KeyValueStore ¶ added in v3.16.0
func (sess *Session) KeyValueStore() model.KeyValueStore
func (*Session) MaybeResolverIP ¶ added in v3.16.0
func (*Session) NewExperimentBuilder ¶ added in v3.16.0
func (sess *Session) NewExperimentBuilder(name string) (model.ExperimentBuilder, error)
func (*Session) NewSubmitter ¶ added in v3.16.0
func (*Session) ProbeASNString ¶ added in v3.16.0
func (*Session) ProbeNetworkName ¶ added in v3.16.0
func (*Session) ResolverIP ¶ added in v3.16.0
func (*Session) SoftwareName ¶ added in v3.16.0
func (*Session) SoftwareVersion ¶ added in v3.16.0
type Submitter ¶ added in v3.16.0
type Submitter struct {
MockSubmit func(ctx context.Context, m *model.Measurement) error
}
Submitter mocks model.Submitter.
type TLSConn ¶
type TLSConn struct {
// Conn is the embedded mockable Conn.
Conn
// MockConnectionState allows to mock the ConnectionState method.
MockConnectionState func() tls.ConnectionState
// MockHandshakeContext allows to mock the HandshakeContext method.
MockHandshakeContext func(ctx context.Context) error
// MockNetConn returns the underlying net.Conn
MockNetConn func() net.Conn
}
TLSConn allows to mock netxlite.TLSConn.
func (*TLSConn) ConnectionState ¶
func (c *TLSConn) ConnectionState() tls.ConnectionState
ConnectionState calls MockConnectionState.
func (*TLSConn) HandshakeContext ¶
HandshakeContext calls MockHandshakeContext.
type TLSDialer ¶
type TLSDialer struct {
// MockCloseIdleConnections allows to mock the CloseIdleConnections method.
MockCloseIdleConnections func()
// MockDialTLSContext allows to mock the DialTLSContext method.
MockDialTLSContext func(ctx context.Context, network, address string) (net.Conn, error)
}
TLSDialer allows to mock netxlite.TLSDialer.
func (*TLSDialer) CloseIdleConnections ¶
func (d *TLSDialer) CloseIdleConnections()
CloseIdleConnections calls MockCloseIdleConnections.
type TLSHandshaker ¶
type TLSHandshaker struct {
MockHandshake func(ctx context.Context, conn net.Conn, config *tls.Config) (
net.Conn, tls.ConnectionState, error)
}
TLSHandshaker is a mockable TLS handshaker.
type Trace ¶ added in v3.16.0
type Trace struct {
MockTimeNow func() time.Time
MockMaybeWrapNetConn func(conn net.Conn) net.Conn
MockMaybeWrapUDPLikeConn func(conn model.UDPLikeConn) model.UDPLikeConn
MockOnDNSRoundTripForLookupHost func(started time.Time, reso model.Resolver, query model.DNSQuery,
response model.DNSResponse, addrs []string, err error, finished time.Time)
MockOnDelayedDNSResponse func(started time.Time, txp model.DNSTransport, query model.DNSQuery,
response model.DNSResponse, addrs []string, err error, finished time.Time) error
MockOnConnectDone func(
started time.Time, network, domain, remoteAddr string, err error, finished time.Time)
MockOnTLSHandshakeStart func(now time.Time, remoteAddr string, config *tls.Config)
MockOnTLSHandshakeDone func(started time.Time, remoteAddr string, config *tls.Config,
state tls.ConnectionState, err error, finished time.Time)
MockOnQUICHandshakeStart func(now time.Time, remoteAddrs string, config *quic.Config)
MockOnQUICHandshakeDone func(started time.Time, remoteAddr string, qconn quic.EarlyConnection,
config *tls.Config, err error, finished time.Time)
}
Trace allows mocking model.Trace.
func (*Trace) MaybeWrapNetConn ¶ added in v3.16.0
func (*Trace) MaybeWrapUDPLikeConn ¶ added in v3.16.0
func (t *Trace) MaybeWrapUDPLikeConn(conn model.UDPLikeConn) model.UDPLikeConn
func (*Trace) OnConnectDone ¶ added in v3.16.0
func (*Trace) OnDNSRoundTripForLookupHost ¶ added in v3.16.0
func (*Trace) OnDelayedDNSResponse ¶ added in v3.16.0
func (*Trace) OnQUICHandshakeDone ¶ added in v3.16.0
func (*Trace) OnQUICHandshakeStart ¶ added in v3.16.0
func (*Trace) OnTLSHandshakeDone ¶ added in v3.16.0
func (*Trace) OnTLSHandshakeStart ¶ added in v3.16.0
type UDPLikeConn ¶
type UDPLikeConn struct {
MockWriteTo func(p []byte, addr net.Addr) (int, error)
MockClose func() error
MockLocalAddr func() net.Addr
MockRemoteAddr func() net.Addr
MockSetDeadline func(t time.Time) error
MockSetReadDeadline func(t time.Time) error
MockSetWriteDeadline func(t time.Time) error
MockReadFrom func(p []byte) (int, net.Addr, error)
MockSyscallConn func() (syscall.RawConn, error)
MockSetReadBuffer func(n int) error
}
UDPLikeConn is an UDP conn used by QUIC.
func (*UDPLikeConn) LocalAddr ¶
func (c *UDPLikeConn) LocalAddr() net.Addr
LocalAddr calls MockLocalAddr.
func (*UDPLikeConn) RemoteAddr ¶
func (c *UDPLikeConn) RemoteAddr() net.Addr
RemoteAddr calls MockRemoteAddr.
func (*UDPLikeConn) SetDeadline ¶
func (c *UDPLikeConn) SetDeadline(t time.Time) error
SetDeadline calls MockSetDeadline.
func (*UDPLikeConn) SetReadBuffer ¶
func (c *UDPLikeConn) SetReadBuffer(n int) error
SetReadBuffer calls MockSetReadBuffer.
func (*UDPLikeConn) SetReadDeadline ¶
func (c *UDPLikeConn) SetReadDeadline(t time.Time) error
SetReadDeadline calls MockSetReadDeadline.
func (*UDPLikeConn) SetWriteDeadline ¶
func (c *UDPLikeConn) SetWriteDeadline(t time.Time) error
SetWriteDeadline calls MockSetWriteDeadline.
func (*UDPLikeConn) SyscallConn ¶
func (c *UDPLikeConn) SyscallConn() (syscall.RawConn, error)
SyscallConn calls MockSyscallConn.