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
func (s *QUICEarlyConnection) AcceptStream(ctx context.Context) (quic.Stream, error)
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
func (s *QUICEarlyConnection) OpenStreamSync(ctx context.Context) (quic.Stream, error)
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.
Source Files ¶
- addr.go
- dialer.go
- dnsdecoder.go
- dnsencoder.go
- dnsquery.go
- dnsresponse.go
- dnstransport.go
- doc.go
- experiment.go
- experimentbuilder.go
- experimentinputloader.go
- experimentinputprocessor.go
- http.go
- keyvaluestore.go
- listener.go
- logger.go
- quic.go
- reader.go
- resolver.go
- saver.go
- session.go
- submitter.go
- tls.go
- trace.go
- writer.go