testutil

package
v1.15.3 Latest Latest
Warning

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

Go to latest
Published: Jan 7, 2023 License: Apache-2.0, MIT Imports: 61 Imported by: 4

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func AllSelector added in v0.4.0

func AllSelector() ipld.Node

AllSelector just returns a new instance of a "whole dag selector"

func AssertEqualFakeDTVoucher added in v0.3.0

func AssertEqualFakeDTVoucher(t *testing.T, expectedRequest datatransfer.Request, request datatransfer.Request)

AssertEqualFakeDTVoucher asserts that two requests have the same fake data transfer voucher

func AssertEqualFakeDTVoucherResult added in v0.4.0

func AssertEqualFakeDTVoucherResult(t *testing.T, expectedResponse datatransfer.Response, response datatransfer.Response)

AssertEqualFakeDTVoucherResult asserts that two responses have the same fake data transfer voucher result

func AssertEqualSelector added in v0.3.0

func AssertEqualSelector(t *testing.T, expectedRequest datatransfer.Request, request datatransfer.Request)

AssertEqualSelector asserts two requests have the same valid selector

func AssertFakeDTVoucher added in v0.3.0

func AssertFakeDTVoucher(t *testing.T, request datatransfer.Request, expected *FakeDTType)

AssertFakeDTVoucher asserts that a data transfer requests contains the expected fake data transfer voucher type

func AssertFakeDTVoucherResult added in v0.4.0

func AssertFakeDTVoucherResult(t *testing.T, response datatransfer.Response, expected *FakeDTType)

AssertFakeDTVoucherResult asserts that a data transfer response contains the expected fake data transfer voucher result type

func AttributeValueInTraceSpan added in v1.12.1

func AttributeValueInTraceSpan(t *testing.T, stub tracetest.SpanStub, attributeName string) attribute.Value

AttributeValueInTraceSpan is a test helper that asserts that at a span contains an attribute with the name provided, and returns the value of that attribute for further inspection.

func ContainsBlock

func ContainsBlock(blks []blocks.Block, block blocks.Block) bool

ContainsBlock returns true if a block is found n a list of blocks

func ContainsPeer

func ContainsPeer(peers []peer.ID, p peer.ID) bool

ContainsPeer returns true if a peer is found n a list of peers.

func EventInTraceSpan added in v1.12.1

func EventInTraceSpan(t *testing.T, stub tracetest.SpanStub, eventName string) trace.Event

EventInTraceSpan is a test helper that asserts that at a span contains an event with the name provided, and returns the value of that event for further inspection.

func GenerateBlocksOfSize

func GenerateBlocksOfSize(n int, size int64) []blocks.Block

GenerateBlocksOfSize generates a series of blocks of the given byte size

func GenerateCids

func GenerateCids(n int) []cid.Cid

GenerateCids produces n content identifiers.

func GeneratePeers

func GeneratePeers(n int) []peer.ID

GeneratePeers creates n peer ids.

func IndexOf

func IndexOf(blks []blocks.Block, c cid.Cid) int

IndexOf returns the index of a given cid in an array of blocks

func LoadUnixFSFile added in v0.5.1

func LoadUnixFSFile(ctx context.Context, t *testing.T, dagService ipldformat.DAGService, fileName string) (ipld.Link, []byte)

LoadUnixFSFile loads a fixtures file into the given DAG Service, returning an ipld.Link for the file and the original file bytes

func NewDTRequest added in v0.4.0

func NewDTRequest(t *testing.T, transferID datatransfer.TransferID) datatransfer.Request

NewDTRequest makes a new DT Request message

func NewDTResponse added in v0.4.0

func NewDTResponse(t *testing.T, transferID datatransfer.TransferID) datatransfer.Response

NewDTResponse makes a new DT Request message

func NewFakeBlockData added in v0.4.0

func NewFakeBlockData() graphsync.BlockData

NewFakeBlockData returns a fake block that matches the block data interface

func NewFakeRequest added in v0.4.0

func NewFakeRequest(id graphsync.RequestID, extensions map[graphsync.ExtensionName]datamodel.Node) graphsync.RequestData

NewFakeRequest returns a fake request that matches the request data interface

func NewFakeResponse added in v0.4.0

func NewFakeResponse(id graphsync.RequestID, extensions map[graphsync.ExtensionName]datamodel.Node, status graphsync.ResponseStatusCode) graphsync.ResponseData

NewFakeResponse returns a fake response that matches the response data interface

func RandomBytes

func RandomBytes(n int64) []byte

RandomBytes returns a byte array of the given size with random values.

func RepeatTraceStrings added in v1.12.1

func RepeatTraceStrings(tmpl string, count int) []string

func SetupTracing added in v1.12.1

func SetupTracing(ctx context.Context) (context.Context, func(t *testing.T) *Collector)

SetupTracing returns a test helper that can will collect all spans within a Collector. The returned helper function should be called at the point in a test where the spans are ready to be analyzed. Any spans not properly completed at that point won't be represented in the Collector.

func StartAndWaitForReady added in v0.9.0

func StartAndWaitForReady(ctx context.Context, t *testing.T, manager datatransfer.Manager)

StartAndWaitForReady is a utility function to start a module and verify it reaches the ready state

func VerifyHasFile added in v0.5.1

func VerifyHasFile(ctx context.Context, t *testing.T, dagService ipldformat.DAGService, link ipld.Link, fileBytes []byte)

VerifyHasFile verifies the presence of the given file with the given ipld.Link and file contents (fileBytes) exists in the given blockstore identified by dagService

Types

type Collector added in v1.12.1

type Collector struct {
	Spans tracetest.SpanStubs
}

