arvadostest

package
v0.0.0-...-3a12293 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 20, 2024 License: AGPL-3.0, Apache-2.0, CC-BY-SA-3.0 Imports: 36 Imported by: 0

Documentation

Index

Constants

View Source
const (
	SpectatorToken          = "zw2f4gwx8hw8cjre7yp6v1zylhrhn3m5gvjq73rtpwhmknrybu"
	ActiveToken             = "3kg6k6lzmp9kj5cpkcoxie963cmvjahbt2fod9zru30k1jqdmi"
	ActiveTokenUUID         = "zzzzz-gj3su-077z32aux8dg2s1"
	ActiveTokenV2           = "v2/zzzzz-gj3su-077z32aux8dg2s1/3kg6k6lzmp9kj5cpkcoxie963cmvjahbt2fod9zru30k1jqdmi"
	AdminUserUUID           = "zzzzz-tpzed-d9tiejq69daie8f"
	AdminToken              = "4axaw8zxe0qm22wa6urpp5nskcne8z88cvbupv653y1njyi05h"
	AdminTokenUUID          = "zzzzz-gj3su-027z32aux8dg2s1"
	AnonymousToken          = "4kg6k6lzmp9kj4cpkcoxie964cmvjahbt4fod9zru44k4jqdmi"
	DataManagerToken        = "320mkve8qkswstz7ff61glpk3mhgghmg67wmic7elw4z41pke1"
	SystemRootToken         = "systemusertesttoken1234567890aoeuidhtnsqjkxbmwvzpy"
	ManagementToken         = "e687950a23c3a9bceec28c6223a06c79"
	ActiveUserUUID          = "zzzzz-tpzed-xurymjxw79nv3jz"
	FederatedActiveUserUUID = "zbbbb-tpzed-xurymjxw79nv3jz"
	SpectatorUserUUID       = "zzzzz-tpzed-l1s2piq4t4mps8r"
	UserAgreementCollection = "zzzzz-4zz18-uukreo9rbgwsujr" // user_agreement_in_anonymously_accessible_project
	FooCollectionName       = "zzzzz-4zz18-fy296fx3hot09f7 added sometime"
	FooCollection           = "zzzzz-4zz18-fy296fx3hot09f7"
	FooCollectionPDH        = "1f4b0bc7583c2a7f9102c395f4ffc5e3+45"
	NonexistentCollection   = "zzzzz-4zz18-totallynotexist"
	HelloWorldCollection    = "zzzzz-4zz18-4en62shvi99lxd4"
	FooBarDirCollection     = "zzzzz-4zz18-foonbarfilesdir"
	WazVersion1Collection   = "zzzzz-4zz18-25k12570yk1ver1"
	UserAgreementPDH        = "b519d9cb706a29fc7ea24dbea2f05851+93"
	HelloWorldPdh           = "55713e6a34081eb03609e7ad5fcad129+62"

	MultilevelCollection1                        = "zzzzz-4zz18-pyw8yp9g3pr7irn"
	MultilevelCollection1PDH                     = "f9ddda46bb293b6847da984e3aa735db+290"
	StorageClassesDesiredDefaultConfirmedDefault = "zzzzz-4zz18-3t236wr12769tga"
	StorageClassesDesiredArchiveConfirmedDefault = "zzzzz-4zz18-3t236wr12769qqa"
	EmptyCollectionUUID                          = "zzzzz-4zz18-gs9ooj1h9sd5mde"

	AProjectUUID     = "zzzzz-j7d0g-v955i6s2oi1cbso"
	ASubprojectUUID  = "zzzzz-j7d0g-axqo7eu9pwvna1x"
	AFilterGroupUUID = "zzzzz-j7d0g-thisfiltergroup"

	FooAndBarFilesInDirUUID = "zzzzz-4zz18-foonbarfilesdir"
	FooAndBarFilesInDirPDH  = "870369fc72738603c2fad16664e50e2d+58"

	QueuedContainerRequestUUID = "zzzzz-xvhdp-cr4queuedcontnr"
	QueuedContainerUUID        = "zzzzz-dz642-queuedcontainer"

	LockedContainerUUID = "zzzzz-dz642-lockedcontainer"

	RunningContainerUUID = "zzzzz-dz642-runningcontainr"

	CompletedContainerUUID         = "zzzzz-dz642-compltcontainer"
	CompletedContainerRequestUUID  = "zzzzz-xvhdp-cr4completedctr"
	CompletedContainerRequestUUID2 = "zzzzz-xvhdp-cr4completedcr2"

	CompletedDiagnosticsContainerRequest1UUID     = "zzzzz-xvhdp-diagnostics0001"
	CompletedDiagnosticsContainerRequest2UUID     = "zzzzz-xvhdp-diagnostics0002"
	CompletedDiagnosticsContainer1UUID            = "zzzzz-dz642-diagcompreq0001"
	CompletedDiagnosticsContainer2UUID            = "zzzzz-dz642-diagcompreq0002"
	DiagnosticsContainerRequest1LogCollectionUUID = "zzzzz-4zz18-diagcompreqlog1"
	DiagnosticsContainerRequest2LogCollectionUUID = "zzzzz-4zz18-diagcompreqlog2"

	CompletedDiagnosticsHasher1ContainerRequestUUID = "zzzzz-xvhdp-diag1hasher0001"
	CompletedDiagnosticsHasher2ContainerRequestUUID = "zzzzz-xvhdp-diag1hasher0002"
	CompletedDiagnosticsHasher3ContainerRequestUUID = "zzzzz-xvhdp-diag1hasher0003"
	CompletedDiagnosticsHasher1ContainerUUID        = "zzzzz-dz642-diagcomphasher1"
	CompletedDiagnosticsHasher2ContainerUUID        = "zzzzz-dz642-diagcomphasher2"
	CompletedDiagnosticsHasher3ContainerUUID        = "zzzzz-dz642-diagcomphasher3"

	UncommittedContainerRequestUUID = "zzzzz-xvhdp-cr4uncommittedc"

	Hasher1LogCollectionUUID = "zzzzz-4zz18-dlogcollhash001"
	Hasher2LogCollectionUUID = "zzzzz-4zz18-dlogcollhash002"
	Hasher3LogCollectionUUID = "zzzzz-4zz18-dlogcollhash003"

	ArvadosRepoUUID = "zzzzz-s0uqq-arvadosrepo0123"
	ArvadosRepoName = "arvados"
	FooRepoUUID     = "zzzzz-s0uqq-382brsig8rp3666"
	FooRepoName     = "active/foo"
	Repository2UUID = "zzzzz-s0uqq-382brsig8rp3667"
	Repository2Name = "active/foo2"

	FooFileCollectionUUID             = "zzzzz-4zz18-znfnqtbbv4spc3w"
	FooFileCollectionSharingTokenUUID = "zzzzz-gj3su-gf02tdm4g1z3e3u"
	FooFileCollectionSharingToken     = "iknqgmunrhgsyfok8uzjlwun9iscwm3xacmzmg65fa1j1lpdss"
	BarFileCollectionUUID             = "zzzzz-4zz18-ehbhgtheo8909or"
	BarFileCollectionPDH              = "fa7aeb5140e2848d39b416daeef4ffc5+45"

	WorkflowWithDefinitionYAMLUUID = "zzzzz-7fd4e-validworkfloyml"

	CollectionReplicationDesired2Confirmed2UUID = "zzzzz-4zz18-434zv1tnnf2rygp"

	ActiveUserCanReadAllUsersLinkUUID = "zzzzz-o0j2j-ctbysaduejxfrs5"

	TrustedWorkbenchAPIClientUUID = "zzzzz-ozdt8-teyxzyd8qllg11h"

	AdminAuthorizedKeysUUID = "zzzzz-fngyi-12nc9ov4osp8nae"

	CrunchstatForRunningContainerLogUUID = "zzzzz-57u5n-containerlog006"

	IdleNodeUUID = "zzzzz-7ekkf-2z3mc76g2q73aio"

	TestVMUUID = "zzzzz-2x53u-382brsig8rp3064"

	CollectionWithUniqueWordsUUID = "zzzzz-4zz18-mnt690klmb51aud"

	LogCollectionUUID  = "zzzzz-4zz18-logcollection01"
	LogCollectionUUID2 = "zzzzz-4zz18-logcollection02"

	DockerImage112PDH      = "d740a57097711e08eb9b2a93518f20ab+174"
	DockerImage112Filename = "sha256:d8309758b8fe2c81034ffc8a10c36460b77db7bc5e7b448c4e5b684f9d95a678.tar"
)

