func (sess *Session) ProbeCC() string {
	return sess.MockableProbeCC
}
ProbeCC implements ExperimentSession.ProbeCC
package mockable
import (
	"context"
	"net/http"
	"net/url"
	"github.com/ooni/probe-engine/internal/kvstore"
	"github.com/ooni/probe-engine/internal/psiphonx"
	"github.com/ooni/probe-engine/internal/runtimex"
	"github.com/ooni/probe-engine/internal/torx"
	"github.com/ooni/probe-engine/internal/tunnel"
	"github.com/ooni/probe-engine/model"
	"github.com/ooni/probe-engine/probeservices"
	"github.com/ooni/probe-engine/probeservices/testorchestra"
)
type Session struct {
	MockableASNDatabasePath      string
	MockableTestHelpers          map[string][]model.Service
	MockableHTTPClient           *http.Client
	MockableLogger               model.Logger
	MockableMaybeResolverIP      string
	MockableOrchestraClient      model.ExperimentOrchestraClient
	MockableOrchestraClientError error
	MockableProbeASNString       string
	MockableProbeCC              string
	MockableProbeIP              string
	MockableProbeNetworkName     string
	MockableProxyURL             *url.URL
	MockableResolverIP           string
	MockableSoftwareName         string
	MockableSoftwareVersion      string
	MockableTempDir              string
	MockableTorArgs              []string
	MockableTorBinary            string
	MockableUserAgent            string
}
func (sess *Session) ASNDatabasePath() string {
	return sess.MockableASNDatabasePath
}
func (sess *Session) GetTestHelpersByName(name string) ([]model.Service, bool) {
	services, okay := sess.MockableTestHelpers[name]
	return services, okay
}
func (sess *Session) DefaultHTTPClient() *http.Client {
	return sess.MockableHTTPClient
}
func (sess *Session) KeyValueStore() model.KeyValueStore {
	return kvstore.NewMemoryKeyValueStore()
}
func (sess *Session) Logger() model.Logger {
	return sess.MockableLogger
}
func (sess *Session) MaybeResolverIP() string {
	return sess.MockableMaybeResolverIP
}
func (sess *Session) NewOrchestraClient(ctx context.Context) (model.ExperimentOrchestraClient, error) {
	if sess.MockableOrchestraClient != nil {
		return sess.MockableOrchestraClient, nil
	}
	if sess.MockableOrchestraClientError != nil {
		return nil, sess.MockableOrchestraClientError
	}
	clnt, err := probeservices.NewClient(sess, model.Service{
		Address: "https://ams-pg-test.ooni.org/",
		Type:    "https",
	})
	runtimex.PanicOnError(err, "orchestra.NewClient should not fail here")
	meta := testorchestra.MetadataFixture()
	if err := clnt.MaybeRegister(ctx, meta); err != nil {
		return nil, err
	}
	if err := clnt.MaybeLogin(ctx); err != nil {
		return nil, err
	}
	return clnt, nil
}
func (sess *Session) ProbeASNString() string {
	return sess.MockableProbeASNString
}