Collector can be used as a trace batcher to provide traces to, we collect individual spans and then extract useful data out of them for test assertions

func (*Collector) ExportSpans added in v1.12.1

func (c *Collector) ExportSpans(ctx context.Context, spans []trace.ReadOnlySpan) error

ExportSpans receives the ReadOnlySpans from the batch provider

func (Collector) FindParentSpans added in v1.12.1

func (c Collector) FindParentSpans() tracetest.SpanStubs

FindParentSpans finds spans that have no parents, they are at the top any stack.

func (Collector) FindSpanByTraceString added in v1.12.1

func (c Collector) FindSpanByTraceString(trace string) *tracetest.SpanStub

FindSpanByTraceString is similar to FindSpans but returns a single span identified by its trace string as described in TracesToStrings. Note that this string can also be a partial of a complete trace, e.g. just `"foo(0)"` without any children to fetch the parent span.

func (Collector) FindSpans added in v1.12.1

func (c Collector) FindSpans(name string) tracetest.SpanStubs

FindSpans returns a list of spans by their name

func (Collector) FindSpansWithParent added in v1.12.1

func (c Collector) FindSpansWithParent(stub tracetest.SpanStub) tracetest.SpanStubs

FindSpansWithParent finds spans that are children of the provided span.

func (*Collector) Shutdown added in v1.12.1

func (c *Collector) Shutdown(ctx context.Context) error

Shutdown is a noop, we don't need to do anything fancy

func (Collector) SingleExceptionEvent added in v1.12.1

func (c Collector) SingleExceptionEvent(t *testing.T, trace string, typeRe string, messageRe string, errorCode bool)

SingleExceptionEvent is a test helper that asserts that a span, identified by a trace string (see TracesToStrings) contains a single exception, identified by the type (regexp) and message (regexp). If errorCode is true, then we also assert that the span has an error status code, with the same message (regexp)

func (Collector) TracesToStrings added in v1.12.1

func (c Collector) TracesToStrings(maxDepth int) []string

TracesToString returns an array of all traces represented as strings with each span in the trace identified by name and its number (within the parent span) in parens, separated by a '->'. e.g. `"foo(0)->bar(0)","foo(0)->bar(1)"`

type CustomizedTransfer added in v0.5.1

type CustomizedTransfer struct {
	ChannelID datatransfer.ChannelID
	Voucher   datatransfer.Voucher
}

CustomizedTransfer is just a way to record calls made to transport configurer

type ExceptionEvent added in v1.12.1

type ExceptionEvent struct {
	Type    string
	Message string
}

ExceptionEvent is a simplistic string form representation of an event

func EventAsException added in v1.12.1

func EventAsException(t *testing.T, evt trace.Event) ExceptionEvent

EventAsException is a test helper that converts a trace event to an ExceptionEvent for easier inspection.

type FakeDTType added in v0.3.0

type FakeDTType struct {
	Data string
}

FakeDTType simple fake type for using with registries

func NewFakeDTType added in v0.3.0

func NewFakeDTType() *FakeDTType

NewFakeDTType returns a fake dt type with random data

func (*FakeDTType) MarshalCBOR added in v0.3.0

func (t *FakeDTType) MarshalCBOR(w io.Writer) error

func (FakeDTType) Type added in v0.3.0

Type satisfies registry.Entry

func (*FakeDTType) UnmarshalCBOR added in v0.3.0

func (t *FakeDTType) UnmarshalCBOR(r io.Reader) error

type FakeGraphSync

type FakeGraphSync struct {
	OutgoingRequestHook          graphsync.OnOutgoingRequestHook
	IncomingBlockHook            graphsync.OnIncomingBlockHook
	OutgoingBlockHook            graphsync.OnOutgoingBlockHook
	IncomingRequestQueuedHook    graphsync.OnIncomingRequestQueuedHook
	IncomingRequestHook          graphsync.OnIncomingRequestHook
	CompletedResponseListener    graphsync.OnResponseCompletedListener
	RequestUpdatedHook           graphsync.OnRequestUpdatedHook
	IncomingResponseHook         graphsync.OnIncomingResponseHook
	RequestorCancelledListener   graphsync.OnRequestorCancelledListener
	BlockSentListener            graphsync.OnBlockSentListener
	NetworkErrorListener         graphsync.OnNetworkErrorListener
	ReceiverNetworkErrorListener graphsync.OnReceiverNetworkErrorListener
	// contains filtered or unexported fields
}

FakeGraphSync implements a GraphExchange but does nothing

func NewFakeGraphSync

func NewFakeGraphSync() *FakeGraphSync

NewFakeGraphSync returns a new fake graphsync implementation

func (*FakeGraphSync) AssertCancelReceived added in v1.15.0

func (fgs *FakeGraphSync) AssertCancelReceived(ctx context.Context, t *testing.T) graphsync.RequestID

AssertCancelReceived asserts a requests was cancelled before the context closes (and returns said request id)

func (*FakeGraphSync) AssertDoesNotHavePersistenceOption added in v0.5.1

func (fgs *FakeGraphSync) AssertDoesNotHavePersistenceOption(t *testing.T, name string)

AssertDoesNotHavePersistenceOption verifies that a persistence option is not registered

func (*FakeGraphSync) AssertHasPersistenceOption added in v0.5.1

func (fgs *FakeGraphSync) AssertHasPersistenceOption(t *testing.T, name string) ipld.LinkSystem

AssertHasPersistenceOption verifies that a persistence option was registered

func (*FakeGraphSync) AssertNoCancelReceived added in v1.15.0

func (fgs *FakeGraphSync) AssertNoCancelReceived(t *testing.T)