IDs of API server's test fixtures

View Source
const BlobSigningKey = "zfhgfenhffzltr9dixws36j1yhksjoll2grmku38mi7yxd66h5j4q9w4jzanezacp8s6q0ro3hxakfye02152hncy6zml2ed0uc"

BlobSigningKey used by the test servers

View Source
const PathologicalManifest = ". acbd18db4cc2f85cedef654fccc4a4d8+3 37b51d194a7513e45b56f6524f2d51f2+3 73feffa4b7f6bb68e44cf984c85f6e88+3+Z+K@xyzzy acbd18db4cc2f85cedef654fccc4a4d8+3 0:0:zero@0 0:1:f 1:0:zero@1 1:4:ooba 4:0:zero@4 5:1:r 5:4:rbaz 9:0:zero@9\n" +
	"./overlapReverse acbd18db4cc2f85cedef654fccc4a4d8+3 acbd18db4cc2f85cedef654fccc4a4d8+3 5:1:o 4:2:oo 2:4:ofoo\n" +
	"./segmented acbd18db4cc2f85cedef654fccc4a4d8+3 37b51d194a7513e45b56f6524f2d51f2+3 0:1:frob 5:1:frob 1:1:frob 1:2:oof 0:1:oof 5:0:frob 3:1:frob\n" +
	`./foo\040b\141r acbd18db4cc2f85cedef654fccc4a4d8+3 0:3:baz` + "\n" +
	`./foo\040b\141r acbd18db4cc2f85cedef654fccc4a4d8+3 0:3:b\141z\040w\141z` + "\n" +
	"./foo acbd18db4cc2f85cedef654fccc4a4d8+3 0:0:zero 0:3:foo\n" +
	". acbd18db4cc2f85cedef654fccc4a4d8+3 0:0:foo/zero 0:3:foo/foo\n"

