ooni-probe-cli/internal/model/mocks/session.go
Simone Basso d0da224a2a
feat(oonirun): improve tests (#915)
See https://github.com/ooni/probe/issues/2184

While there, rename `runtimex.PanicIfFalse` to `runtimex.Assert` (it was about time...)
2022-08-31 18:40:27 +02:00

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)
}