AssertNoCancelReceived asserts that no requests were cancelled by thiss graphsync implementation

func (*FakeGraphSync) AssertNoPauseReceived added in v1.15.0

func (fgs *FakeGraphSync) AssertNoPauseReceived(t *testing.T)

AssertNoPauseReceived asserts that no pause requests should ahve been received by this graphsync implementation

func (*FakeGraphSync) AssertNoRequestReceived

func (fgs *FakeGraphSync) AssertNoRequestReceived(t *testing.T)

AssertNoRequestReceived asserts that no requests should ahve been received by this graphsync implementation

func (*FakeGraphSync) AssertNoResumeReceived added in v1.15.0

func (fgs *FakeGraphSync) AssertNoResumeReceived(t *testing.T)

AssertNoResumeReceived asserts that no resume requests should ahve been received by this graphsync implementation

func (*FakeGraphSync) AssertPauseReceived added in v1.15.0

func (fgs *FakeGraphSync) AssertPauseReceived(ctx context.Context, t *testing.T) graphsync.RequestID

AssertPauseReceived asserts a pause request should be received before the context closes (and returns said request)

func (*FakeGraphSync) AssertRequestReceived

func (fgs *FakeGraphSync) AssertRequestReceived(ctx context.Context, t *testing.T) ReceivedGraphSyncRequest

AssertRequestReceived asserts a request should be received before the context closes (and returns said request)

func (*FakeGraphSync) AssertResumeReceived added in v1.15.0

func (fgs *FakeGraphSync) AssertResumeReceived(ctx context.Context, t *testing.T) Resume

AssertResumeReceived asserts a resume request should be received before the context closes (and returns said request)

func (*FakeGraphSync) Cancel added in v1.15.0

func (fgs *FakeGraphSync) Cancel(ctx context.Context, requestID graphsync.RequestID) error

func (*FakeGraphSync) LeaveRequestsOpen added in v0.4.0

func (fgs *FakeGraphSync) LeaveRequestsOpen()

func (*FakeGraphSync) Pause added in v1.15.0

func (fgs *FakeGraphSync) Pause(ctx context.Context, requestID graphsync.RequestID) error

Pause pauses a request based on request ID

func (*FakeGraphSync) RegisterBlockSentListener added in v0.9.0

func (fgs *FakeGraphSync) RegisterBlockSentListener(listener graphsync.OnBlockSentListener) graphsync.UnregisterHookFunc

RegisterBlockSentListener adds a listener on the responder as blocks go out

func (*FakeGraphSync) RegisterCompletedResponseListener

func (fgs *FakeGraphSync) RegisterCompletedResponseListener(listener graphsync.OnResponseCompletedListener) graphsync.UnregisterHookFunc

RegisterCompletedResponseListener adds a listener on the responder for completed responses

func (*FakeGraphSync) RegisterIncomingBlockHook added in v0.4.0

func (fgs *FakeGraphSync) RegisterIncomingBlockHook(hook graphsync.OnIncomingBlockHook) graphsync.UnregisterHookFunc

RegisterIncomingBlockHook adds a hook that runs every time a block is received by the requestor

func (*FakeGraphSync) RegisterIncomingRequestHook

func (fgs *FakeGraphSync) RegisterIncomingRequestHook(hook graphsync.OnIncomingRequestHook) graphsync.UnregisterHookFunc

RegisterIncomingRequestHook adds a hook that runs when a request is received

func (*FakeGraphSync) RegisterIncomingRequestQueuedHook added in v1.7.0

func (fgs *FakeGraphSync) RegisterIncomingRequestQueuedHook(hook graphsync.OnIncomingRequestQueuedHook) graphsync.UnregisterHookFunc

RegisterIncomingRequestQueuedHook adds a hook that runs when an incoming GS request is queued.

func (*FakeGraphSync) RegisterIncomingResponseHook

func (fgs *FakeGraphSync) RegisterIncomingResponseHook(hook graphsync.OnIncomingResponseHook) graphsync.UnregisterHookFunc

RegisterIncomingResponseHook adds a hook that runs when a response is received

func (*FakeGraphSync) RegisterNetworkErrorListener added in v0.9.0

func (fgs *FakeGraphSync) RegisterNetworkErrorListener(listener graphsync.OnNetworkErrorListener) graphsync.UnregisterHookFunc

RegisterNetworkErrorListener adds a listener on the responder as blocks go out

func (*FakeGraphSync) RegisterOutgoingBlockHook

func (fgs *FakeGraphSync) RegisterOutgoingBlockHook(hook graphsync.OnOutgoingBlockHook) graphsync.UnregisterHookFunc

RegisterOutgoingBlockHook adds a hook that runs every time a block is sent from a responder

func (*FakeGraphSync) RegisterOutgoingRequestHook

func (fgs *FakeGraphSync) RegisterOutgoingRequestHook(hook graphsync.OnOutgoingRequestHook) graphsync.UnregisterHookFunc

RegisterOutgoingRequestHook adds a hook that runs immediately prior to sending a new request

func (*FakeGraphSync) RegisterOutgoingRequestProcessingListener added in v1.11.7

func (fgs *FakeGraphSync) RegisterOutgoingRequestProcessingListener(graphsync.OnOutgoingRequestProcessingListener) graphsync.UnregisterHookFunc

func (*FakeGraphSync) RegisterPersistenceOption

func (fgs *FakeGraphSync) RegisterPersistenceOption(name string, lsys ipld.LinkSystem) error

RegisterPersistenceOption registers an alternate loader/storer combo that can be substituted for the default

func (*FakeGraphSync) RegisterReceiverNetworkErrorListener added in v1.2.8