PathologicalManifest : A valid manifest designed to test various edge cases and parsing requirements

Variables

View Source
var (
	MD5CollisionData = [][]byte{
		[]byte("\x0e0eaU\x9a\xa7\x87\xd0\x0b\xc6\xf7\x0b\xbd\xfe4\x04\xcf\x03e\x9epO\x854\xc0\x0f\xfbe\x9cL\x87@\xcc\x94/\xeb-\xa1\x15\xa3\xf4\x15\\\xbb\x86\x07Is\x86em}\x1f4\xa4 Y\xd7\x8fZ\x8d\xd1\xef"),
		[]byte("\x0e0eaU\x9a\xa7\x87\xd0\x0b\xc6\xf7\x0b\xbd\xfe4\x04\xcf\x03e\x9etO\x854\xc0\x0f\xfbe\x9cL\x87@\xcc\x94/\xeb-\xa1\x15\xa3\xf4\x15\xdc\xbb\x86\x07Is\x86em}\x1f4\xa4 Y\xd7\x8fZ\x8d\xd1\xef"),
	}
	MD5CollisionMD5 = "cee9a457e790cf20d4bdaa6d69f01e41"
)

An MD5 collision.

View Source
var ErrStubUnimplemented = errors.New("stub unimplemented")
View Source
var TestCollectionPDHToManifest = map[string]string{
	FooCollectionPDH: ". acbd18db4cc2f85cedef654fccc4a4d8+3 0:3:foo\n",
	MultilevelCollection1PDH: `. d41d8cd98f00b204e9800998ecf8427e+0 0:0:file1 0:0:file2 0:0:file3
./dir1 d41d8cd98f00b204e9800998ecf8427e+0 0:0:file1 0:0:file2 0:0:file3
./dir1/subdir d41d8cd98f00b204e9800998ecf8427e+0 0:0:file1 0:0:file2 0:0:file3
./dir2 d41d8cd98f00b204e9800998ecf8427e+0 0:0:file1 0:0:file2 0:0:file3
`,
	FooAndBarFilesInDirPDH: "./dir1 3858f62230ac3c915f300c664312c63f+6 3:3:bar 0:3:foo\n",
	BarFileCollectionPDH:   ". 37b51d194a7513e45b56f6524f2d51f2+3 0:3:bar\n",
}

Functions

func BusyboxDockerImage

func BusyboxDockerImage(c *C) string

BusyboxDockerImage downloads the busybox:uclibc docker image (busybox_uclibc.tar) from cache.arvados.org into a temporary file and returns the temporary file name.

