d0da224a2a
See https://github.com/ooni/probe/issues/2184 While there, rename `runtimex.PanicIfFalse` to `runtimex.Assert` (it was about time...)
162 lines
3.6 KiB
Go
162 lines
3.6 KiB
Go
package mocks
|
|
|
|
import (
|
|
"context"
|
|
"net/url"
|
|
|
|
"github.com/ooni/probe-cli/v3/internal/model"
|
|
)
|
|
|
|
// Session allows to mock sessions.
|
|
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)
|
|
}
|
|
|
|
func (sess *Session) GetTestHelpersByName(name string) ([]model.OOAPIService, bool) {
|
|
return sess.MockGetTestHelpersByName(name)
|
|
}
|
|
|
|
func (sess *Session) DefaultHTTPClient() model.HTTPClient {
|
|
return sess.MockDefaultHTTPClient()
|
|
}
|
|
|
|
func (sess *Session) FetchPsiphonConfig(ctx context.Context) ([]byte, error) {
|
|
return sess.MockFetchPsiphonConfig(ctx)
|
|
}
|
|
|
|
func (sess *Session) FetchTorTargets(
|
|
ctx context.Context, cc string) (map[string]model.OOAPITorTarget, error) {
|
|
return sess.MockFetchTorTargets(ctx, cc)
|
|
}
|
|
|
|
func (sess *Session) FetchURLList(
|
|
ctx context.Context, config model.OOAPIURLListConfig) ([]model.OOAPIURLInfo, error) {
|
|
return sess.MockFetchURLList(ctx, config)
|
|
}
|
|
|
|
func (sess *Session) KeyValueStore() model.KeyValueStore {
|
|
return sess.MockKeyValueStore()
|
|
}
|
|
|
|
func (sess *Session) Logger() model.Logger {
|
|
return sess.MockLogger()
|
|
}
|
|
|
|
func (sess *Session) MaybeResolverIP() string {
|
|
return sess.MockMaybeResolverIP()
|
|
}
|
|
|
|
func (sess *Session) ProbeASNString() string {
|
|
return sess.MockProbeASNString()
|
|
}
|
|
|
|
func (sess *Session) ProbeCC() string {
|
|
return sess.MockProbeCC()
|
|
}
|
|
|
|
func (sess *Session) ProbeIP() string {
|
|
return sess.MockProbeIP()
|
|
}
|
|
|
|
func (sess *Session) ProbeNetworkName() string {
|
|
return sess.MockProbeNetworkName()
|
|
}
|
|
|
|
func (sess *Session) ProxyURL() *url.URL {
|
|
return sess.MockProxyURL()
|
|
}
|
|
|
|
func (sess *Session) ResolverIP() string {
|
|
return sess.MockResolverIP()
|
|
}
|
|
|
|
func (sess *Session) SoftwareName() string {
|
|
return sess.MockSoftwareName()
|
|
}
|
|
|
|
func (sess *Session) SoftwareVersion() string {
|
|
return sess.MockSoftwareVersion()
|
|
}
|
|
|
|
func (sess *Session) TempDir() string {
|
|
return sess.MockTempDir()
|
|
}
|
|
|
|
func (sess *Session) TorArgs() []string {
|
|
return sess.MockTorArgs()
|
|
}
|
|
|
|
func (sess *Session) TorBinary() string {
|
|
return sess.MockTorBinary()
|
|
}
|
|
|
|
func (sess *Session) TunnelDir() string {
|
|
return sess.MockTunnelDir()
|
|
}
|
|
|
|
func (sess *Session) UserAgent() string {
|
|
return sess.MockUserAgent()
|
|
}
|
|
|
|
func (sess *Session) NewExperimentBuilder(name string) (model.ExperimentBuilder, error) {
|
|
return sess.MockNewExperimentBuilder(name)
|
|
}
|
|
|
|
func (sess *Session) NewSubmitter(ctx context.Context) (model.Submitter, error) {
|
|
return sess.MockNewSubmitter(ctx)
|
|
}
|
|
|
|
func (sess *Session) CheckIn(ctx context.Context,
|
|
config *model.OOAPICheckInConfig) (*model.OOAPICheckInInfo, error) {
|
|
return sess.MockCheckIn(ctx, config)
|
|
}
|