func (fgs *FakeGraphSync) RegisterReceiverNetworkErrorListener(listener graphsync.OnReceiverNetworkErrorListener) graphsync.UnregisterHookFunc

RegisterNetworkErrorListener adds a listener on the responder as blocks go out

func (*FakeGraphSync) RegisterRequestUpdatedHook

func (fgs *FakeGraphSync) RegisterRequestUpdatedHook(hook graphsync.OnRequestUpdatedHook) graphsync.UnregisterHookFunc

RegisterRequestUpdatedHook adds a hook that runs every time an update to a request is received

func (*FakeGraphSync) RegisterRequestorCancelledListener added in v0.4.0

func (fgs *FakeGraphSync) RegisterRequestorCancelledListener(listener graphsync.OnRequestorCancelledListener) graphsync.UnregisterHookFunc

RegisterRequestorCancelledListener adds a listener on the responder for requests cancelled by the requestor

func (*FakeGraphSync) Request

func (fgs *FakeGraphSync) Request(ctx context.Context, p peer.ID, root ipld.Link, selector ipld.Node, extensions ...graphsync.ExtensionData) (<-chan graphsync.ResponseProgress, <-chan error)

Request initiates a new GraphSync request to the given peer using the given selector spec.

func (*FakeGraphSync) SendUpdate added in v1.15.0

func (fgs *FakeGraphSync) SendUpdate(ctx context.Context, id graphsync.RequestID, extensions ...graphsync.ExtensionData) error

func (*FakeGraphSync) Stats added in v1.11.6

func (fgs *FakeGraphSync) Stats() graphsync.Stats

func (*FakeGraphSync) Unpause added in v1.15.0

func (fgs *FakeGraphSync) Unpause(ctx context.Context, requestID graphsync.RequestID, extensions ...graphsync.ExtensionData) error

Unpause unpauses a request that was paused in a block hook based on request ID

func (*FakeGraphSync) UnregisterPersistenceOption added in v0.5.1

func (fgs *FakeGraphSync) UnregisterPersistenceOption(name string) error

UnregisterPersistenceOption unregisters an existing loader/storer combo

type FakeIncomingBlockHookActions added in v0.4.0

type FakeIncomingBlockHookActions struct {
	TerminationError error
	SentExtensions   []graphsync.ExtensionData
	Paused           bool
}

func (*FakeIncomingBlockHookActions) PauseRequest added in v0.4.0

func (fa *FakeIncomingBlockHookActions) PauseRequest()

func (*FakeIncomingBlockHookActions) TerminateWithError added in v0.4.0

func (fa *FakeIncomingBlockHookActions) TerminateWithError(err error)

func (*FakeIncomingBlockHookActions) UpdateRequestWithExtensions added in v0.4.0

func (fa *FakeIncomingBlockHookActions) UpdateRequestWithExtensions(extensions ...graphsync.ExtensionData)

type FakeIncomingRequestHookActions added in v0.4.0

type FakeIncomingRequestHookActions struct {
	PersistenceOption string
	TerminationError  error
	Validated         bool
	SentExtensions    []graphsync.ExtensionData
	Paused            bool
}

func (*FakeIncomingRequestHookActions) PauseResponse added in v0.4.0

func (fa *FakeIncomingRequestHookActions) PauseResponse()

func (*FakeIncomingRequestHookActions) SendExtensionData added in v0.4.0

func (fa *FakeIncomingRequestHookActions) SendExtensionData(ext graphsync.ExtensionData)

func (*FakeIncomingRequestHookActions) TerminateWithError added in v0.4.0

func (fa *FakeIncomingRequestHookActions) TerminateWithError(err error)

func (*FakeIncomingRequestHookActions) UseLinkTargetNodePrototypeChooser added in v0.6.5

func (fa *FakeIncomingRequestHookActions) UseLinkTargetNodePrototypeChooser(_ traversal.LinkTargetNodePrototypeChooser)

func (*FakeIncomingRequestHookActions) UsePersistenceOption added in v0.4.0

func (fa *FakeIncomingRequestHookActions) UsePersistenceOption(name string)

func (*FakeIncomingRequestHookActions) ValidateRequest added in v0.4.0

func (fa *FakeIncomingRequestHookActions) ValidateRequest()

type FakeIncomingResponseHookActions added in v0.4.0

type FakeIncomingResponseHookActions struct {
	TerminationError error
	SentExtensions   []graphsync.ExtensionData
}

func (*FakeIncomingResponseHookActions) TerminateWithError added in v0.4.0

func (fa *FakeIncomingResponseHookActions) TerminateWithError(err error)

func (*FakeIncomingResponseHookActions) UpdateRequestWithExtensions added in v0.4.0

func (fa *FakeIncomingResponseHookActions) UpdateRequestWithExtensions(extensions ...graphsync.ExtensionData)

type FakeNetwork added in v0.4.0

type FakeNetwork struct {
	PeerID       peer.ID
	SentMessages []FakeSentMessage
	Delegate     network.Receiver
}

FakeNetwork is a network that satisfies the DataTransferNetwork interface but does not actually do anything

func NewFakeNetwork added in v0.4.0

func NewFakeNetwork(id peer.ID) *FakeNetwork

NewFakeNetwork returns a new fake data transfer network instance

func (*FakeNetwork) ConnectTo added in v0.4.0

func (fn *FakeNetwork) ConnectTo(_ context.Context, _ peer.ID) error

ConnectTo establishes a connection to the given peer

func (*FakeNetwork) ConnectWithRetry added in v1.5.0

func (fn *FakeNetwork) ConnectWithRetry(ctx context.Context, p peer.ID) error