func CreateBadPath

func CreateBadPath() (badpath string, err error)

CreateBadPath creates a tmp dir, appends given string and returns that path This will guarantee that the path being returned does not exist

func DB

func DB(c *check.C, cluster *arvados.Cluster) *sqlx.DB

DB returns a DB connection for the given cluster config.

func DestroyBadPath

func DestroyBadPath(badpath string) error

DestroyBadPath deletes the tmp dir created by the previous CreateBadPath call

func FakeManifest

func FakeManifest(dirCount, filesPerDir, blocksPerFile, interleaveChunk int) string

func GatherMetricsAsString

func GatherMetricsAsString(reg *prometheus.Registry) string

func ResetDB

func ResetDB(c *check.C)

func ResetEnv

func ResetEnv()

ResetEnv resets ARVADOS_* env vars to whatever they were the first time this func was called.

Call it from your SetUpTest or SetUpSuite func if your tests modify env vars.

func SetServiceURL

func SetServiceURL(service *arvados.Service, internalURLs ...string)

SetServiceURL overrides the given service config/discovery with the given internalURLs.

ExternalURL is set to the last internalURL, which only aims to address the case where there is only one.

SetServiceURL panics on errors.

func StartKeep

func StartKeep(numKeepServers int, blobSigning bool)

StartKeep starts the given number of keep servers, optionally with --keep-blob-signing enabled. Use numKeepServers = 2 and blobSigning = false under all normal circumstances.

func StopKeep

func StopKeep(numKeepServers int)

StopKeep stops keep servers that were started with StartKeep. numkeepServers should be the same value that was passed to StartKeep, which is 2 under all normal circumstances.

Types

type APIStub

type APIStub struct {
	// The error to return from every stubbed API method.
	Error error
	// contains filtered or unexported fields
}

func (*APIStub) APIClientAuthorizationCreate

func (as *APIStub) APIClientAuthorizationCreate(ctx context.Context, options arvados.CreateOptions) (arvados.APIClientAuthorization, error)

func (*APIStub) APIClientAuthorizationCurrent

func (as *APIStub) APIClientAuthorizationCurrent(ctx context.Context, options arvados.GetOptions) (arvados.APIClientAuthorization, error)

func (*APIStub) APIClientAuthorizationDelete

func (as *APIStub) APIClientAuthorizationDelete(ctx context.Context, options arvados.DeleteOptions) (arvados.APIClientAuthorization, error)

func (*APIStub) APIClientAuthorizationGet

func (as *APIStub) APIClientAuthorizationGet(ctx context.Context, options arvados.GetOptions) (arvados.APIClientAuthorization, error)

func (*APIStub) APIClientAuthorizationList

func (as *APIStub) APIClientAuthorizationList(ctx context.Context, options arvados.ListOptions) (arvados.APIClientAuthorizationList, error)

func (*APIStub) APIClientAuthorizationUpdate

func (as *APIStub) APIClientAuthorizationUpdate(ctx context.Context, options arvados.UpdateOptions) (arvados.APIClientAuthorization, error)

func (*APIStub) AuthorizedKeyCreate

func (as *APIStub) AuthorizedKeyCreate(ctx context.Context, options arvados.CreateOptions) (arvados.AuthorizedKey, error)

func (*APIStub) AuthorizedKeyDelete

func (as *APIStub) AuthorizedKeyDelete(ctx context.Context, options arvados.DeleteOptions) (arvados.AuthorizedKey, error)

func (*APIStub) AuthorizedKeyGet

func (as *APIStub) AuthorizedKeyGet(ctx context.Context, options arvados.GetOptions) (arvados.AuthorizedKey, error)

func (*APIStub) AuthorizedKeyList

func (as *APIStub) AuthorizedKeyList(ctx context.Context, options arvados.ListOptions) (arvados.AuthorizedKeyList, error)

func (*APIStub) AuthorizedKeyUpdate

func (as *APIStub) AuthorizedKeyUpdate(ctx context.Context, options arvados.UpdateOptions) (arvados.AuthorizedKey, error)

func (*APIStub) BaseURL

func (as *APIStub) BaseURL() url.URL

BaseURL implements federation.backend

func (*APIStub) BlockRead

func (as *APIStub) BlockRead(ctx context.Context, options arvados.BlockReadOptions) (int, error)

