123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 |
- package internal
- import (
- "io"
- "github.com/pkg/errors"
- "gopkg.in/src-d/go-git.v4/plumbing"
- "gopkg.in/src-d/go-git.v4/plumbing/object"
- )
- type dummyIO struct {
- }
- func (dummyIO) Read(p []byte) (int, error) {
- return 0, io.EOF
- }
- func (dummyIO) Write(p []byte) (int, error) {
- return len(p), nil
- }
- func (dummyIO) Close() error {
- return nil
- }
- type dummyEncodedObject struct {
- FakeHash plumbing.Hash
- Fails bool
- }
- func (obj dummyEncodedObject) Hash() plumbing.Hash {
- return obj.FakeHash
- }
- func (obj dummyEncodedObject) Type() plumbing.ObjectType {
- return plumbing.BlobObject
- }
- func (obj dummyEncodedObject) SetType(plumbing.ObjectType) {
- }
- func (obj dummyEncodedObject) Size() int64 {
- return 0
- }
- func (obj dummyEncodedObject) SetSize(int64) {
- }
- func (obj dummyEncodedObject) Reader() (io.ReadCloser, error) {
- if !obj.Fails {
- return dummyIO{}, nil
- }
- return nil, errors.New("dummy failure")
- }
- func (obj dummyEncodedObject) Writer() (io.WriteCloser, error) {
- if !obj.Fails {
- return dummyIO{}, nil
- }
- return nil, errors.New("dummy failure")
- }
- // CreateDummyBlob constructs a fake object.Blob with empty contents.
- // Optionally returns an error if read or written.
- func CreateDummyBlob(hash plumbing.Hash, fails ...bool) (*object.Blob, error) {
- if len(fails) > 1 {
- panic("invalid usage of CreateDummyBlob() - this is a bug")
- }
- var realFails bool
- if len(fails) == 1 {
- realFails = fails[0]
- }
- return object.DecodeBlob(dummyEncodedObject{FakeHash: hash, Fails: realFails})
- }
|