func (*FakeNetwork) ID added in v0.4.0

func (fn *FakeNetwork) ID() peer.ID

ID returns a stubbed id for host of this network

func (*FakeNetwork) Protect added in v0.4.0

func (fn *FakeNetwork) Protect(id peer.ID, tag string)

Protect does nothing on the fake network

func (*FakeNetwork) Protocol added in v1.11.0

func (fn *FakeNetwork) Protocol(ctx context.Context, id peer.ID) (protocol.ID, error)

func (*FakeNetwork) SendMessage added in v0.4.0

func (fn *FakeNetwork) SendMessage(ctx context.Context, p peer.ID, m datatransfer.Message) error

SendMessage sends a GraphSync message to a peer.

func (*FakeNetwork) SetDelegate added in v0.4.0

func (fn *FakeNetwork) SetDelegate(receiver network.Receiver)

SetDelegate registers the Reciver to handle messages received from the network.

func (*FakeNetwork) Unprotect added in v0.4.0

func (fn *FakeNetwork) Unprotect(id peer.ID, tag string) bool

Unprotect does nothing on the fake network

type FakeOutgoingBlockHookActions added in v0.4.0

type FakeOutgoingBlockHookActions struct {
	TerminationError error
	SentExtensions   []graphsync.ExtensionData
	Paused           bool
}

func (*FakeOutgoingBlockHookActions) PauseResponse added in v0.4.0

func (fa *FakeOutgoingBlockHookActions) PauseResponse()

func (*FakeOutgoingBlockHookActions) SendExtensionData added in v0.4.0

func (fa *FakeOutgoingBlockHookActions) SendExtensionData(extension graphsync.ExtensionData)

func (*FakeOutgoingBlockHookActions) TerminateWithError added in v0.4.0

func (fa *FakeOutgoingBlockHookActions) TerminateWithError(err error)

type FakeOutgoingRequestHookActions added in v0.4.0

type FakeOutgoingRequestHookActions struct {
	PersistenceOption string
}

func (*FakeOutgoingRequestHookActions) UseLinkTargetNodePrototypeChooser added in v0.6.5

func (fa *FakeOutgoingRequestHookActions) UseLinkTargetNodePrototypeChooser(_ traversal.LinkTargetNodePrototypeChooser)

func (*FakeOutgoingRequestHookActions) UsePersistenceOption added in v0.4.0

func (fa *FakeOutgoingRequestHookActions) UsePersistenceOption(name string)

type FakeRequestQueuedHookActions added in v1.12.1

type FakeRequestQueuedHookActions struct {
	// contains filtered or unexported fields
}

func (*FakeRequestQueuedHookActions) AugmentContext added in v1.12.1

func (fa *FakeRequestQueuedHookActions) AugmentContext(ctxAugFunc func(reqCtx context.Context) context.Context)

type FakeRequestUpdatedActions added in v0.4.0

type FakeRequestUpdatedActions struct {
	TerminationError error
	SentExtensions   []graphsync.ExtensionData
	Unpaused         bool
}

func (*FakeRequestUpdatedActions) SendExtensionData added in v0.4.0

func (fa *FakeRequestUpdatedActions) SendExtensionData(extension graphsync.ExtensionData)

func (*FakeRequestUpdatedActions) TerminateWithError added in v0.4.0

func (fa *FakeRequestUpdatedActions) TerminateWithError(err error)

func (*FakeRequestUpdatedActions) UnpauseResponse added in v0.4.0

func (fa *FakeRequestUpdatedActions) UnpauseResponse()

type FakeSentMessage added in v0.4.0

type FakeSentMessage struct {
	PeerID  peer.ID
	Message datatransfer.Message
}

FakeSentMessage is a recording of a message sent on the FakeNetwork

type FakeTransport added in v0.4.0

type FakeTransport struct {
	OpenedChannels      []OpenedChannel
	OpenChannelErr      error
	ClosedChannels      []datatransfer.ChannelID
	CloseChannelErr     error
	PausedChannels      []datatransfer.ChannelID
	PauseChannelErr     error
	ResumedChannels     []ResumedChannel
	ResumeChannelErr    error
	CleanedUpChannels   []datatransfer.ChannelID
	CustomizedTransfers []CustomizedTransfer
	EventHandler        datatransfer.EventsHandler
	SetEventHandlerErr  error
}

FakeTransport is a fake transport with mocked results

func NewFakeTransport added in v0.4.0

func NewFakeTransport() *FakeTransport

NewFakeTransport returns a new instance of FakeTransport

func (*FakeTransport) CleanupChannel added in v0.4.0

func (ft *FakeTransport) CleanupChannel(chid datatransfer.ChannelID)

CleanupChannel cleans up the given channel

func (*FakeTransport) CloseChannel added in v0.4.0

func (ft *FakeTransport) CloseChannel(ctx context.Context, chid datatransfer.ChannelID) error

CloseChannel closes the given channel

func (*FakeTransport) OpenChannel added in v0.4.0

func (ft *FakeTransport) OpenChannel(ctx context.Context, dataSender peer.ID, channelID datatransfer.ChannelID, root ipld.Link, stor ipld.Node, channel datatransfer.ChannelState, msg datatransfer.Message) error

OpenChannel initiates an outgoing request for the other peer to send data to us on this channel Note: from a data transfer symantic standpoint, it doesn't matter if the request is push or pull -- OpenChannel is called by the party that is intending to receive data

func (*FakeTransport) PauseChannel added in v0.4.0

func (ft *FakeTransport) PauseChannel(ctx context.Context, chid datatransfer.ChannelID) error