func (*APIStub) BlockWrite

func (*APIStub) Calls

func (as *APIStub) Calls(method interface{}) []APIStubCall

func (*APIStub) CollectionCreate

func (as *APIStub) CollectionCreate(ctx context.Context, options arvados.CreateOptions) (arvados.Collection, error)

func (*APIStub) CollectionDelete

func (as *APIStub) CollectionDelete(ctx context.Context, options arvados.DeleteOptions) (arvados.Collection, error)

func (*APIStub) CollectionGet

func (as *APIStub) CollectionGet(ctx context.Context, options arvados.GetOptions) (arvados.Collection, error)

func (*APIStub) CollectionList

func (as *APIStub) CollectionList(ctx context.Context, options arvados.ListOptions) (arvados.CollectionList, error)

func (*APIStub) CollectionProvenance

func (as *APIStub) CollectionProvenance(ctx context.Context, options arvados.GetOptions) (map[string]interface{}, error)

func (*APIStub) CollectionTrash

func (as *APIStub) CollectionTrash(ctx context.Context, options arvados.DeleteOptions) (arvados.Collection, error)

func (*APIStub) CollectionUntrash

func (as *APIStub) CollectionUntrash(ctx context.Context, options arvados.UntrashOptions) (arvados.Collection, error)

func (*APIStub) CollectionUpdate

func (as *APIStub) CollectionUpdate(ctx context.Context, options arvados.UpdateOptions) (arvados.Collection, error)

func (*APIStub) CollectionUsedBy

func (as *APIStub) CollectionUsedBy(ctx context.Context, options arvados.GetOptions) (map[string]interface{}, error)

func (*APIStub) ComputedPermissionList

func (as *APIStub) ComputedPermissionList(ctx context.Context, options arvados.ListOptions) (arvados.ComputedPermissionList, error)

func (*APIStub) ConfigGet

func (as *APIStub) ConfigGet(ctx context.Context) (json.RawMessage, error)

func (*APIStub) ContainerCreate

func (as *APIStub) ContainerCreate(ctx context.Context, options arvados.CreateOptions) (arvados.Container, error)

func (*APIStub) ContainerDelete

func (as *APIStub) ContainerDelete(ctx context.Context, options arvados.DeleteOptions) (arvados.Container, error)

func (*APIStub) ContainerGatewayTunnel

func (as *APIStub) ContainerGatewayTunnel(ctx context.Context, options arvados.ContainerGatewayTunnelOptions) (arvados.ConnectionResponse, error)

func (*APIStub) ContainerGet

func (as *APIStub) ContainerGet(ctx context.Context, options arvados.GetOptions) (arvados.Container, error)

func (*APIStub) ContainerList

func (as *APIStub) ContainerList(ctx context.Context, options arvados.ListOptions) (arvados.ContainerList, error)

func (*APIStub) ContainerLock

func (as *APIStub) ContainerLock(ctx context.Context, options arvados.GetOptions) (arvados.Container, error)

func (*APIStub) ContainerPriorityUpdate

func (as *APIStub) ContainerPriorityUpdate(ctx context.Context, options arvados.UpdateOptions) (arvados.Container, error)

func (*APIStub) ContainerRequestContainerStatus

func (as *APIStub) ContainerRequestContainerStatus(ctx context.Context, options arvados.GetOptions) (arvados.ContainerStatus, error)

func (*APIStub) ContainerRequestCreate

func (as *APIStub) ContainerRequestCreate(ctx context.Context, options arvados.CreateOptions) (arvados.ContainerRequest, error)

func (*APIStub) ContainerRequestDelete

func (as *APIStub) ContainerRequestDelete(ctx context.Context, options arvados.DeleteOptions) (arvados.ContainerRequest, error)

func (*APIStub) ContainerRequestGet

func (as *APIStub) ContainerRequestGet(ctx context.Context, options arvados.GetOptions) (arvados.ContainerRequest, error)

func (*APIStub) ContainerRequestList

func (as *APIStub) ContainerRequestList(ctx context.Context, options arvados.ListOptions) (arvados.ContainerRequestList, error)

func (*APIStub) ContainerRequestLog

func (as *APIStub) ContainerRequestLog(ctx context.Context, options arvados.ContainerLogOptions) (http.Handler, error)

func (*APIStub) ContainerRequestUpdate