PauseChannel paused the given channel ID

func (*FakeTransport) RecordCustomizedTransfer added in v0.5.1

func (ft *FakeTransport) RecordCustomizedTransfer(chid datatransfer.ChannelID, voucher datatransfer.Voucher)

func (*FakeTransport) ResumeChannel added in v0.4.0

func (ft *FakeTransport) ResumeChannel(ctx context.Context, msg datatransfer.Message, chid datatransfer.ChannelID) error

ResumeChannel resumes the given channel

func (*FakeTransport) SetEventHandler added in v0.4.0

func (ft *FakeTransport) SetEventHandler(events datatransfer.EventsHandler) error

SetEventHandler sets the handler for events on channels

func (*FakeTransport) Shutdown added in v1.0.1

func (ft *FakeTransport) Shutdown(ctx context.Context) error

type GraphsyncTestingData

type GraphsyncTestingData struct {
	Ctx         context.Context
	Mn          mocknet.Mocknet
	DtDs1       datastore.Batching
	DtDs2       datastore.Batching
	Bs1         bstore.Blockstore
	Bs2         bstore.Blockstore
	DagService1 ipldformat.DAGService
	DagService2 ipldformat.DAGService
	LinkSystem1 ipld.LinkSystem
	LinkSystem2 ipld.LinkSystem
	Host1       host.Host
	Host2       host.Host
	GsNet1      gsnet.GraphSyncNetwork
	GsNet2      gsnet.GraphSyncNetwork
	DtNet1      network.DataTransferNetwork
	DtNet2      network.DataTransferNetwork
	AllSelector ipld.Node
	OrigBytes   []byte
	TempDir1    string
	TempDir2    string
	// contains filtered or unexported fields
}

GraphsyncTestingData is a test harness for testing data transfer on top of graphsync

func NewGraphsyncTestingData

func NewGraphsyncTestingData(ctx context.Context, t *testing.T, host1Protocols []protocol.ID, host2Protocols []protocol.ID) *GraphsyncTestingData

NewGraphsyncTestingData returns a new GraphsyncTestingData instance

func (*GraphsyncTestingData) LoadUnixFSFile

func (gsData *GraphsyncTestingData) LoadUnixFSFile(t *testing.T, useSecondNode bool) ipld.Link

LoadUnixFSFile loads a fixtures file we can test dag transfer with

func (*GraphsyncTestingData) SetupGSTransportHost1 added in v0.4.0

func (gsData *GraphsyncTestingData) SetupGSTransportHost1(opts ...gstransport.Option) datatransfer.Transport

SetupGSTransportHost1 sets up a new grapshync transport over real graphsync on the first host

func (*GraphsyncTestingData) SetupGSTransportHost2 added in v0.4.0

func (gsData *GraphsyncTestingData) SetupGSTransportHost2(opts ...gstransport.Option) datatransfer.Transport

SetupGSTransportHost2 sets up a new grapshync transport over real graphsync on the second host

func (*GraphsyncTestingData) SetupGraphsyncHost1

func (gsData *GraphsyncTestingData) SetupGraphsyncHost1() graphsync.GraphExchange

SetupGraphsyncHost1 sets up a new, real graphsync instance on top of the first host

func (*GraphsyncTestingData) SetupGraphsyncHost2

func (gsData *GraphsyncTestingData) SetupGraphsyncHost2() graphsync.GraphExchange

SetupGraphsyncHost2 sets up a new, real graphsync instance on top of the second host

func (*GraphsyncTestingData) VerifyFileTransferred

func (gsData *GraphsyncTestingData) VerifyFileTransferred(t *testing.T, link ipld.Link, useSecondNode bool)

VerifyFileTransferred verifies all of the file was transfer to the given node

type OpenedChannel added in v0.4.0

type OpenedChannel struct {
	DataSender peer.ID
	ChannelID  datatransfer.ChannelID
	Root       ipld.Link
	Selector   ipld.Node
	Channel    datatransfer.ChannelState
	Message    datatransfer.Message
}

OpenedChannel records a call to open a channel

type ReceivedGraphSyncRequest

type ReceivedGraphSyncRequest struct {
	Ctx             context.Context
	P               peer.ID
	Root            ipld.Link
	Selector        ipld.Node
	Extensions      []graphsync.ExtensionData
	ResponseChan    chan graphsync.ResponseProgress
	ResponseErrChan chan error
}

ReceivedGraphSyncRequest contains data about a received graphsync request

func (ReceivedGraphSyncRequest) DTMessage added in v0.4.0

func (gsRequest ReceivedGraphSyncRequest) DTMessage(t *testing.T) datatransfer.Message

DTMessage returns the data transfer message among the graphsync extensions sent with this request

type ReceivedValidation added in v0.4.0

type ReceivedValidation struct {
	IsPull   bool
	Other    peer.ID
	Voucher  datatransfer.Voucher
	BaseCid  cid.Cid
	Selector ipld.Node
}

ReceivedValidation records a call to either ValidatePush or ValidatePull

type Resume added in v1.15.0

type Resume struct {
	RequestID  graphsync.RequestID
	Extensions []graphsync.ExtensionData
}

func (Resume) DTMessage added in v1.15.0

func (resume Resume) DTMessage(t *testing.T) datatransfer.Message

DTMessage returns the data transfer message among the graphsync extensions sent with this request

type ResumedChannel added in v0.4.0

type ResumedChannel struct {
	ChannelID datatransfer.ChannelID
	Message   datatransfer.Message
}

ResumedChannel records a call to resume a channel

type StubbedRevalidator added in v0.4.0

type StubbedRevalidator struct {
	// contains filtered or unexported fields
}

StubbedRevalidator is a revalidator that returns predictable results

func NewStubbedRevalidator added in v0.4.0

func NewStubbedRevalidator() *StubbedRevalidator

NewStubbedRevalidator returns a new instance of a stubbed revalidator

func (*StubbedRevalidator) ExpectErrorComplete added in v0.4.0

func (srv *StubbedRevalidator) ExpectErrorComplete()

ExpectErrorComplete expects OnComplete to error

func (*StubbedRevalidator) ExpectErrorPullCheck added in v0.4.0

func (srv *StubbedRevalidator) ExpectErrorPullCheck()

ExpectErrorPullCheck expects OnPullDataSent to error

func (*StubbedRevalidator) ExpectErrorPushCheck added in v0.4.0

func (srv *StubbedRevalidator) ExpectErrorPushCheck()

ExpectErrorPushCheck expects OnPushDataReceived to error

func (*StubbedRevalidator) ExpectErrorRevalidation added in v0.4.0

func (srv *StubbedRevalidator) ExpectErrorRevalidation()

ExpectErrorRevalidation expects Revalidate to error

func (*StubbedRevalidator) ExpectPauseComplete added in v0.4.0

func (srv *StubbedRevalidator) ExpectPauseComplete()

ExpectPauseComplete expects OnComplete to pause

func (*StubbedRevalidator) ExpectPausePullCheck added in v0.4.0

func (srv *StubbedRevalidator) ExpectPausePullCheck()

ExpectPausePullCheck expects OnPullDataSent to pause

func (*StubbedRevalidator) ExpectPausePushCheck added in v0.4.0

func (srv *StubbedRevalidator) ExpectPausePushCheck()

ExpectPausePushCheck expects OnPushDataReceived to pause

func (*StubbedRevalidator) ExpectPauseRevalidation added in v0.4.0

func (srv *StubbedRevalidator) ExpectPauseRevalidation()

ExpectPauseRevalidation expects Revalidate to pause

func (*StubbedRevalidator) ExpectSuccessComplete added in v0.4.0

func (srv *StubbedRevalidator) ExpectSuccessComplete()

ExpectSuccessComplete expects OnComplete to succeed

func (*StubbedRevalidator) ExpectSuccessErrResume added in v1.4.2

func (srv *StubbedRevalidator) ExpectSuccessErrResume()

ExpectSuccessErrResume configures Revalidate to return an ErrResume and expect a Revalidate call.

func (*StubbedRevalidator) ExpectSuccessPullCheck added in v0.4.0

func (srv *StubbedRevalidator) ExpectSuccessPullCheck()

ExpectSuccessPullCheck expects OnPullDataSent to succeed

func (*StubbedRevalidator) ExpectSuccessPushCheck added in v0.4.0

func (srv *StubbedRevalidator) ExpectSuccessPushCheck()

ExpectSuccessPushCheck expects OnPushDataReceived to succeed

func (*StubbedRevalidator) ExpectSuccessRevalidation added in v0.4.0

func (srv *StubbedRevalidator) ExpectSuccessRevalidation()

ExpectSuccessRevalidation expects Revalidate to succeed

func (*StubbedRevalidator) OnComplete added in v0.4.0

OnComplete returns a stubbed result for checking when the requests completes

func (*StubbedRevalidator) OnPullDataSent added in v0.4.0

func (srv *StubbedRevalidator) OnPullDataSent(chid datatransfer.ChannelID, additionalBytesSent uint64) (bool, datatransfer.VoucherResult, error)

OnPullDataSent returns a stubbed result for checking when pull data is sent

func (*StubbedRevalidator) OnPushDataReceived added in v0.4.0

func (srv *StubbedRevalidator) OnPushDataReceived(chid datatransfer.ChannelID, additionalBytesReceived uint64) (bool, datatransfer.VoucherResult, error)

OnPushDataReceived returns a stubbed result for checking when push data is received

func (*StubbedRevalidator) Revalidate added in v0.4.0

Revalidate returns a stubbed result for revalidating a request

func (*StubbedRevalidator) StubCheckResult added in v0.4.0

func (srv *StubbedRevalidator) StubCheckResult(voucherResult datatransfer.VoucherResult)

StubCheckResult returns the given voucher result when a call is made to OnPullDataSent, OnPushDataReceived, or OnComplete

func (*StubbedRevalidator) StubErrorComplete added in v0.4.0

func (srv *StubbedRevalidator) StubErrorComplete()

StubErrorComplete sets OnComplete to error

func (*StubbedRevalidator) StubErrorPullCheck added in v0.4.0

func (srv *StubbedRevalidator) StubErrorPullCheck()

StubErrorPullCheck sets OnPullDataSent to error

func (*StubbedRevalidator) StubErrorPushCheck added in v0.4.0

func (srv *StubbedRevalidator) StubErrorPushCheck()

StubErrorPushCheck sets OnPushDataReceived to error

func (*StubbedRevalidator) StubErrorRevalidation added in v0.4.0

func (srv *StubbedRevalidator) StubErrorRevalidation()

StubErrorRevalidation sets Revalidate to error

func (*StubbedRevalidator) StubPauseComplete added in v0.4.0

func (srv *StubbedRevalidator) StubPauseComplete()

StubPauseComplete sets OnComplete to pause

func (*StubbedRevalidator) StubPausePullCheck added in v0.4.0

func (srv *StubbedRevalidator) StubPausePullCheck()

StubPausePullCheck sets OnPullDataSent to pause

func (*StubbedRevalidator) StubPausePushCheck added in v0.4.0

func (srv *StubbedRevalidator) StubPausePushCheck()