func (as *APIStub) ContainerRequestUpdate(ctx context.Context, options arvados.UpdateOptions) (arvados.ContainerRequest, error)

func (*APIStub) ContainerSSH

func (*APIStub) ContainerUnlock

func (as *APIStub) ContainerUnlock(ctx context.Context, options arvados.GetOptions) (arvados.Container, error)

func (*APIStub) ContainerUpdate

func (as *APIStub) ContainerUpdate(ctx context.Context, options arvados.UpdateOptions) (arvados.Container, error)

func (*APIStub) DiscoveryDocument

func (as *APIStub) DiscoveryDocument(ctx context.Context) (arvados.DiscoveryDocument, error)

func (*APIStub) GroupContents

func (as *APIStub) GroupContents(ctx context.Context, options arvados.GroupContentsOptions) (arvados.ObjectList, error)

func (*APIStub) GroupCreate

func (as *APIStub) GroupCreate(ctx context.Context, options arvados.CreateOptions) (arvados.Group, error)

func (*APIStub) GroupDelete

func (as *APIStub) GroupDelete(ctx context.Context, options arvados.DeleteOptions) (arvados.Group, error)

func (*APIStub) GroupGet

func (as *APIStub) GroupGet(ctx context.Context, options arvados.GetOptions) (arvados.Group, error)

func (*APIStub) GroupList

func (as *APIStub) GroupList(ctx context.Context, options arvados.ListOptions) (arvados.GroupList, error)

func (*APIStub) GroupShared

func (as *APIStub) GroupShared(ctx context.Context, options arvados.ListOptions) (arvados.GroupList, error)

func (*APIStub) GroupTrash

func (as *APIStub) GroupTrash(ctx context.Context, options arvados.DeleteOptions) (arvados.Group, error)

func (*APIStub) GroupUntrash

func (as *APIStub) GroupUntrash(ctx context.Context, options arvados.UntrashOptions) (arvados.Group, error)

func (*APIStub) GroupUpdate

func (as *APIStub) GroupUpdate(ctx context.Context, options arvados.UpdateOptions) (arvados.Group, error)

func (*APIStub) LinkCreate

func (as *APIStub) LinkCreate(ctx context.Context, options arvados.CreateOptions) (arvados.Link, error)

func (*APIStub) LinkDelete

func (as *APIStub) LinkDelete(ctx context.Context, options arvados.DeleteOptions) (arvados.Link, error)

func (*APIStub) LinkGet

func (as *APIStub) LinkGet(ctx context.Context, options arvados.GetOptions) (arvados.Link, error)
func (as *APIStub) LinkList(ctx context.Context, options arvados.ListOptions) (arvados.LinkList, error)

func (*APIStub) LinkUpdate

func (as *APIStub) LinkUpdate(ctx context.Context, options arvados.UpdateOptions) (arvados.Link, error)

func (*APIStub) LocalLocator

func (as *APIStub) LocalLocator(locator string) (int, error)

func (*APIStub) LogCreate

func (as *APIStub) LogCreate(ctx context.Context, options arvados.CreateOptions) (arvados.Log, error)

func (*APIStub) LogDelete

func (as *APIStub) LogDelete(ctx context.Context, options arvados.DeleteOptions) (arvados.Log, error)

func (*APIStub) LogGet

func (as *APIStub) LogGet(ctx context.Context, options arvados.GetOptions) (arvados.Log, error)

func (*APIStub) LogList

func (as *APIStub) LogList(ctx context.Context, options arvados.ListOptions) (arvados.LogList, error)

func (*APIStub) LogUpdate

func (as *APIStub) LogUpdate(ctx context.Context, options arvados.UpdateOptions) (arvados.Log, error)

func (*APIStub) Login

func (*APIStub) Logout

func (*APIStub) ReadAt

func (as *APIStub) ReadAt(locator string, dst []byte, offset int) (int, error)

func (*APIStub) SysTrashSweep

func (as *APIStub) SysTrashSweep(ctx context.Context, options struct{}) (struct{}, error)

func (*APIStub) UserActivate

func (as *APIStub) UserActivate(ctx context.Context, options arvados.UserActivateOptions) (arvados.User, error)

func (*APIStub) UserAuthenticate

func (*APIStub) UserBatchUpdate

func (as *APIStub) UserBatchUpdate(ctx context.Context, options arvados.UserBatchUpdateOptions) (arvados.UserList, error)