StubPausePushCheck sets OnPushDataReceived to pause

func (*StubbedRevalidator) StubPauseRevalidation added in v0.4.0

func (srv *StubbedRevalidator) StubPauseRevalidation()

StubPauseRevalidation sets Revalidate to pause

func (*StubbedRevalidator) StubRevalidationResult added in v0.4.0

func (srv *StubbedRevalidator) StubRevalidationResult(voucherResult datatransfer.VoucherResult)

StubRevalidationResult returns the given voucher result when a call is made to Revalidate

func (*StubbedRevalidator) StubSuccessComplete added in v0.4.0

func (srv *StubbedRevalidator) StubSuccessComplete()

StubSuccessComplete sets OnComplete to succeed

func (*StubbedRevalidator) StubSuccessPullCheck added in v0.4.0

func (srv *StubbedRevalidator) StubSuccessPullCheck()

StubSuccessPullCheck sets OnPullDataSent to succeed

func (*StubbedRevalidator) StubSuccessPushCheck added in v0.4.0

func (srv *StubbedRevalidator) StubSuccessPushCheck()

StubSuccessPushCheck sets OnPushDataReceived to succeed

func (*StubbedRevalidator) StubSuccessRevalidation added in v0.4.0

func (srv *StubbedRevalidator) StubSuccessRevalidation()

StubSuccessRevalidation sets Revalidate to succeed

func (*StubbedRevalidator) VerifyExpectations added in v0.4.0

func (srv *StubbedRevalidator) VerifyExpectations(t *testing.T)

VerifyExpectations verifies the specified calls were made

type StubbedValidator added in v0.4.0

type StubbedValidator struct {
	ValidationsReceived []ReceivedValidation
	// contains filtered or unexported fields
}

StubbedValidator is a validator that returns predictable results

func NewStubbedValidator added in v0.4.0

func NewStubbedValidator() *StubbedValidator

NewStubbedValidator returns a new instance of a stubbed validator

func (*StubbedValidator) ExpectErrorPull added in v0.4.0

func (sv *StubbedValidator) ExpectErrorPull()

ExpectErrorPull expects ValidatePull to error

func (*StubbedValidator) ExpectErrorPush added in v0.4.0

func (sv *StubbedValidator) ExpectErrorPush()

ExpectErrorPush expects ValidatePush to error

func (*StubbedValidator) ExpectPausePull added in v0.4.0

func (sv *StubbedValidator) ExpectPausePull()

ExpectPausePull expects ValidatePull to pause

func (*StubbedValidator) ExpectPausePush added in v0.4.0

func (sv *StubbedValidator) ExpectPausePush()

ExpectPausePush expects ValidatePush to pause

func (*StubbedValidator) ExpectSuccessPull added in v0.4.0

func (sv *StubbedValidator) ExpectSuccessPull()

ExpectSuccessPull expects ValidatePull to error

func (*StubbedValidator) ExpectSuccessPush added in v0.4.0

func (sv *StubbedValidator) ExpectSuccessPush()

ExpectSuccessPush expects ValidatePush to error

func (*StubbedValidator) StubErrorPull added in v0.4.0

func (sv *StubbedValidator) StubErrorPull()

StubErrorPull sets ValidatePull to error

func (*StubbedValidator) StubErrorPush added in v0.4.0

func (sv *StubbedValidator) StubErrorPush()

StubErrorPush sets ValidatePush to error

func (*StubbedValidator) StubPausePull added in v0.4.0

func (sv *StubbedValidator) StubPausePull()

StubPausePull sets ValidatePull to pause

func (*StubbedValidator) StubPausePush added in v0.4.0

func (sv *StubbedValidator) StubPausePush()

StubPausePush sets ValidatePush to pause

func (*StubbedValidator) StubResult added in v0.4.0

func (sv *StubbedValidator) StubResult(voucherResult datatransfer.VoucherResult)

StubResult returns thes given voucher result when a validate call is made

func (*StubbedValidator) StubSuccessPull added in v0.4.0

func (sv *StubbedValidator) StubSuccessPull()

StubSuccessPull sets ValidatePull to succeed

func (*StubbedValidator) StubSuccessPush added in v0.4.0

func (sv *StubbedValidator) StubSuccessPush()

StubSuccessPush sets ValidatePush to succeed

func (*StubbedValidator) ValidatePull added in v0.4.0

func (sv *StubbedValidator) ValidatePull(
	isRestart bool,
	chid datatransfer.ChannelID,
	receiver peer.ID,
	voucher datatransfer.Voucher,
	baseCid cid.Cid,
	selector ipld.Node) (datatransfer.VoucherResult, error)

ValidatePull returns a stubbed result for a pull validation

func (*StubbedValidator) ValidatePush added in v0.4.0

func (sv *StubbedValidator) ValidatePush(
	isRestart bool,
	chid datatransfer.ChannelID,
	sender peer.ID,
	voucher datatransfer.Voucher,
	baseCid cid.Cid,
	selector ipld.Node) (datatransfer.VoucherResult, error)

ValidatePush returns a stubbed result for a push validation

func (*StubbedValidator) VerifyExpectations added in v0.4.0

func (sv *StubbedValidator) VerifyExpectations(t *testing.T)

VerifyExpectations verifies the specified calls were made

type Update added in v1.15.0

type Update struct {
	RequestID  graphsync.RequestID
	Extensions []graphsync.ExtensionData
}

func (Update) DTMessage added in v1.15.0

func (update Update) DTMessage(t *testing.T) datatransfer.Message

DTMessage returns the data transfer message among the graphsync extensions sent with this request

Jump to

Keyboard shortcuts

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