func (*APIStub) UserCreate

func (as *APIStub) UserCreate(ctx context.Context, options arvados.CreateOptions) (arvados.User, error)

func (*APIStub) UserDelete

func (as *APIStub) UserDelete(ctx context.Context, options arvados.DeleteOptions) (arvados.User, error)

func (*APIStub) UserGet

func (as *APIStub) UserGet(ctx context.Context, options arvados.GetOptions) (arvados.User, error)

func (*APIStub) UserGetCurrent

func (as *APIStub) UserGetCurrent(ctx context.Context, options arvados.GetOptions) (arvados.User, error)

func (*APIStub) UserGetSystem

func (as *APIStub) UserGetSystem(ctx context.Context, options arvados.GetOptions) (arvados.User, error)

func (*APIStub) UserList

func (as *APIStub) UserList(ctx context.Context, options arvados.ListOptions) (arvados.UserList, error)

func (*APIStub) UserMerge

func (as *APIStub) UserMerge(ctx context.Context, options arvados.UserMergeOptions) (arvados.User, error)

func (*APIStub) UserSetup

func (as *APIStub) UserSetup(ctx context.Context, options arvados.UserSetupOptions) (map[string]interface{}, error)

func (*APIStub) UserUnsetup

func (as *APIStub) UserUnsetup(ctx context.Context, options arvados.GetOptions) (arvados.User, error)

func (*APIStub) UserUpdate

func (as *APIStub) UserUpdate(ctx context.Context, options arvados.UpdateOptions) (arvados.User, error)

func (*APIStub) VocabularyGet

func (as *APIStub) VocabularyGet(ctx context.Context) (arvados.Vocabulary, error)

type APIStubCall

type APIStubCall struct {
	Method  interface{}
	Context context.Context
	Options interface{}
}

type KeepStub

type KeepStub struct{}

type OIDCProvider

type OIDCProvider struct {
	// expected token request
	ValidCode         string
	ValidClientID     string
	ValidClientSecret string
	// desired response from token endpoint
	AuthEmail          string
	AuthEmailVerified  bool
	AuthName           string
	AuthGivenName      string
	AuthFamilyName     string
	AccessTokenPayload map[string]interface{}
	// end_session_endpoint metadata URL.
	// If nil or empty, not included in discovery.
	// If relative, built from Issuer.URL.
	EndSessionEndpoint *url.URL

	PeopleAPIResponse map[string]interface{}

	// send incoming /userinfo requests to HoldUserInfo (if not
	// nil), then receive from ReleaseUserInfo (if not nil),
	// before responding (these are used to set up races)
	HoldUserInfo        chan *http.Request
	ReleaseUserInfo     chan struct{}
	UserInfoErrorStatus int // if non-zero, return this http status (probably 5xx)

	Issuer    *httptest.Server
	PeopleAPI *httptest.Server
	// contains filtered or unexported fields
}

func NewOIDCProvider

func NewOIDCProvider(c *check.C) *OIDCProvider

func (*OIDCProvider) ValidAccessToken

func (p *OIDCProvider) ValidAccessToken() string

type Proxy

type Proxy struct {
	*httptest.Server

	// URL where the proxy is listening. Same as Server.URL, but
	// with parsing already done for you.
	URL *url.URL

	// A dump of each request that has been proxied.
	RequestDumps [][]byte

	// If non-nil, func will be called on each incoming request
	// before proxying it.
	Director func(*http.Request)
	// contains filtered or unexported fields
}

func NewProxy

func NewProxy(c *check.C, svc arvados.Service) *Proxy

NewProxy returns a new Proxy that saves a dump of each reqeust before forwarding to the indicated service.

func (*Proxy) Wait

func (proxy *Proxy) Wait()

Wait waits until all of the proxied requests that have been sent to Director() have also been recorded in RequestDumps.

type ServerStub

type ServerStub struct {
	Responses map[string]StubResponse
}

ServerStub with response map of path and StubResponse Ex: /arvados/v1/keep_services = arvadostest.StubResponse{200, string(`{}`)}

func (*ServerStub) ServeHTTP

func (stub *ServerStub) ServeHTTP(resp http.ResponseWriter, req *http.Request)

type StubResponse

type StubResponse struct {
	Status int
	Body   string
}

StubResponse struct with response status and body

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL